Fixed twin-range + freeze + constraints
authorBerk Hess <hess@kth.se>
Mon, 24 Nov 2014 14:36:13 +0000 (15:36 +0100)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Tue, 25 Nov 2014 23:37:39 +0000 (00:37 +0100)
With twin-range cut-offs, atoms which are both frozen and constrained
would experience very large or NaN forces, leading to constraint
warnings and errors.
Fixes #1639.

Change-Id: I1871a87054fec1149c9ed75872451df79a8ac2d2

src/gromacs/mdlib/update.c

index 93b7f59c1ec4dc7faffce100b5b1f1f51920c478..c4bdfe3892908ec4b191ae80967367bb469df2a7 100644 (file)
@@ -1515,6 +1515,10 @@ static void combine_forces(gmx_update_t upd,
                 {
                     xp[i][d] = state->x[i][d] + fac*f_lr[i][d]*md->invmass[i];
                 }
+                else
+                {
+                    xp[i][d] = state->x[i][d];
+                }
             }
         }
         constrain(NULL, FALSE, FALSE, constr, idef, ir, NULL, cr, step, 0, 1.0, md,