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 model

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

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

The mass of the translating object.

quantum

‘bool’

Type:

quantum