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

#include <gromacs/modularsimulator/modularsimulator.h>

Inherits gmx::ISimulator.

Description

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.
 

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.
 

Protected Attributes

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 MdrunOptions & mdrunOptions
 Contains command-line options to mdrun.
 
const StartingBehavior startingBehavior
 Whether the simulation will start afresh, or restart with/without appending.
 
gmx_vsite_t * vsite
 Handles virtual sites.
 
Constraintsconstr
 Handles constraints.
 
gmx_enfrot * enforcedRotation
 Handles enforced rotation.
 
BoxDeformation * deform
 Handles box deformation.
 
IMDOutputProvideroutputProvider
 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.
 
t_swap * swap
 The coordinate-swapping session.
 
gmx_mtop_t * top_global
 Full system topology.
 
t_fcdata * fcd
 Helper struct for force calculations.
 
t_statestate_global
 Full simulation state (only non-nullptr on master rank).
 
ObservablesHistoryobservablesHistory
 History of simulation observables.
 
MDAtomsmdAtoms
 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.
 
gmx_walltime_accounting * walltime_accounting
 Manages wall time accounting.
 
std::unique_ptr
< StopHandlerBuilder
stopHandlerBuilder
 Registers stop conditions.
 
bool doRerun
 Whether we're doing a rerun.
 

Friends

class SimulatorBuilder
 

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