Gromacs  2020.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions | Friends
gmx::ModularSimulator Class Referencefinal

#include <gromacs/modularsimulator/modularsimulator.h>

+ Inheritance diagram for gmx::ModularSimulator:
+ Collaboration diagram for gmx::ModularSimulator:


The modular simulator.

Based on the input given, this simulator builds independent elements and signallers and stores them in a respective vector. The run function runs the simulation by, in turn, building a task list from the elements for a predefined number of steps, then running the task list, and repeating until the stop criterion is fulfilled.

Public Member Functions

void run () override
 Run the simulator.
- Public Member Functions inherited from gmx::ISimulator
virtual ~ISimulator ()=default
 Standard destructor.
 ISimulator (FILE *fplog, t_commrec *cr, const gmx_multisim_t *ms, const MDLogger &mdlog, int nfile, const t_filenm *fnm, const gmx_output_env_t *oenv, const MdrunOptions &mdrunOptions, StartingBehavior startingBehavior, gmx_vsite_t *vsite, Constraints *constr, gmx_enfrot *enforcedRotation, BoxDeformation *deform, IMDOutputProvider *outputProvider, const MdModulesNotifier &mdModulesNotifier, t_inputrec *inputrec, ImdSession *imdSession, pull_t *pull_work, t_swap *swap, gmx_mtop_t *top_global, t_fcdata *fcd, t_state *state_global, ObservablesHistory *observablesHistory, MDAtoms *mdAtoms, t_nrnb *nrnb, gmx_wallcycle *wcycle, t_forcerec *fr, gmx_enerdata_t *enerd, gmx_ekindata_t *ekind, MdrunScheduleWorkload *runScheduleWork, const ReplicaExchangeParameters &replExParams, gmx_membed_t *membed, gmx_walltime_accounting *walltime_accounting, std::unique_ptr< StopHandlerBuilder > stopHandlerBuilder, bool doRerun)
 The constructor.

Static Public Member Functions

static bool isInputCompatible (bool exitOnFailure, const t_inputrec *inputrec, bool doRerun, const gmx_mtop_t &globalTopology, const gmx_multisim_t *ms, const ReplicaExchangeParameters &replExParams, const t_fcdata *fcd, bool doEssentialDynamics, bool doMembed)
 Check for disabled functionality.


class SimulatorBuilder

Additional Inherited Members

- Protected Attributes inherited from gmx::ISimulator
FILE * fplog
 Handles logging.
t_commrec * cr
 Handles communication.
const gmx_multisim_tms
 Coordinates multi-simulations.
const MDLoggermdlog
 Handles logging.
int nfile
 Count of input file options.
const t_filenmfnm
 Content of input file options.
const gmx_output_env_t * oenv
 Handles writing text output.
const MdrunOptionsmdrunOptions
 Contains command-line options to mdrun.
StartingBehavior startingBehavior
 Whether the simulation will start afresh, or restart with/without appending.
gmx_vsite_t * vsite
 Handles virtual sites.
 Handles constraints.
 Handles enforced rotation.
BoxDeformation * deform
 Handles box deformation.
 Handles writing output files.
const MdModulesNotifier & mdModulesNotifier
 Handles notifications to MdModules for checkpoint writing.
t_inputrec * inputrec
 Contains user input mdp options.
ImdSession * imdSession
 The Interactive Molecular Dynamics session.
pull_t * pull_work
 The pull work object.
 The coordinate-swapping session.
gmx_mtop_t * top_global
 Full system topology.
t_fcdata * fcd
 Helper struct for force calculations.
 Full simulation state (only non-nullptr on master rank).
 History of simulation observables.
 Atom parameters for this domain.
t_nrnb * nrnb
 Manages flop accounting.
gmx_wallcycle * wcycle
 Manages wall cycle accounting.
t_forcerec * fr
 Parameters for force calculations.
gmx_enerdata_t * enerd
 Data for energy output.
gmx_ekindata_t * ekind
 Kinetic energy data.
MdrunScheduleWorkload * runScheduleWork
 Schedule of work for each MD step for this task.
const ReplicaExchangeParametersreplExParams
 Parameters for replica exchange algorihtms.
gmx_membed_t * membed
 Parameters for membrane embedding.
 Manages wall time accounting.
< StopHandlerBuilder
 Registers stop conditions.
bool doRerun
 Whether we're doing a rerun.

The documentation for this class was generated from the following files: