rmgpy.statmech.
KRotor
(inertia=None, symmetry=1, quantum=False, rotationalConstant=None)¶A statistical mechanical model of an active K-rotor (a one-dimensional rigid rotor). The attributes are:
Attribute | Description |
---|---|
inertia | The moment of inertia of the rotor in amu*angstrom^2 |
rotationalConstant | The rotational constant of the rotor in cm^-1 |
symmetry | The symmetry number of the rotor |
quantum | True to use the quantum mechanical model, False to use the classical model |
Note that the moment of inertia and the rotational constant are simply two ways of representing the same quantity; only one of these can be specified independently.
In the majority of chemical applications, the energies involved in the K-rotor place it very nearly in the classical limit at all relevant temperatures; therefore, the classical model is used by default.
The energy levels \(E_K\) of the K-rotor are given by
where \(K\) is the quantum number for the rotor and \(B \equiv \hbar^2/2I\) is the rotational constant.
Using these expressions for the energy levels and corresponding degeneracies, we can evaluate the partition function for the K-rotor:
In many cases the temperature of interest is large relative to the energy spacing; in this limit we can obtain a closed-form analytical expression for the linear rotor partition function in the classical limit:
where \(\sigma\) is the symmetry number of the K-rotor.
getDensityOfStates
(self, ndarray Elist, ndarray densStates0=None) → ndarray¶Return the density of states \(\rho(E) \ dE\) at the specified energies Elist in J/mol above the ground state. If an initial density of states densStates0 is given, the rotor density of states will be convoluted into these states.
getEnthalpy
(self, double T) → double¶Return the enthalpy in J/mol for the degree of freedom at the specified temperature T in K.
getEntropy
(self, double T) → double¶Return the entropy in J/mol*K for the degree of freedom at the specified temperature T in K.
getHeatCapacity
(self, double T) → double¶Return the heat capacity in J/mol*K for the degree of freedom at the specified temperature T in K.
getLevelDegeneracy
(self, int J) → int¶Return the degeneracy of level J.
getLevelEnergy
(self, int J) → double¶Return the energy of level J in kJ/mol.
getPartitionFunction
(self, double T) → double¶Return the value of the partition function \(Q(T)\) at the specified temperature T in K.
getSumOfStates
(self, ndarray Elist, ndarray sumStates0=None) → ndarray¶Return the sum of states \(N(E)\) at the specified energies Elist in J/mol above the ground state. If an initial sum of states sumStates0 is given, the rotor sum of states will be convoluted into these states.
inertia
¶The moment of inertia of the rotor.
quantum
¶quantum: ‘bool’
rotationalConstant
¶The rotational constant of the rotor.
symmetry
¶symmetry: ‘int’