nanover.ase.thermo module

Calculate thermodynamic quantities associated with the simulation.

nanover.ase.thermo.compute_dof(atoms: Atoms) int

Compute the number of degrees of freedom of the system, using the same procedure as the get_temperature() method of the Atoms class in ASE. :param atoms: ASE Atoms object. :return: Number of degrees of freedom of the system.

nanover.ase.thermo.compute_instantaneous_temperature(kinetic_energy: float, dof: int) float

Calculate the instantaneous temperature of the system (in Kelvin), using the same procedure as the get_temperature() method of the Atoms class in ASE. This function calculates the instantaneous temperature of the system from the kinetic energy of the system using the equation

\[T = \]

rac{2 * mathrm{KE}}{N_{mathrm{dof}} * k_{mathrm{B}}}

where KE is the kinetic energy of the system (in eV), \(N_{dof}\) is the number of degrees of freedom of the system and \(k_{\mathrm{B}}\) is the Boltzmann constant in native ASE units. :param kinetic_energy: Kinetic energy of the system (in eV). :param dof: Number of degrees of freedom of the system. :return: Instantaneous temperature of the system (in Kelvin).