rmgpy.statmech.NonlinearRotor¶
- class rmgpy.statmech.NonlinearRotor(inertia=None, symmetry=1, quantum=False, rotationalConstant=None)¶
A statistical mechanical model of an N-dimensional nonlinear rigid rotor. The attributes are:
Attribute
Description
inertia
The moments of inertia of the rotor
rotationalConstant
The rotational constants of the rotor
symmetry
The symmetry number of the rotor
quantum
True
to use the quantum mechanical model,False
to use the classical modelNote that the moments of inertia and the rotational constants are simply two ways of representing the same quantity; only one set of these can be specified independently.
In the majority of chemical applications, the energies involved in the rigid rotor place it very nearly in the classical limit at all relevant temperatures; therefore, the classical model is used by default. In the current implementation, the quantum mechanical model has not been implemented, and a
NotImplementedError
will be raised if you try to use it.A nonlinear rigid rotor is the generalization of the linear rotor to a nonlinear polyatomic system. Such a system is characterized by three moments of inertia \(I_\mathrm{A}\), \(I_\mathrm{B}\), and \(I_\mathrm{C}\) instead of just one. The solution to the Schrodinger equation for the quantum nonlinear rotor is not well defined, so we will simply show the classical result instead:
\[Q_\mathrm{rot}^\mathrm{cl}(T) = \frac{\pi^{1/2}}{\sigma} \left( \frac{8 k_\mathrm{B} T}{h^2} \right)^{3/2} \sqrt{I_\mathrm{A} I_\mathrm{B} I_\mathrm{C}}\]- as_dict()¶
A helper function for dumping objects as dictionaries for YAML files
- Returns:
A dictionary representation of the object
- Return type:
dict
- get_density_of_states(self, ndarray e_list, ndarray dens_states_0=None) ndarray ¶
Return the density of states \(\rho(E) \ dE\) at the specified energies e_list in J/mol above the ground state. If an initial density of states dens_states_0 is given, the rotor density of states will be convoluted into these states.
- get_enthalpy(self, double T) double ¶
Return the enthalpy in J/mol for the degree of freedom at the specified temperature T in K.
- get_entropy(self, double T) double ¶
Return the entropy in J/mol*K for the degree of freedom at the specified temperature T in K.
- get_heat_capacity(self, double T) double ¶
Return the heat capacity in J/mol*K for the degree of freedom at the specified temperature T in K.
- get_partition_function(self, double T) double ¶
Return the value of the partition function \(Q(T)\) at the specified temperature T in K.
- get_sum_of_states(self, ndarray e_list, ndarray sum_states_0=None) ndarray ¶
Return the sum of states \(N(E)\) at the specified energies e_list in J/mol above the ground state. If an initial sum of states sum_states_0 is given, the rotor sum of states will be convoluted into these states.
- inertia¶
The moments of inertia of the rotor.
- make_object(self, dict data, dict class_dict)¶
- quantum¶
‘bool’
- Type:
quantum
- rotationalConstant¶
The rotational constant of the rotor.
- symmetry¶
‘int’
- Type:
symmetry