Constraining v or f in parallel can give incorrect results
With 3 or more decomposition domains in at least one dimension, the constraint code would always apply periodic shifts to the constraint quantity vector, even if it was not a coordinate. This means that velocities and forces sent over to other domains could be incorrect modified by the box length. Note that intra charge-group constraints are not affected by this bug.This bug affects:
- The velocity Verlet integrator (4.6). Since the box is large compared to v, this will make most simulations completely unstable (no silent errors).
- Multiple time stepping with twin-range cut-off's (4.5). Forces are large compared to the box size, so this might not be easy to notice. But multiple time stepping is rarely used in Gromacs, since the typical Gromos setup became unstable with the Trotter decomposition multiple time stepping.
- Energy minimization with constraints (4.0). The force will not converge to an error below the box size. In most cases forces with constraints are much larger during energy minimization, and errors don't accumulate, so this bug will have little effect.
Fixed bug in parallel v/f constraining
Constraining v or f with 3 or more decomposition domains in one
or more dimensions could lead to modification of communicated
v and f components by the box size for inter charge-group constraints.