CSVR thermostat
One popular strategy to control temperature in NVT MD is to rescale atomic velocities at a certain predefined frequency by some factor in such a way that the total kinetic energy of the system () is equal to the average kinetic energy corresponding to given temperature ( where is the number of atoms). 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.