ARC's API - ReactionMechanismGenerator/ARC GitHub Wiki

ARC's API (application programming interface)

ARC (arc/main.py)

class ARC(input_dict=None, project=None, arc_species_list=None, arc_rxn_list=None, level_of_theory='',
conformer_level='', composite_method='', opt_level='', freq_level='', sp_level='', scan_level='', ts_guess_level='',
fine=True, generate_conformers=True, scan_rotors=True, use_bac=True, model_chemistry='', ess_settings=None,
initial_trsh=None, t_min=None, t_max=None, t_count=None, verbose=logging.INFO, project_directory=None)
Attribute Type Description
project str The project's name. Used for naming the working directory.
project_directory str The path to the project directory
arc_species_list list A list of ARCSpecies objects (each entry should represent either a stable well, TS guesses are given in the arc_rxn_list)
arc_rxn_list list A list of ARCReaction objects
level_of_theory str Either sp//geometry levels or a composite method, e.g. 'CBS-QB3', 'CCSD(T)-F12a/aug-cc-pVTZ//B3LYP/6-311++G(3df,3pd)'...
conformer_level str Level of theory for conformer searches
ts_guess_level str Level of theory for comparisons of TS guesses between different methods
composite_method str Composite method
opt_level str Level of theory for geometry optimization
freq_level str Level of theory for frequency calculations
sp_level str Level of theory for single point calculations
scan_level str Level of theory for rotor scans
fine bool Whether or not to use a fine grid for opt jobs (spawns an additional job)
generate_conformers bool Whether or not to generate conformers when an initial geometry is given
scan_rotors bool Whether or not to perform rotor scans
use_bac bool Whether or not to use bond additivity corrections for thermo calculations
model_chemistry list The model chemistry in Arkane for energy corrections (AE, BAC). This can be usually determined automatically.
ess_settings dict An optional input parameter: a dictionary relating ESS to servers
initial_trsh dict Troubleshooting methods to try by default. Keys are server names, values are trshs
t_min tuple The minimum temperature for kinetics computations, e.g., (500, str('K')). An int value is also accepted, and will be converter to a (x, 'K') tuple.
t_max tuple The maximum temperature for kinetics computations, e.g., (3000, str('K')). An int value is also accepted, and will be converter to a (x, 'K') tuple.
t_count int The number of temperature points between t_min and t_max for kinetics computations

To use this class programmatically, create an instance and set its attributes, then invoke the execute() method.

ARCSpecies (arc/species.py)

class ARCSpecies(is_ts=False, rmg_species=None, mol=None, label=None, xyz=None, multiplicity=None, charge=None,
smiles='', adjlist='', bond_corrections=None, generate_thermo=True, species_dict=None, yml_path=None,
ts_methods=None, ts_number=None, rxn_label=None)
Attribute Type Description
label str The species' label
multiplicity int The species' multiplicity. Can be determined from adjlist/smiles/xyz. The algorithm assumes it's either a singlet or a doublet if not given
charge int The species' net charge. Assumed to be 0 be default.
is_ts bool Whether or not the species represents a transition state
xyz string An initial geometry guess
rmg_species Species An RMG Species object to be converted to an ARCSpecies object
smiles str The SMILES representation
adjlist str An RMG adjacency list molecule connectivity graph
mol Molecule An RMG:Molecule object used for BAC determination. Does not necessarily describe bond orders.
xyz_mol Molecule An RMG:Molecule object derived from the given xyz coordinates, if available. Used when a match between atom order in the molecule and in xyz is desired
mol_list list A list of localized structures generated from 'mol', if possible
bond_corrections dict The bond additivity corrections (BAC) to be used. Determined from the structure if not directly given.
generate_thermo bool Whether ot not to calculate thermodynamic properties for this species
ts_methods list Methods to try for generating TS guesses. If Species is a TS and ts_methods is an empty list, then xyz (user guess) must be given. If ts_methods is None, it will be set to the default methods
ts_guesses list A list of TSGuess objects for each of the specified methods
yml_path str Path to an Arkane YAML file representing a species (for loading the object)
external_symmetry int The external symmetry of the species (not including rotor symmetries)
optical_isomers int Whether (=2) or not (=1) the species has chiral center/s

Note: An ARCSpecies object does not have to be created for a transition state, unless the user would like to explicitly set arguments. Otherwise, it will be automatically created per ARCReaction object.

ARCReaction (arc/reaction.py)

class ARCReaction(is_ts=False, rmg_species=None, mol=None, label=None, xyz=None, multiplicity=None, charge=None,
smiles='', adjlist='', bond_corrections=None, generate_thermo=True, species_dict=None, yml_path=None,
ts_methods=None, ts_number=None, rxn_label=None)
Attribute Type Description
label str The reaction's label. Should be in the format 'reactant1 + reactant2(optional) <=> product1 + product2(optional)'
reactants str A list of labels corresponding to previously defined ARCSpecies objects
products str A list of labels corresponding to previously defined ARCSpecies objects
ts_label str A label corresponding to an ARCSpecies object, if defined.
rmg_reaction Reaction An RMG Reaction object
ts_methods list A list with TS guess methods, default is in settings.py, passed to the TS ARCSpecies object
ts_xyz_guess list A list of xyz guesses
multiplicity int The surface's multiplicity. Trivial values automatically determined from reactants/products multiplicities
charge int The surface's charge. Automatically determined from the reactants