rmgpy.species.Species¶
- class rmgpy.species.Species¶
A chemical species, representing a local minimum on a potential energy surface. The attributes are:
Attribute
Description
index
A unique nonnegative integer index
label
A descriptive string label
thermo
The heat capacity model for the species
conformer
The molecular conformer for the species
molecule
A list of the
Molecule
objects describing the molecular structuretransport_data
A set of transport collision parameters
molecular_weight
The molecular weight of the species
energy_transfer_model
The collisional energy transfer model to use
reactive
True
if the species participates in reaction families,False
if notReaction libraries and seed mechanisms that include the species are always considered regardless of this variable
props
A generic ‘properties’ dictionary to store user-defined flags
aug_inchi
Unique augmented inchi
symmetry_number
Estimated symmetry number of the species, using the resonance hybrid
creation_iteration
Iteration which the species is created within the reaction mechanism generation algorithm
explicitly_allowed
Flag to exempt species from forbidden structure checks
- calculate_cp0()¶
Return the value of the heat capacity at zero temperature in J/mol*K.
- calculate_cpinf()¶
Return the value of the heat capacity at infinite temperature in J/mol*K.
- contains_surface_site()¶
Return
True
if the species is adsorbed on a surface (or is itself a site), elseFalse
.
- copy(deep)¶
Create a copy of the current species. If the kw argument ‘deep’ is True, then a deep copy will be made of the Molecule objects in self.molecule.
For other complex attributes, a deep copy will always be made.
- fingerprint¶
Fingerprint of this species, taken from molecule attribute. Read-only.
- from_adjacency_list(adjlist, raise_atomtype_exception, raise_charge_exception)¶
Load the structure of a species as a
Molecule
object from the given adjacency list adjlist and store it as the first entry of a list in the molecule attribute. Does not generate resonance isomers of the loaded molecule.
- from_smiles(smiles)¶
Load the structure of a species as a
Molecule
object from the given SMILES string smiles and store it as the first entry of a list in the molecule attribute. Does not generate resonance isomers of the loaded molecule.
- generate_energy_transfer_model()¶
Generate the collisional energy transfer model parameters for the species. This “algorithm” is very much in need of improvement.
- generate_resonance_structures(keep_isomorphic, filter_structures, save_order)¶
Generate all of the resonance structures of this species. The isomers are stored as a list in the molecule attribute. If the length of molecule is already greater than one, it is assumed that all of the resonance structures have already been generated. If
save_order
isTrue
the atom order is reset after performing atom isomorphism.
- generate_statmech()¶
Generate molecular degree of freedom data for the species. You must have already provided a thermodynamics model using e.g.
generate_thermo_data()
.
- generate_transport_data()¶
Generate the transport_data parameters for the species.
- get_density_of_states(e_list)¶
Return the density of states \(\rho(E) \ dE\) at the specified energies e_list in J/mol above the ground state.
- get_enthalpy(T)¶
Return the enthalpy in J/mol for the species at the specified temperature T in K.
- get_entropy(T)¶
Return the entropy in J/mol*K for the species at the specified temperature T in K.
- get_free_energy(T)¶
Return the Gibbs free energy in J/mol for the species at the specified temperature T in K.
- get_heat_capacity(T)¶
Return the heat capacity in J/mol*K for the species at the specified temperature T in K.
- get_net_charge()¶
Iterate through the atoms in the structure and calculate the net charge on the overall molecule.
- get_partition_function(T)¶
Return the partition function for the species at the specified temperature T in K.
- get_resonance_hybrid()¶
Returns a molecule object with bond orders that are the average of all the resonance structures.
- get_sum_of_states(e_list)¶
Return the sum of states \(N(E)\) at the specified energies e_list in J/mol.
- get_symmetry_number()¶
Get the symmetry number for the species, which is the highest symmetry number amongst its resonance isomers and the resonance hybrid. This function is currently used for website purposes and testing only as it requires additional calculate_symmetry_number calls.
- get_thermo_data(solvent_name)¶
Returns a thermoData object of the current Species object.
If the thermo object already exists, it is either of the (Wilhoit, ThermoData) type, or it is a Future.
If the type of the thermo attribute is Wilhoit, or ThermoData, then it is converted into a NASA format.
If it is a Future, then a blocking call is made to retrieve the NASA object. If the thermo object did not exist yet, the thermo object is generated.
- get_transport_data()¶
Returns the transport data associated with this species, and calculates it if it is not yet available.
- has_reactive_molecule()¶
True if the species has at least one reactive molecule, False otherwise
- has_statmech()¶
Return
True
if the species has statistical mechanical parameters, orFalse
otherwise.
- has_thermo()¶
Return
True
if the species has thermodynamic parameters, orFalse
otherwise.
- inchi¶
InChI string representation of this species. Read-only.
- is_electron()¶
Return
True
if the species is an electron
- is_identical(other, strict)¶
Return
True
if at least one molecule of the species is identical to other, which can be either aMolecule
object or aSpecies
object.If
strict=False
, performs the check ignoring electrons and resonance structures.
- is_isomorphic(other, generate_initial_map, save_order, strict)¶
Return
True
if the species is isomorphic to other, which can be either aMolecule
object or aSpecies
object.- Parameters:
generate_initial_map (bool, optional) – If
True
, make initial map by matching labeled atomssave_order (bool, optional) – if
True
, reset atom order after performing atom isomorphismstrict (bool, optional) – If
False
, perform isomorphism ignoring electrons.
- is_proton()¶
Return
True
if the species is a proton
- is_structure_in_list(species_list)¶
Return
True
if at least one Molecule in self is isomorphic with at least one other Molecule in at least one Species in species list.
- is_surface_site()¶
Return
True
if the species is a vacant surface site.
- molecular_weight¶
value_si is in kg/molecule not kg/mol)
- Type:
The molecular weight of the species. (Note
- multiplicity¶
Fingerprint of this species, taken from molecule attribute. Read-only.
- number_of_surface_sites()¶
Return the number of surface sites for a species. eg. 2 for bidentate.
- set_e0_with_thermo()¶
Helper method that sets species’ E0 using the species’ thermo data
- set_structure(structure)¶
Set self.molecule from structure which could be either a SMILES string or an adjacency list multi-line string
- smiles¶
SMILES string representation of this species. Read-only.
Note that SMILES representations for different resonance structures of the same species may be different.
- sorting_key¶
Returns a sorting key for comparing Species objects. Read-only
- to_adjacency_list()¶
Return a string containing each of the molecules’ adjacency lists.
- to_cantera(use_chemkin_identifier)¶
Converts the RMG Species object to a Cantera Species object with the appropriate thermo data.
If use_chemkin_identifier is set to False, the species label is used instead. Be sure that species’ labels are unique when setting it False.
- to_chemkin()¶
Return the chemkin-formatted string for this species.