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 |