LINCS error: Nose-Hoover vs V-rescale

GROMACS version: 2019.4
GROMACS modification: Yes/No

Dear Gromacs users,

I simulated the Protein-ligand complex. When I run NVT simulation with t-coupling = V-rescale, there is no error. But when I used the t-coupling = Nose-Hoover, error occurred below:

Step 2161, time 4.322 (ps) LINCS WARNING
relative constraint deviation after LINCS:
rms 0.301654, max 14.453189 (between atoms 3935 and 3936)
bonds that rotated more than 30 degrees:
atom 1 atom 2 angle previous, current, constraint length
3871 3872 69.0 0.1630 0.1171 0.1111
3871 3873 77.3 0.9858 0.1127 0.1111
3916 3917 90.0 0.0997 0.2134 0.0997
3933 3934 32.9 0.0997 0.0997 0.0997
3935 3936 90.0 3.0620 1.6689 0.1080
3941 3943 64.0 0.1108 0.1116 0.1111
Wrote pdb files with previous and current coordinates
Step 2162, time 4.324 (ps) LINCS WARNING
relative constraint deviation after LINCS:
rms 1.464865, max 70.247780 (between atoms 3935 and 3936)
bonds that rotated more than 30 degrees:
atom 1 atom 2 angle previous, current, constraint length
3871 3873 90.0 0.1172 0.6335 0.1111
3916 3917 90.0 0.2219 0.1085 0.0997
3933 3934 55.6 0.1037 0.0997 0.0997
3935 3936 90.0 1.7358 7.6948 0.1080
3941 3943 65.5 0.1160 0.1112 0.1111
Wrote pdb files with previous and current coordinates
Step 2163, time 4.326 (ps) LINCS WARNING
relative constraint deviation after LINCS:
rms 2.634528, max 125.905602 (between atoms 3916 and 3917)
bonds that rotated more than 30 degrees:
atom 1 atom 2 angle previous, current, constraint length
3871 3872 90.0 0.1118 0.1570 0.1111
3871 3873 64.9 0.6335 0.1071 0.1111
3916 3917 145.2 0.1085 12.6525 0.0997
3933 3934 47.7 0.0997 0.0997 0.0997
3935 3936 90.0 7.6948 1.5598 0.1080
3941 3943 67.7 0.1112 0.1108 0.1111
step 2163: One or more water molecules can not be settled.
Check for bad contacts and/or reduce the timestep if appropriate

When I tried to find whether there is clash in system with using chimera ‘Find Clashes/Contacts’, there are no contact.
But I found that the error-occuring atoms are hydrogens and its neighbors.

Any advice on this would be greatly appreciated, thanks!

Hi Jinyoung,

This is not unusual.

In short - the v-rescale thermostat is more robust than Nosé-Hoover.

The long answer:

The reason Nosé-Hoover crashes in systems that are out of equilibrium is that it is coupled to a meta-variable that describes temperature fluctuations with an external oscillator that makes sure that you get the correct Temperature oscillations for your system size. If you start in a not so low energy configuration, atoms might speed up quite a bit, because they have a lot of potential energy they can convert into kinetic energy. To counterbalance this, the thermostat scales down the temperature. At the same time, the thermostat has used the quite high temperature of the system at this step to update the meta-variable oscillation. This high temperature in comparison to the reference temperature results in a drastic change in the meta-temperature variable. In the next step, velocities might be scaled to a very low value, in an over-correction of the meta-variable that controls the temperature with Nosé-Hoover temperature coupling. Now, the temperature is too cold and the thermostat oscillates upwards again to a reference temperature that now is much higher than the reference temperature - this is where velocities might be scaled up suddenly and this is where the simulation is most likely to crash.

v-rescale in contrast, does not couple to this external oscillator to get the temperature distribution right, but uses a draw from a probability distribution to get the right velocities. It’s much more stable for this reason, because additional energy is directly dissipated and is not stored in an external oscillator.

I would personally recommend to use v-rescale for almost all cases. It’s correct, it’s robust and even the implementation is easier then Nosé-Hoover.

1 Like

Thank you for your reply