Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations
modularsimulatorinterfaces.h File Reference
#include <functional>
#include <memory>
#include "gromacs/utility/basedefinitions.h"
+ Include dependency graph for modularsimulatorinterfaces.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares the main interfaces used by the modular simulator.

Author
Pascal Merz pasca.nosp@m.l.me.nosp@m.rz@me.nosp@m..com

Classes

class  gmx::SignallerBuilder< Signaller >
 Builder for signallers. More...
 
class  gmx::ISimulatorElement
 The general interface for elements of the modular simulator. More...
 
class  gmx::ISignaller
 The general Signaller interface. More...
 
class  gmx::INeighborSearchSignallerClient
 Interface for clients of the NeighborSearchSignaller. More...
 
class  gmx::ILastStepSignallerClient
 Interface for clients of the LastStepSignaller. More...
 
class  gmx::ILoggingSignallerClient
 Interface for clients of the LoggingSignaller. More...
 
class  gmx::IEnergySignallerClient
 Interface for clients of the EnergySignaller. More...
 
class  gmx::ITrajectorySignallerClient
 Interface for signaller clients of the TrajectoryElement. More...
 
class  gmx::ITrajectoryWriterClient
 Interface for writer clients of the TrajectoryElement. More...
 
class  gmx::ITopologyHolderClient
 Client requiring read access to the local topology. More...
 
class  gmx::ICheckpointHelperClient
 Client that needs to store data during checkpointing. More...
 

Typedefs

using gmx::Step = int64_t
 Step number.
 
using gmx::Time = double
 Simulation time.
 
typedef std::function< void()> gmx::SimulatorRunFunction
 The function type that can be scheduled to be run during the simulator run.
 
typedef std::unique_ptr
< SimulatorRunFunction > 
gmx::SimulatorRunFunctionPtr
 Pointer to the function type that can be scheduled to be run during the simulator run.
 
typedef std::function< void(SimulatorRunFunctionPtr)> gmx::RegisterRunFunction
 The function type that allows to register run functions.
 
typedef std::unique_ptr
< RegisterRunFunction > 
gmx::RegisterRunFunctionPtr
 Pointer to the function type that allows to register run functions.
 
typedef std::function< void(Step,
Time)> 
gmx::SignallerCallback
 The function type that can be registered to signallers for callback.
 
typedef std::unique_ptr
< SignallerCallback > 
gmx::SignallerCallbackPtr
 Pointer to the function type that can be registered to signallers for callback.
 
typedef std::function< void(gmx_mdoutf
*, Step, Time, bool, bool)> 
gmx::ITrajectoryWriterCallback
 Function type for trajectory writing clients.
 
typedef std::unique_ptr
< ITrajectoryWriterCallback > 
gmx::ITrajectoryWriterCallbackPtr
 Pointer to the function type for trajectory writing clients.
 

Enumerations

enum  gmx::EnergySignallerEvent { EnergyCalculationStep, VirialCalculationStep, FreeEnergyCalculationStep }
 The energy events signalled by the EnergySignaller.
 
enum  gmx::TrajectoryEvent { StateWritingStep, EnergyWritingStep }
 The trajectory writing events.