Nose-Hoover multiple time stepping issue - Redmine #2032
With leap-frog, Nose-Hoover and nsttcouple>1, the same velocity
scaling is applied for nsttcouple steps in a row, instead of applying a
larger correction at a single step, as was intended with the reversible
integrator. Since tau\_t should be large compared with nsttcouple\*dt,
the effect of this bug is very small (the conserved energy quantity
still seems to be conserved well).
*(from redmine: issue id 2032, created on 2016-08-15 by berkhess, closed on 2017-03-14)*
* Relations:
* relates #2749
* Changesets:
* Revision 69470fc4e9fd990eb53b22c17dc7a699c583d126 by Berk Hess on 2016-10-12T07:07:08Z:
```
Restructure leap-frog integrators
There are now 2 template function for MD leap-frog integration
instead of 4 branches in multiple functions.
In addition to invmass, mdatoms now contains invMassPerDim.
invMassPerDim is set to zero for encode frozen dimensions, so LF
update functions no longer need to check the freeze groups.
Also removed the conditionals for vsites and shells in the LF update
functions. Their velocities are now set to zero at startup.
A template function for the most common leap-frog integrator setups
allows for full SIMD acceleration, at least for AVX with gcc5.
Changed dt from double to real in the update, since we need far less
than real precision.
Changed calculation of alpha for VV to real, as it is passed as real.
Fixed multiple time stepping with Parrinello-Rahman and Nose-Hoover.
Fixes #2031.
Fixes #2032.
Change-Id: Iae5e787f1338b99c2338c9d0c1f14e90393e9252
```
issue