// build and run simulator object based on user-input
auto simulator = simulatorBuilder.build(
- useModularSimulator, static_cast<int>(filenames.size()), filenames.data(), vsite.get(),
- constr.get(), enforcedRotation ? enforcedRotation->getLegacyEnfrot() : nullptr,
+ useModularSimulator, static_cast<int>(filenames.size()), filenames.data(),
deform.get(), mdModules_->outputProvider(), mdModules_->notifier(), inputrec,
imdSession.get(), pull_work, swap, &mtop, mdAtoms.get(), fr, replExParams);
simulator->run();
std::unique_ptr<ISimulator> SimulatorBuilder::build(bool useModularSimulator,
int nfile,
const t_filenm* fnm,
- VirtualSitesHandler* vsite,
- Constraints* constr,
- gmx_enfrot* enforcedRotation,
BoxDeformation* deform,
IMDOutputProvider* outputProvider,
const MdModulesNotifier& mdModulesNotifier,
return std::unique_ptr<ModularSimulator>(new ModularSimulator(
simulatorEnv_->fplog_, simulatorEnv_->commRec_, simulatorEnv_->multisimCommRec_,
simulatorEnv_->logger_, nfile, fnm, simulatorEnv_->outputEnv_, simulatorConfig_->mdrunOptions_,
- simulatorConfig_->startingBehavior_, vsite, constr, enforcedRotation, deform,
+ simulatorConfig_->startingBehavior_, constraintsParam_->vsite,
+ constraintsParam_->constr, constraintsParam_->enforcedRotation, deform,
outputProvider, mdModulesNotifier, inputrec, imdSession, pull_work, swap, top_global,
simulatorStateData_->globalState_p, simulatorStateData_->observablesHistory_p,
mdAtoms, profiling_->nrnb, profiling_->wallCycle, fr, simulatorStateData_->enerdata_p,
// NOLINTNEXTLINE(modernize-make-unique): make_unique does not work with private constructor
return std::unique_ptr<LegacySimulator>(new LegacySimulator(
simulatorEnv_->fplog_, simulatorEnv_->commRec_, simulatorEnv_->multisimCommRec_,
- simulatorEnv_->logger_, nfile, fnm, simulatorEnv_->outputEnv_, simulatorConfig_->mdrunOptions_,
- simulatorConfig_->startingBehavior_, vsite, constr, enforcedRotation, deform,
- outputProvider, mdModulesNotifier, inputrec, imdSession, pull_work, swap, top_global,
+ simulatorEnv_->logger_, nfile, fnm, simulatorEnv_->outputEnv_,
+ simulatorConfig_->mdrunOptions_, simulatorConfig_->startingBehavior_,
+ constraintsParam_->vsite, constraintsParam_->constr, constraintsParam_->enforcedRotation,
+ deform, outputProvider, mdModulesNotifier, inputrec, imdSession, pull_work, swap, top_global,
simulatorStateData_->globalState_p, simulatorStateData_->observablesHistory_p, mdAtoms,
profiling_->nrnb, profiling_->wallCycle, fr, simulatorStateData_->enerdata_p,
simulatorStateData_->ekindata_p, simulatorConfig_->runScheduleWork_, replExParams,
class ConstraintsParam
{
public:
- ConstraintsParam(Constraints gmx_unused* pConstraints,
- gmx_enfrot gmx_unused* pEnfrot,
- VirtualSitesHandler gmx_unused* pVsite)
+ ConstraintsParam(Constraints* constraints, gmx_enfrot* enforcedRotation, VirtualSitesHandler* vSite) :
+ constr(constraints),
+ enforcedRotation(enforcedRotation),
+ vsite(vSite)
{
}
+
+ Constraints* constr;
+ gmx_enfrot* enforcedRotation;
+ VirtualSitesHandler* vsite;
};
class LegacyInput
std::unique_ptr<ISimulator> build(bool useModularSimulator,
int nfile,
const t_filenm* fnm,
- VirtualSitesHandler* vsite,
- Constraints* constr,
- gmx_enfrot* enforcedRotation,
BoxDeformation* deform,
IMDOutputProvider* outputProvider,
const MdModulesNotifier& mdModulesNotifier,