Reaction Intermediates
When characterizing a surface in the context of a specific reaction, calculating adsorption energies for all of the reaction intermediates is often important.
Here, AutoCat has default structures for adsorbates of both the oxygen reduction reaction (ORR) and nitrogen reduction reaction (NRR) intermediates.
The names of all of the reaction intermediates can be imported and fed directly into AutoCat functions:
>>> from autocat.data.intermediates import ORR_INTERMEDIATE_NAMES
>>> from autocat.data.intermediates import NRR_INTERMEDIATE_NAMES
>>> from autocat.surface import generate_surface_structures
>>> from autocat.utils import extract_structures
>>> from autocat.adsorption import generate_adsorbed_structures
>>> pt_dict = generate_surface_structures(["Pt"])
>>> pt_struct = extract_structures(pt_dict)[0]
>>> orr_structs = generate_adsorbed_structures(
... surface=pt_struct,
... adsorbates=ORR_INTERMEDIATE_NAMES,
... use_all_sites=True
... )
>>> nrr_structs = generate_adsorbed_structures(
... surface=pt_struct,
... ads=NRR_INTERMEDIATE_NAMES,
... use_all_sites=True
... )
orr_structs
and nrr_structs
have all of the corresponding
intermediates at every identified unique surface site.
Alternatively, if you would like to access the
ase.Atoms
objects for the intermediates directly,
they can be imported as a dict
:
>>> from autocat.data.intermediates import ORR_MOLS
>>> from autocat.data.intermediates import NRR_MOLS
ORR Intermediates:
OOH*, O*, OH*
NRR Intermediates:
NNH*, NNH\(_2\)*, N*, NH*, NH\(_2\)*, NHNH*, NHNH\(_2\)*, NH\(_2\)NH\(_2\)*