Gromacs
2020-beta1
|
#include <gromacs/modularsimulator/modularsimulator.h>
Inherits gmx::ISimulator.
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_vsite_t *vsite, const gmx_multisim_t *ms, const ReplicaExchangeParameters &replExParams, const t_fcdata *fcd, int nfile, const t_filenm *fnm, ObservablesHistory *observablesHistory, const gmx_membed_t *membed) |
Check for disabled functionality. | |
Protected Attributes | |
FILE * | fplog |
Handles logging. | |
t_commrec * | cr |
Handles communication. | |
const gmx_multisim_t * | ms |
Coordinates multi-simulations. | |
const MDLogger & | mdlog |
Handles logging. | |
int | nfile |
Count of input file options. | |
const t_filenm * | fnm |
Content of input file options. | |
const gmx_output_env_t * | oenv |
Handles writing text output. | |
const MdrunOptions & | mdrunOptions |
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. | |
Constraints * | constr |
Handles constraints. | |
gmx_enfrot * | enforcedRotation |
Handles enforced rotation. | |
BoxDeformation * | deform |
Handles box deformation. | |
IMDOutputProvider * | outputProvider |
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_state * | state_global |
Full simulation state (only non-nullptr on master rank). | |
ObservablesHistory * | observablesHistory |
History of simulation observables. | |
MDAtoms * | mdAtoms |
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 ReplicaExchangeParameters & | replExParams |
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. | |
bool | useGpuForUpdate |
Whether we will use the GPU for calculating the update. | |
Friends | |
class | SimulatorBuilder |