#include "gromacs/mdtypes/mdrunoptions.h"
#include "gromacs/mdtypes/multipletimestepping.h"
#include "gromacs/mdtypes/observableshistory.h"
+#include "gromacs/mdtypes/observablesreducer.h"
#include "gromacs/mdtypes/pullhistory.h"
#include "gromacs/mdtypes/simulation_workload.h"
#include "gromacs/mdtypes/state.h"
std::unique_ptr<t_state> stateInstance;
t_state* state;
- gmx_localtop_t top(top_global.ffparams);
+ gmx_localtop_t top(top_global.ffparams);
+ ObservablesReducer observablesReducer = observablesReducerBuilder->build();
ForceBuffers f(simulationWork.useMts,
((useGpuForNonbonded && useGpuForBufferOps) || useGpuForUpdate)
t_vcm vcm(top_global.groups, *ir);
reportComRemovalInfo(fplog, vcm);
+ int64_t step = ir->init_step;
+ int64_t step_rel = 0;
+
/* To minimize communication, compute_globals computes the COM velocity
* and the kinetic energy for the velocities without COM motion removed.
* Thus to get the kinetic energy without the COM contribution, we need
&nullSignaller,
state->box,
&bSumEkinhOld,
- cglo_flags_iteration);
+ cglo_flags_iteration,
+ step,
+ &observablesReducer);
if (cglo_flags_iteration & CGLO_STOPCM)
{
/* At initialization, do not pass x with acceleration-correction mode
&nullSignaller,
state->box,
&bSumEkinhOld,
- cglo_flags & ~CGLO_PRESSURE);
+ cglo_flags & ~CGLO_PRESSURE,
+ step,
+ &observablesReducer);
}
/* Calculate the initial half step temperature, and save the ekinh_old */
bExchanged = FALSE;
bNeedRepartition = FALSE;
- int64_t step = ir->init_step;
- int64_t step_rel = 0;
-
auto stopHandler = stopHandlerBuilder->getStopHandlerMD(
compat::not_null<SimulationSignal*>(&signals[eglsSTOPCOND]),
simulationsShareState,
&nullSignaller,
state->box,
&bSumEkinhOld,
- cglo_flags);
+ cglo_flags,
+ step,
+ &observablesReducer);
if (DOMAINDECOMP(cr))
{
dd_localTopologyChecker(cr->dd)->checkNumberOfBondedInteractions(
&vcm,
top,
enerd,
+ &observablesReducer,
ekind,
gstat,
&last_ekin,
&vcm,
pull_work,
enerd,
+ &observablesReducer,
ekind,
gstat,
&dvdl_constr,
| (!EI_VV(ir->eI) ? CGLO_PRESSURE : 0) | CGLO_CONSTRAINT
| (DOMAINDECOMP(cr) && dd_localTopologyChecker(*cr->dd).shouldCheckNumberOfBondedInteractions()
? CGLO_CHECK_NUMBER_OF_BONDED_INTERACTIONS
- : 0));
+ : 0),
+ step,
+ &observablesReducer);
if (DOMAINDECOMP(cr))
{
dd_localTopologyChecker(cr->dd)->checkNumberOfBondedInteractions(