{
//! \brief Build a Simulator object
-std::unique_ptr<ISimulator> SimulatorBuilder::build(bool useModularSimulator,
- BoxDeformation* deform,
- gmx_mtop_t* top_global,
- MDAtoms* mdAtoms)
+std::unique_ptr<ISimulator> SimulatorBuilder::build(bool useModularSimulator, BoxDeformation* deform)
+
{
// TODO: Reduce protocol complexity.
// Investigate individual paramters. Identify default-constructable parameters and clarify
constraintsParam_->enforcedRotation, deform, simulatorModules_->outputProvider,
simulatorModules_->mdModulesNotifier, legacyInput_->inputrec,
interactiveMD_->imdSession, centerOfMassPulling_->pull_work, ionSwapping_->ionSwap,
- top_global, simulatorStateData_->globalState_p,
- simulatorStateData_->observablesHistory_p, mdAtoms, profiling_->nrnb,
+ topologyData_->top_global, simulatorStateData_->globalState_p,
+ simulatorStateData_->observablesHistory_p, topologyData_->mdAtoms, profiling_->nrnb,
profiling_->wallCycle, legacyInput_->forceRec, simulatorStateData_->enerdata_p,
simulatorStateData_->ekindata_p, simulatorConfig_->runScheduleWork_,
*replicaExchangeParameters_, membedHolder_->membed(), profiling_->walltimeAccounting,
simulatorEnv_->outputEnv_, simulatorConfig_->mdrunOptions_,
simulatorConfig_->startingBehavior_, constraintsParam_->vsite, constraintsParam_->constr,
constraintsParam_->enforcedRotation, deform, simulatorModules_->outputProvider,
- simulatorModules_->mdModulesNotifier, legacyInput_->inputrec, interactiveMD_->imdSession,
- centerOfMassPulling_->pull_work, ionSwapping_->ionSwap, top_global,
- simulatorStateData_->globalState_p, simulatorStateData_->observablesHistory_p, mdAtoms,
- profiling_->nrnb, profiling_->wallCycle, legacyInput_->forceRec, simulatorStateData_->enerdata_p,
+ simulatorModules_->mdModulesNotifier, legacyInput_->inputrec,
+ interactiveMD_->imdSession, centerOfMassPulling_->pull_work, ionSwapping_->ionSwap,
+ topologyData_->top_global,
+ simulatorStateData_->globalState_p,
+ simulatorStateData_->observablesHistory_p, topologyData_->mdAtoms, profiling_->nrnb,
+ profiling_->wallCycle, legacyInput_->forceRec, simulatorStateData_->enerdata_p,
simulatorStateData_->ekindata_p, simulatorConfig_->runScheduleWork_,
*replicaExchangeParameters_, membedHolder_->membed(), profiling_->walltimeAccounting,
std::move(stopHandlerBuilder_), simulatorConfig_->mdrunOptions_.rerun));
class TopologyData
{
public:
- TopologyData(gmx_mtop_t gmx_unused* pMtop, MDAtoms gmx_unused* pAtoms) {}
+ TopologyData(gmx_mtop_t gmx_unused* globalTopology, MDAtoms gmx_unused* mdAtoms) :
+ top_global(globalTopology),
+ mdAtoms(mdAtoms)
+ {
+ }
+ gmx_mtop_t* top_global;
+ MDAtoms* mdAtoms;
};
/*! \libinternal
*
* \return Unique pointer to a Simulator object
*/
- std::unique_ptr<ISimulator> build(bool useModularSimulator,
- BoxDeformation* deform,
- gmx_mtop_t* top_global,
- MDAtoms* mdAtoms);
+ std::unique_ptr<ISimulator> build(bool useModularSimulator, BoxDeformation* deform);
private:
// Note: we use std::unique_ptr instead of std::optional because we want to