rmgpy.statmech.Conformer¶
- class rmgpy.statmech.Conformer(E0=None, modes=None, spin_multiplicity=1, optical_isomers=1, number=None, mass=None, coordinates=None)¶
A representation of an individual molecular conformation. The attributes are:
Attribute
Description
E0
The ground-state energy (including zero-point energy) of the conformer
modes
A list of the molecular degrees of freedom
spin_multiplicity
The degeneracy of the electronic ground state
optical_isomers
The number of optical isomers
number
An array of atomic numbers of each atom in the conformer
mass
An array of masses of each atom in the conformer
coordinates
An array of 3D coordinates of each atom in the conformer
Note that the spin_multiplicity reflects the electronic mode of the molecular system.
- E0¶
The ground-state energy (including zero-point energy) of the conformer.
- as_dict(self) dict ¶
A helper function for dumping objects as dictionaries for YAML files
- Returns:
A dictionary representation of the object
- Return type:
dict
- coordinates¶
An array of 3D coordinates of each atom in the conformer.
- get_active_modes(self, bool active_j_rotor=False, bool active_k_rotor=True) list ¶
Return a list of the active molecular degrees of freedom of the molecular system.
- get_center_of_mass(self, atoms=None) ndarray ¶
Calculate and return the [three-dimensional] position of the center of mass of the conformer in m. If a list atoms of atoms is specified, only those atoms will be used to calculate the center of mass. Otherwise, all atoms will be used.
- get_density_of_states(self, ndarray e_list) ndarray ¶
Return the density of states \(\rho(E) \ dE\) at the specified energies e_list above the ground state.
- get_enthalpy(self, double T) double ¶
Return the enthalpy in J/mol for the system at the specified temperature T in K.
- get_entropy(self, double T) double ¶
Return the entropy in J/mol*K for the system at the specified temperature T in K.
- get_free_energy(self, double T) double ¶
Return the Gibbs free energy in J/mol for the system at the specified temperature T in K.
- get_heat_capacity(self, double T) double ¶
Return the heat capacity in J/mol*K for the system at the specified temperature T in K.
- get_internal_reduced_moment_of_inertia(self, pivots, top1, option=3) double ¶
Calculate and return the reduced moment of inertia for an internal torsional rotation around the axis defined by the two atoms in pivots. The list top1 contains the atoms that should be considered as part of the rotating top; this list should contain the pivot atom connecting the top to the rest of the molecule. The procedure used is that of Pitzer [1], which is described as \(I^{(2,option)}\) by East and Radom [2]. In this procedure, the molecule is divided into two tops: those at either end of the hindered rotor bond. The moment of inertia of each top is evaluated using an axis determined by option. Finally, the reduced moment of inertia is evaluated from the moment of inertia of each top via the formula (I1*I2)/(I1+I2).
option
is an integer corresponding to one of three possible ways of calculating the internal reduced moment of inertia, as discussed in East and Radom [2]option = 1
moments of inertia of each rotating group calculated about the axis containing the twisting bond
option = 2
each moment of inertia of each rotating group is calculated about an axis parallel to the twisting bond and passing through its center of mass
option = 3
moments of inertia of each rotating group calculated about the axis passing through the centers of mass of both groups
\[\frac{1}{I^{(2,option)}} = \frac{1}{I_1} + \frac{1}{I_2}\]
- get_moment_of_inertia_tensor(self) ndarray ¶
Calculate and return the moment of inertia tensor for the conformer in kg*m^2. If the coordinates are not at the center of mass, they are temporarily shifted there for the purposes of this calculation.
- get_number_degrees_of_freedom(self)¶
Return the number of degrees of freedom in a species object, which should be 3N, and raises an exception if it is not.
- get_partition_function(self, double T) double ¶
Return the partition function \(Q(T)\) for the system at the specified temperature T in K.
- get_principal_moments_of_inertia(self)¶
Calculate and return the principal moments of inertia and corresponding principal axes for the conformer. The moments of inertia are in kg*m^2, while the principal axes have unit length.
- get_sum_of_states(self, ndarray e_list) ndarray ¶
Return the sum of states \(N(E)\) at the specified energies e_list in kJ/mol above the ground state.
- get_symmetric_top_rotors(self)¶
Return objects representing the external J-rotor and K-rotor under the symmetric top approximation. For nonlinear molecules, the J-rotor is a 2D rigid rotor with a rotational constant \(B\) determined as the geometric mean of the two most similar rotational constants. The K-rotor is a 1D rigid rotor with a rotational constant \(A-B\) determined by the difference between the remaining molecular rotational constant and the J-rotor rotational constant.
- get_total_mass(self, atoms=None) double ¶
Calculate and return the total mass of the atoms in the conformer in kg. If a list atoms of atoms is specified, only those atoms will be used to calculate the center of mass. Otherwise, all atoms will be used.
- make_object(self, dict data, dict class_dict)¶
A helper function for constructing objects from a dictionary (used when loading YAML files)
- Parameters:
data (dict) – The dictionary representation of the object
class_dict (dict) – A mapping of class names to the classes themselves
- Returns:
None
- mass¶
An array of masses of each atom in the conformer.
- modes¶
list
- Type:
modes
- number¶
An array of atomic numbers of each atom in the conformer.
- optical_isomers¶
‘int’
- Type:
optical_isomers
- spin_multiplicity¶
‘int’
- Type:
spin_multiplicity