Fixes #3465.
Also adds a release note, and sets StartingBehavior const in ISimulator
to make its behavior more obvious.
:issue:`3441`
+Expanded ensemble simulations restarted from checkpoints
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+When restarting expanded ensemble simulations from checkpoints, expanded
+ensemble would silently refuse to run, and simulations would remain in
+their original lambda state.
+
+:issue:`3465`
+
Fixes for ``gmx`` tools
^^^^^^^^^^^^^^^^^^^^^^^
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2019, by the GROMACS development team, led by
+ * Copyright (c) 2019,2020, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
//! Contains command-line options to mdrun.
const MdrunOptions& mdrunOptions;
//! Whether the simulation will start afresh, or restart with/without appending.
- StartingBehavior startingBehavior;
+ const StartingBehavior startingBehavior;
//! Handles virtual sites.
gmx_vsite_t* vsite;
//! Handles constraints.
bDoDHDL = do_per_step(step, ir->fepvals->nstdhdl);
bDoFEP = ((ir->efep != efepNO) && do_per_step(step, nstfep));
bDoExpanded = (do_per_step(step, ir->expandedvals->nstexpanded) && (ir->bExpanded)
- && (step > 0) && (startingBehavior == StartingBehavior::NewSimulation));
+ && (!bFirstStep));
}
bDoReplEx = (useReplicaExchange && (step > 0) && !bLastStep
bInteractiveMDstep = imdSession->run(step, bNS, state->box, state->x.rvec_array(), t);
/* kludge -- virial is lost with restart for MTTK NPT control. Must reload (saved earlier). */
- if (startingBehavior != StartingBehavior::NewSimulation
+ if (startingBehavior != StartingBehavior::NewSimulation && bFirstStep
&& (inputrecNptTrotter(ir) || inputrecNphTrotter(ir)))
{
copy_mat(state->svir_prev, shake_vir);