# rmgpy.species.Species¶

class rmgpy.species.Species(index=- 1, label='', thermo=None, conformer=None, molecule=None, transport_data=None, molecular_weight=None, energy_transfer_model=None, reactive=True, props=None, smiles='', inchi='', aug_inchi=None, symmetry_number=- 1, creation_iteration=0, explicitly_allowed=False, liquid_volumetric_mass_transfer_coefficient_data=None, henry_law_constant_data=None)

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

aug_inchi

unicode

Type:

aug_inchi

calculate_cp0(self) double

Return the value of the heat capacity at zero temperature in J/mol*K.

calculate_cpinf(self) double

Return the value of the heat capacity at infinite temperature in J/mol*K.

conformer

rmgpy.statmech.conformer.Conformer

Type:

conformer

contains_surface_site(self) bool

Return True if the species is adsorbed on a surface (or is itself a site), else False.

copy(self, bool deep=False)

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.

creation_iteration

‘int’

Type:

creation_iteration

energy_transfer_model

object

Type:

energy_transfer_model

explicitly_allowed

‘bool’

Type:

explicitly_allowed

fingerprint

Fingerprint of this species, taken from molecule attribute. Read-only.

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(self, 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_aug_inchi(self)
generate_energy_transfer_model(self)

Generate the collisional energy transfer model parameters for the species. This “algorithm” is very much in need of improvement.

generate_resonance_structures(self, bool keep_isomorphic=True, bool filter_structures=True, bool save_order=False)

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(self)

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(self)

Generate the transport_data parameters for the species.

get_augmented_inchi(self)
get_density_of_states(self, ndarray e_list) ndarray

Return the density of states $$\rho(E) \ dE$$ at the specified energies e_list in J/mol above the ground state.

get_enthalpy(self, double T) double

Return the enthalpy in J/mol for the species at the specified temperature T in K.

get_entropy(self, double T) double

Return the entropy in J/mol*K for the species at the specified temperature T in K.

get_free_energy(self, double T) double

Return the Gibbs free energy in J/mol for the species at the specified temperature T in K.

get_heat_capacity(self, double T) double

Return the heat capacity in J/mol*K for the species at the specified temperature T in K.

get_henry_law_constant_data(self, list Ts=[])
get_liquid_volumetric_mass_transfer_coefficient_data(self, list Ts=[])
get_partition_function(self, double T) double

Return the partition function for the species at the specified temperature T in K.

get_resonance_hybrid(self)

Returns a molecule object with bond orders that are the average of all the resonance structures.

get_sum_of_states(self, ndarray e_list) ndarray

Return the sum of states $$N(E)$$ at the specified energies e_list in J/mol.

get_symmetry_number(self)

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(self, 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(self)

Returns the transport data associated with this species, and calculates it if it is not yet available.

has_reactive_molecule(self) bool

True if the species has at least one reactive molecule, False otherwise

has_statmech(self) bool

Return True if the species has statistical mechanical parameters, or False otherwise.

has_thermo(self) bool

Return True if the species has thermodynamic parameters, or False otherwise.

henry_law_constant_data

object

Type:

henry_law_constant_data

inchi

InChI string representation of this species. Read-only.

index

‘int’

Type:

index

is_identical(self, other, bool strict=True) bool

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(self, other, bool generate_initial_map=False, bool save_order=False, bool strict=True) bool

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_solvent

‘bool’

Type:

is_solvent

is_structure_in_list(self, list species_list) bool

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(self) bool

Return True if the species is a vacant surface site.

label

unicode

Type:

label

liquid_volumetric_mass_transfer_coefficient_data

object

Type:

liquid_volumetric_mass_transfer_coefficient_data

molecular_weight

value_si is in kg/molecule not kg/mol)

Type:

The molecular weight of the species. (Note

molecule

list

Type:

molecule

multiplicity

Fingerprint of this species, taken from molecule attribute. Read-only.

props

dict

Type:

props

reactive

‘bool’

Type:

reactive

set_e0_with_thermo(self)

Helper method that sets species’ E0 using the species’ thermo data

set_structure(self, unicode 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

symmetry_number

‘float’

Type:

symmetry_number

thermo

object

Type:

thermo

Return a string containing each of the molecules’ adjacency lists.

to_cantera(self, use_chemkin_identifier=False)

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(self)

Return the chemkin-formatted string for this species.

transport_data

object

Type:

transport_data