Fix restarts in modular simulator
authorPascal Merz <pascal.merz@me.com>
Fri, 20 Sep 2019 21:01:04 +0000 (15:01 -0600)
committerPascal Merz <pascal.merz@me.com>
Fri, 20 Sep 2019 21:11:21 +0000 (15:11 -0600)
The modular simulator constraint element was mistakenly performing
an initial constraiinng when restarting from checkpoints.

Change-Id: Icf310ff6d67fcd7f4b8aeb4f9da2749ad098a513

src/gromacs/modularsimulator/constraintelement.cpp

index ad67c284a96d0202a62041d825842dabd4606b34..a22316c051fe063405763241c5b021f04fbbb084 100644 (file)
@@ -79,8 +79,9 @@ ConstraintsElement<variable>::ConstraintsElement(
 template <ConstraintVariable variable>
 void ConstraintsElement<variable>::elementSetup()
 {
-    if ((variable == ConstraintVariable::Positions && inputrec_->eI == eiMD) ||
-        (variable == ConstraintVariable::Velocities && inputrec_->eI == eiVV))
+    if (!inputrec_->bContinuation &&
+        ((variable == ConstraintVariable::Positions && inputrec_->eI == eiMD) ||
+         (variable == ConstraintVariable::Velocities && inputrec_->eI == eiVV)))
     {
         // disabled functionality
         real  lambda    = 0;
@@ -92,7 +93,7 @@ void ConstraintsElement<variable>::elementSetup()
                 statePropagatorData_->velocitiesView(),
                 statePropagatorData_->box(), lambda);
 
-        if (isMasterRank_ && !inputrec_->bContinuation)
+        if (isMasterRank_)
         {
             if (inputrec_->eConstrAlg == econtLINCS)
             {