CSVR thermostat

From VASP Wiki
Revision as of 08:30, 9 September 2023 by Tbucko (talk | contribs)

One popular strategy to control temperature in NVT MD is to rescale atomic velocities ([math]\displaystyle{ \bold{v}_{i} }[/math]) at a certain predefined frequency by some factor in such a way that the total kinetic energy of the system

[math]\displaystyle{ E_{kin} = \frac{1}{2} \sum\limits_{i=1}^{N} m_i |\bold{v}_{i}|^2, }[/math]

is equal to the average kinetic energy corresponding to given temperature:

[math]\displaystyle{ \bar{E}_{kin} = \frac{1}{2}N_f k_B T }[/math]

where [math]\displaystyle{ N_f }[/math] is the number of degrees of freedom (e.g., [math]\displaystyle{ N_f = 3N -3 }[/math] in the case of 3D periodic systems) and [math]\displaystyle{ N }[/math] is the number of atoms per the simulation cell. Such a method, however, suffers from several issues. First of all, the ensemble generated is not strictly canonical. Also, the trajectories generated via this naive rescaling method often suffer from flying ice-cube problem where kinetic energy vibrational degrees of freedom is transferred into translations and/or rotations, violating thus equipartition principle.

An elaborated approach based on the velocity rescaling has been proposed by Bussi et al.