Gromacs
2021.5
|
#include <gromacs/utility/mdmodulenotification.h>
Collection of callbacks to MDModules at differnt run-times.
MDModules use members of this struct to sign up for callback functionality.
The members of the struct represent callbacks at these run-times:
When pre-processing the simulation data When reading and writing check-pointing data When setting up simulation after reading in the tpr file
The template arguments to the members of this struct directly reflect the callback function signature. Arguments passed as pointers are always meant to be modified, but never meant to be stored (in line with the policy everywhere else).
Public Attributes | |
registerMdModuleNotification < EnergyCalculationFrequencyErrors *, const IndexGroupsAndNames &, KeyValueTreeObjectBuilder > ::type | preProcessingNotifications_ |
Pre-processing callback functions. More... | |
registerMdModuleNotification < MdModulesCheckpointReadingDataOnMaster, MdModulesCheckpointReadingBroadcast, MdModulesWriteCheckpointData > ::type | checkpointingNotifications_ |
Checkpointing callback functions. More... | |
registerMdModuleNotification < const KeyValueTreeObject &, LocalAtomSetManager *, MdModulesEnergyOutputToDensityFittingRequestChecker *, const PbcType &, const SimulationTimeStep &, const t_commrec & >::type | simulationSetupNotifications_ |
Callbacks during simulation setup. More... | |
registerMdModuleNotification<MdModulesCheckpointReadingDataOnMaster, MdModulesCheckpointReadingBroadcast, MdModulesWriteCheckpointData>::type gmx::MdModulesNotifier::checkpointingNotifications_ |
Checkpointing callback functions.
MdModulesCheckpointReadingDataOnMaster provides modules with their checkpointed data on the master node and checkpoint file version MdModulesCheckpointReadingBroadcast provides modules with a communicator and the checkpoint file version to distribute their data MdModulesWriteCheckpointData provides the modules with a key-value-tree builder to store their checkpoint data and the checkpoint file version
registerMdModuleNotification<EnergyCalculationFrequencyErrors*, const IndexGroupsAndNames&, KeyValueTreeObjectBuilder>::type gmx::MdModulesNotifier::preProcessingNotifications_ |
Pre-processing callback functions.
EnergyCalculationFrequencyErrors* allows modules to check if they match their required calculation frequency and add their error message if needed to the collected error messages IndexGroupsAndNames provides modules with atom indices and their names KeyValueTreeObjectBuilder enables writing of module internal data to .tpr files.
registerMdModuleNotification<const KeyValueTreeObject&, LocalAtomSetManager*, MdModulesEnergyOutputToDensityFittingRequestChecker*, const PbcType&, const SimulationTimeStep&, const t_commrec&>::type gmx::MdModulesNotifier::simulationSetupNotifications_ |
Callbacks during simulation setup.
const KeyValueTreeObject& provides modules with the internal data they wrote to .tpr files LocalAtomSetManager* enables modules to add atom indices to local atom sets to be managed MdModulesEnergyOutputToDensityFittingRequestChecker* enables modules to report if they want to write their energy output to the density fitting field in the energy files const PbcType& provides modules with the periodic boundary condition type that is used during the simulation const SimulationTimeStep& provides modules with the simulation time-step that allows them to interconvert between step time information const t_commrec& provides a communicator to the modules during simulation setup