In the Berendsen algorithm the instantaneous temperature is pushed towards the desired temperature by scaling the velocities at each step:
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
|
![]() |
![]() |
![]() |
(2.185) |
As with the Nosé-Hoover thermostat iteration is required to obtain self consistency of
,
and
, although it should be noted
has different roles
in the two thermostats. The Berendsen algorithm conserves total momentum but not energy.
As with the Nosé-Hoover algorithm the presence of constraint bonds requires an additional iteration with one application of SHAKE corrections. The algorithm is implemented in the DL_POLY routines NVT_B0 and NVT_B1, the latter being for systems with bond constraints.