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 structure

transport_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 not

Reaction 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), else False.

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 is True 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, or False otherwise.

has_thermo()

Return True if the species has thermodynamic parameters, or False 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 a Molecule object or a Species 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 a Molecule object or a Species object.

Parameters:
  • generate_initial_map (bool, optional) – If True, make initial map by matching labeled atoms

  • save_order (bool, optional) – if True, reset atom order after performing atom isomorphism

  • strict (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.