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

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(data, 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