# rmgpy.rmg.model.Species¶

class rmgpy.rmg.model.Species(index=-1, label='', thermo=None, conformer=None, molecule=None, transportData=None, molecularWeight=None, energyTransferModel=None, reactive=True, props=None, aug_inchi=None, symmetryNumber=-1, creationIteration=0)

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
transportData A set of transport collision parameters
molecularWeight The molecular weight of the species
energyTransferModel 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
isSolvent Boolean describing whether this species is the solvent
creationIteration Iteration which the species is created within the reaction mechanism generation algorithm
aug_inchi

aug_inchi – str

calculateCp0(self) → double

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

calculateCpInf(self) → double

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

conformer

conformer – rmgpy.statmech.conformer.Conformer

copy(self, bool deep=False) → Species

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.

creationIteration

creationIteration – ‘int’

energyTransferModel

energyTransferModel – object

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.

fromSMILES(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.

generateEnergyTransferModel(self)

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

generateStatMech(self)

Generate molecular degree of freedom data for the species. You must have already provided a thermodynamics model using e.g. generateThermoData().

generateTransportData(self)

Generate the transportData parameters for the species.

generate_aug_inchi(self)
generate_resonance_structures(self, bool keep_isomorphic=True, bool filter_structures=True)

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.

getAugmentedInChI(self)
getDensityOfStates(self, ndarray Elist) → ndarray

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

getEnthalpy(self, double T) → double

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

getEntropy(self, double T) → double

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

getFreeEnergy(self, double T) → double

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

getHeatCapacity(self, double T) → double

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

getMolecularWeight(self)
getPartitionFunction(self, double T) → double

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

getResonanceHybrid(self)

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

getSumOfStates(self, ndarray Elist) → ndarray

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

getSymmetryNumber(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 calculateSymmetryNumber calls.

getThermoData(self, solventName='')

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.

getTransportData(self)

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

hasStatMech(self) → bool

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

hasThermo(self) → bool

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

has_reactive_molecule(self) → bool

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

index

index – ‘int’

isIdentical(self, other) → 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.

isIsomorphic(self, other, bool generate_res=False) → bool

Return True if the species is isomorphic to other, which can be either a Molecule object or a Species object. If generate_res is True and other is a Species object, the resonance structures of other will be generated and isomorphically compared against self. This is useful for situations where a “non-representative” resonance structure of self is generated, and it should be identified as the same Species, and be assigned a reactive=False flag.

isSolvent

isSolvent – ‘bool’

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.

label

label – str

molecularWeight

Species.getMolecularWeight(self)

molecule

molecule – list

props

props – dict

reactive

reactive – ‘bool’

setMolecularWeight(self, value)
symmetryNumber

symmetryNumber – ‘float’

thermo

thermo – object

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

toCantera(self, useChemkinIdentifier=False)

Converts the RMG Species object to a Cantera Species object with the appropriate thermo data.

If useChemkinIdentifier is set to False, the species label is used instead. Be sure that species’ labels are unique when setting it False.

toChemkin(self)

Return the chemkin-formatted string for this species.

transportData

transportData – object