Bug with Parrinelo-Rahman and nstpcouple > 1 - Redmine #2031
When implementing multiple time-stepping for Parrinello-Rahman pressure coupling, we (I) forgot to increase the time step for the particle velocity scaling. Thus the coordinates were scaled correctly, but the velocities were scaled by to little by a factor 1/nstpcouple.
(from redmine: issue id 2031, created on 2016-08-15 by berkhess, closed on 2016-09-07)
- Relations:
- relates #2749 (closed)
- Changesets:
- Revision 971d66c1 by Berk Hess on 2016-09-02T15:08:30Z:
Fix Parrinello-Rahman with nstpcouple>1
Fixes #2031.
Change-Id: I37cf18c40c6cf5e301d7981c9f10bbf963d8cda8
- Revision 69470fc4 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