:issue:`3373`
+Fix checkpoint restarts using Parrinello-Rahman and md-vv
+"""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+Checkpoints using Parrinello-Rahman and md-vv (only implemented in
+the new modular simulator approach) could not be read.
+
+:issue:`3377`
+
Fixes for ``gmx`` tools
^^^^^^^^^^^^^^^^^^^^^^^
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2016,2017,2018,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.
}
// TODO Most of this logic seems to belong in the respective modules
-void set_state_entries(t_state* state, const t_inputrec* ir)
+void set_state_entries(t_state* state, const t_inputrec* ir, bool useModularSimulator)
{
/* The entries in the state in the tpx file might not correspond
* with what is needed, so we correct this here.
if ((ir->epc == epcPARRINELLORAHMAN) || (ir->epc == epcMTTK))
{
state->flags |= (1 << estBOXV);
- state->flags |= (1 << estPRES_PREV);
+ if (!useModularSimulator)
+ {
+ state->flags |= (1 << estPRES_PREV);
+ }
}
if (inputrecNptTrotter(ir) || (inputrecNphTrotter(ir)))
{
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014,2015,2016,2017,2018,2019, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014,2015,2016,2017,2018,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.
void rerun_parallel_comm(t_commrec* cr, t_trxframe* fr, gmx_bool* bLastStep);
//! \brief Allocate and initialize node-local state entries
-void set_state_entries(t_state* state, const t_inputrec* ir);
+void set_state_entries(t_state* state, const t_inputrec* ir, bool useModularSimulator);
/* Set the lambda values in the global state from a frame read with rerun */
void setCurrentLambdasRerun(int64_t step,
}
/* now make sure the state is initialized and propagated */
- set_state_entries(globalState.get(), inputrec);
+ set_state_entries(globalState.get(), inputrec, useModularSimulator);
}
/* NM and TPI parallelize over force/energy calculations, not atoms,