Gromacs  2026.0-dev-20251107-70abc26
 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:

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

 ~ModularSimulator () override
 Destructor.
 
void run () override
 Run the simulator.
 
- Public Member Functions inherited from gmx::ISimulator
virtual ~ISimulator ()=default
 Standard destructor.
 

Static Public Member Functions

static bool isInputCompatible (const MDLogger &mdlog, 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, bool useGpuForUpdate)
 Return whether the modular simulator can be used. More...
 
static void readCheckpointToTrxFrame (t_trxframe *fr, ReadCheckpointDataHolder *readCheckpointDataHolder, const CheckpointHeaderContents &checkpointHeaderContents)
 Read everything that can be stored in t_trxframe from a checkpoint file.
 

Friends

class SimulatorBuilder
 

Member Function Documentation

bool gmx::ModularSimulator::isInputCompatible ( const MDLogger mdlog,
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,
bool  useGpuForUpdate 
)
static

Return whether the modular simulator can be used.

Enforces that the use of GMX_USE_MODULAR_SIMULATOR and GMX_DISABLE_MODULAR_SIMULATOR are consistent.

Note that https://gitlab.com/gromacs/gromacs/-/tree/ptmerz-modularsimulator-feature-branch contains draft implementations for feature support that could be included here if there is interest.

Returns
Whether the modular simulator can be used for this input

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