StatePropagatorData *statePropagatorData,
EnergyElement *energyElement,
FreeEnergyPerturbationElement *freeEnergyPerturbationElement,
+ SimulationSignals *signals,
int nstglobalcomm,
FILE *fplog,
const MDLogger &mdlog,
localTopology_(nullptr),
freeEnergyPerturbationElement_(freeEnergyPerturbationElement),
vcm_(global_top->groups, *inputrec),
- signals_(),
+ signals_(signals),
fplog_(fplog),
mdlog_(mdlog),
cr_(cr),
// Make signaller to signal stop / reset / checkpointing signals
auto signaller = std::make_shared<SimulationSignaller>(
- &signals_, cr_, nullptr, doInterSimSignal, doIntraSimSignal);
+ signals_, cr_, nullptr, doInterSimSignal, doIntraSimSignal);
(*registerRunFunction)(
std::make_unique<SimulatorRunFunction>(
const bool doInterSimSignal = false;
auto signaller = std::make_shared<SimulationSignaller>(
- &signals_, cr_, nullptr, doInterSimSignal, doIntraSimSignal);
+ signals_, cr_, nullptr, doInterSimSignal, doIntraSimSignal);
(*registerRunFunction)(
std::make_unique<SimulatorRunFunction>(
StatePropagatorData *statePropagatorData,
EnergyElement *energyElement,
FreeEnergyPerturbationElement *freeEnergyPerturbationElement,
+ SimulationSignals *signals,
int nstglobalcomm,
FILE *fplog,
const MDLogger &mdlog,
FreeEnergyPerturbationElement *freeEnergyPerturbationElement_;
//! Center of mass motion removal
- t_vcm vcm_;
+ t_vcm vcm_;
//! Signals
- SimulationSignals signals_;
+ SimulationSignals *signals_;
// Access to ISimulator data
//! Handles logging.
auto computeGlobalsElement =
std::make_unique< ComputeGlobalsElement<ComputeGlobalsAlgorithm::LeapFrog> >(
statePropagatorDataPtr, energyElementPtr, freeEnergyPerturbationElementPtr,
- nstglobalcomm_, fplog, mdlog, cr,
+ &signals_, nstglobalcomm_, fplog, mdlog, cr,
inputrec, mdAtoms, nrnb, wcycle, fr,
&topologyHolder_->globalTopology(), constr, hasReadEkinState);
topologyHolder_->registerClient(computeGlobalsElement.get());
auto computeGlobalsElementAtFullTimeStep =
std::make_unique< ComputeGlobalsElement<ComputeGlobalsAlgorithm::VelocityVerletAtFullTimeStep> >(
statePropagatorDataPtr, energyElementPtr, freeEnergyPerturbationElementPtr,
- nstglobalcomm_, fplog, mdlog, cr,
+ &signals_, nstglobalcomm_, fplog, mdlog, cr,
inputrec, mdAtoms, nrnb, wcycle, fr,
&topologyHolder_->globalTopology(), constr, hasReadEkinState);
topologyHolder_->registerClient(computeGlobalsElementAtFullTimeStep.get());
auto computeGlobalsElementAfterCoordinateUpdate =
std::make_unique<ComputeGlobalsElement <ComputeGlobalsAlgorithm::VelocityVerletAfterCoordinateUpdate> >(
statePropagatorDataPtr, energyElementPtr, freeEnergyPerturbationElementPtr,
- nstglobalcomm_, fplog, mdlog, cr,
+ &signals_, nstglobalcomm_, fplog, mdlog, cr,
inputrec, mdAtoms, nrnb, wcycle, fr,
&topologyHolder_->globalTopology(), constr, hasReadEkinState);
topologyHolder_->registerClient(computeGlobalsElementAfterCoordinateUpdate.get());