Translational degrees of freedom¶
- class rmgpy.statmech.IdealGasTranslation(mass=None, quantum=False)¶
A statistical mechanical model of translation in an 3-dimensional infinite square well by an ideal gas. The attributes are:
Attribute
Description
mass
The mass of the translating object
quantum
True
to use the quantum mechanical model,False
to use the classical modelTranslational energies are much smaller than \(k_\mathrm{B} T\) except for temperatures approaching absolute zero, so a classical treatment of translation is more than adequate.
The translation of an ideal gas – a gas composed of randomly-moving, noninteracting particles of negligible size – in three dimensions can be modeled using the particle-in-a-box model. In this model, a gas particle is confined to a three-dimensional box of size \(L_x L_y L_z = V\) with the following potential:
\[\begin{split}V(x,y,z) = \begin{cases} 0 & 0 \le x \le L_x, 0 \le y \le L_y, 0 \le z \le L_z \\ \infty & \mathrm{otherwise} \end{cases}\end{split}\]The time-independent Schrodinger equation for this system (within the box) is given by
\[-\frac{\hbar^2}{2M} \left( \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} + \frac{\partial^2}{\partial z^2} \right) \Psi(x,y,z) = E \Psi(x,y,z)\]where \(M\) is the total mass of the particle. Because the box is finite in all dimensions, the solution of the above is quantized with the following energy levels:
\[E_{n_x,n_y,n_z} = \frac{\hbar^2}{2M} \left[ \left( \frac{n_x \pi}{L_x} \right)^2 + \left( \frac{n_y \pi}{L_y} \right)^2 + \left( \frac{n_z \pi}{L_z} \right)^2 \right] \hspace{2em} n_x, n_y, n_z = 1, 2, \ldots\]Above we have introduced \(n_x\), \(n_y\), and \(n_z\) as quantum numbers. The quantum mechanical partition function is obtained by summing over the above energy levels:
\[Q_\mathrm{trans}(T) = \sum_{n_x=1}^\infty \sum_{n_y=1}^\infty \sum_{n_z=1}^\infty \exp \left( -\frac{E_{n_x,n_y,n_z}}{k_\mathrm{B} T} \right)\]In almost all 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 translational partition function in the classical limit:
\[Q_\mathrm{trans}^\mathrm{cl}(T) = \left( \frac{2 \pi M k_\mathrm{B} T}{h^2} \right)^{3/2} V\]For a constant-pressure problem we can use the ideal gas law to replace \(V\) with \(k_\mathrm{B} T/P\). This gives the partition function a temperature dependence of \(T^{5/2}\).
- 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
- 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.
- 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¶
The mass of the translating object.
- quantum¶
‘bool’
- Type:
quantum