Gromacs
2026.0-dev-20241213-9ac17bb
|
#include <functional>
#include <memory>
#include <optional>
#include "gromacs/math/matrix.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdtypes/checkpointdata.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/exceptions.h"
Declares the main interfaces used by the modular simulator.
This header is only used within the modular simulator module
Classes | |
class | gmx::ArrayRef< typename > |
STL-like interface to a C array of T (or part of a std container of T). More... | |
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... | |
class | gmx::ElementNotFoundError |
Exception class signalling that a requested element was not found. More... | |
class | gmx::MissingElementConnectionError |
Exception class signalling that elements were not connected properly. More... | |
class | gmx::SimulationAlgorithmSetupError |
Exception class signalling that the ModularSimulatorAlgorithm was set up in an incompatible way. More... | |
class | gmx::CheckpointError |
Exception class signalling an error in reading or writing modular checkpoints. More... | |
struct | gmx::PropagatorTag |
Strong type used to name propagators. More... | |
struct | gmx::TimeStep |
Strong type used to denote propagation time steps. More... | |
struct | gmx::Offset |
Strong type used to denote scheduling offsets. More... | |
struct | gmx::PropagatorConnection |
Information needed to connect a propagator to a temperature and / or pressure coupling element. More... | |
class | gmx::IDomDecHelperClient |
Client interface of the DomDecHelper class. More... | |
Typedefs | |
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::function< void(SimulatorRunFunction)> | gmx::RegisterRunFunction |
The function type that allows to register run functions. | |
typedef std::function< void(Step, Time, const RegisterRunFunction &)> | gmx::SchedulingFunction |
The function type scheduling run functions for a step / time using a RegisterRunFunction reference. | |
typedef std::function< void(Step, Time)> | gmx::SignallerCallback |
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::function< void(Step)> | gmx::PropagatorCallback |
Generic callback to the propagator. | |
typedef std::function< void()> | gmx::DomDecCallback |
Callback used by the DomDecHelper object to inform clients about system re-partitioning. | |
using | gmx::ReferenceTemperatureCallback = std::function< void(ArrayRef< const real >, ReferenceTemperatureChangeAlgorithm algorithm)> |
Callback updating the reference temperature. | |
Enumerations | |
enum | gmx::EnergySignallerEvent { EnergyCalculationStep, VirialCalculationStep, FreeEnergyCalculationStep } |
The energy events signalled by the EnergySignaller. | |
enum | gmx::TrajectoryEvent { StateWritingStep, EnergyWritingStep } |
The trajectory writing events. | |
enum | gmx::ModularSimulatorBuilderState { AcceptingClientRegistrations, NotAcceptingClientRegistrations } |
Enum allowing builders to store whether they can accept client registrations. | |
enum | gmx::ReportPreviousStepConservedEnergy { Yes, No, Count } |
Enum describing whether an element is reporting conserved energy from the previous step. | |