Gromacs
2022.2
|
The modular simulator improves extensibility, adds Monte Carlo capabilities, promotes data locality and communication via interfaces, supports multi-stepping integrators, and paves the way for some task parallelism.
For more information, see page_modularsimulator
docs/doxygen/lib/modularsimulator.md
?Classes | |
struct | gmx::IsSerializableType< T > |
Struct allowing to check if data is serializable through the KeyValueTree serializer. More... | |
struct | gmx::IsSerializableEnum< T, bool > |
Struct allowing to check if enum has a serializable underlying type. More... | |
class | gmx::CheckpointData< operation > |
} More... | |
struct | gmx::test::anonymous_namespace{checkpointdata.cpp}::IsVectorOfSerializableType< T > |
Struct allowing to check if type is vector of serializable data. More... | |
class | gmx::AndersenTemperatureCoupling |
Element implementing the Andersen thermostat. More... | |
class | gmx::CheckpointHelper |
Checkpoint helper. More... | |
class | gmx::CheckpointHelperBuilder |
Builder for the checkpoint helper. More... | |
class | gmx::CompositeSimulatorElement |
Composite simulator element. More... | |
class | gmx::ComputeGlobalsElement< algorithm > |
Encapsulate the calls to compute_globals More... | |
class | gmx::ConstraintsElement< variable > |
Constraints element. More... | |
class | gmx::DomDecHelper |
Infrastructure element responsible for domain decomposition. More... | |
class | gmx::DomDecHelperBuilder |
Builder for DomDecHelper. More... | |
class | gmx::EnergyData |
Data class managing energies. More... | |
class | gmx::EnergyData::Element |
Element for EnergyData. More... | |
class | gmx::ExpandedEnsembleElement |
The expanded ensemble element. More... | |
class | gmx::ForceElement |
Force element. More... | |
class | gmx::FreeEnergyPerturbationData |
The free energy perturbation data. More... | |
class | gmx::FepStateSetting |
Allows external clients to specify how to change the FEP state. More... | |
class | gmx::ModularSimulator |
The modular simulator. 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... | |
class | gmx::ParrinelloRahmanBarostat |
Element implementing the Parrinello-Rahman barostat. More... | |
class | gmx::PmeLoadBalanceHelper |
Infrastructure element responsible for PME load balancing. More... | |
class | gmx::Propagator< integrationStage > |
Propagator element. More... | |
class | gmx::SignallerBuilder< Signaller > |
Builder for signallers. More... | |
class | gmx::NeighborSearchSignaller |
Element signalling a neighbor search step. More... | |
class | gmx::LastStepSignaller |
Element signalling the last step. More... | |
class | gmx::LoggingSignaller |
Element signalling a logging step. More... | |
class | gmx::TrajectorySignaller |
Element signalling trajectory writing. More... | |
class | gmx::EnergySignaller |
Element signalling energy related special steps. More... | |
class | gmx::ModularSimulatorAlgorithm |
The modular simulator. More... | |
class | gmx::StatePropagatorData |
StatePropagatorData and associated data. More... | |
class | gmx::TopologyHolder |
Object holding the topology. More... | |
class | gmx::TopologyHolder::Builder |
Builder for the topology holder. More... | |
class | gmx::TrajectoryElement |
Trajectory element signals and handles trajectory writing. More... | |
class | gmx::TrajectoryElementBuilder |
Build the TrajectoryElement More... | |
class | gmx::VelocityScalingTemperatureCoupling |
Element implementing the a velocity-scaling thermostat. More... | |
Typedefs | |
typedef std::function< void()> | gmx::CheckBondedInteractionsCallback |
The function type allowing to request a check of the number of bonded interactions. | |
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::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::CheckpointDataOperation { Read, Write, Count } |
The operations on CheckpointData. More... | |
enum | gmx::ComputeGlobalsAlgorithm { LeapFrog, VelocityVerlet } |
The different global reduction schemes we know about. | |
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. | |
enum | gmx::ScaleVelocities { PreStepOnly, PreStepAndPostStep } |
Which velocities the thermostat scales. | |
enum | gmx::IntegrationStage { gmx::IntegrationStage::PositionsOnly, gmx::IntegrationStage::VelocitiesOnly, gmx::IntegrationStage::LeapFrog, gmx::IntegrationStage::VelocityVerletPositionsAndVelocities, gmx::IntegrationStage::ScaleVelocities, gmx::IntegrationStage::ScalePositions, gmx::IntegrationStage::Count } |
The different integration types we know about. More... | |
enum | gmx::NumPositionScalingValues { gmx::NumPositionScalingValues::None, gmx::NumPositionScalingValues::Single, gmx::NumPositionScalingValues::Multiple, gmx::NumPositionScalingValues::Count } |
Sets the number of different position scaling values. More... | |
enum | gmx::NumVelocityScalingValues { gmx::NumVelocityScalingValues::None, gmx::NumVelocityScalingValues::Single, gmx::NumVelocityScalingValues::Multiple, Count } |
Sets the number of different velocity scaling values. More... | |
enum | gmx::ParrinelloRahmanVelocityScaling { gmx::ParrinelloRahmanVelocityScaling::No, gmx::ParrinelloRahmanVelocityScaling::Diagonal, gmx::ParrinelloRahmanVelocityScaling::Full, Count } |
Sets the type of Parrinello-Rahman pressure scaling. More... | |
Functions | |
template<CheckpointDataOperation operation, typename T > | |
ArrayRef< std::conditional_t < operation==CheckpointDataOperation::Write||std::is_const < T >::value, const typename T::value_type, typename T::value_type > > | gmx::makeCheckpointArrayRef (T &container) |
Get an ArrayRef whose const-ness is defined by the checkpointing operation. More... | |
template<CheckpointDataOperation operation, typename T > | |
ArrayRef< std::conditional_t < operation==CheckpointDataOperation::Write||std::is_const < T >::value, const T, T > > | gmx::makeCheckpointArrayRefFromArray (T *begin, size_t size) |
Get an ArrayRef to a C array whose const-ness is defined by the checkpointing operation. More... | |
template<typename... Ts> | |
auto | gmx::checkUseModularSimulator (Ts &&...args) -> decltype(ModularSimulator::isInputCompatible(std::forward< Ts >(args)...)) |
Whether or not to use the ModularSimulator. More... | |
virtual void | gmx::ISimulatorElement::scheduleTask (Step, Time, const RegisterRunFunction &)=0 |
Query whether element wants to run at step / time. More... | |
virtual void | gmx::ISimulatorElement::elementSetup ()=0 |
Method guaranteed to be called after construction, before simulator run. | |
virtual void | gmx::ISimulatorElement::elementTeardown ()=0 |
Method guaranteed to be called after simulator run, before deconstruction. | |
virtual | gmx::ISimulatorElement::~ISimulatorElement ()=default |
Standard virtual destructor. | |
virtual void | gmx::ISignaller::signal (Step, Time)=0 |
Function run before every step of scheduling. | |
virtual void | gmx::ISignaller::setup ()=0 |
Method guaranteed to be called after construction, before simulator run. | |
virtual | gmx::ISignaller::~ISignaller ()=default |
Standard virtual destructor. | |
virtual | gmx::INeighborSearchSignallerClient::~INeighborSearchSignallerClient ()=default |
Standard virtual destructor. | |
virtual std::optional < SignallerCallback > | gmx::INeighborSearchSignallerClient::registerNSCallback ()=0 |
Return callback to NeighborSearchSignaller. | |
virtual | gmx::ILastStepSignallerClient::~ILastStepSignallerClient ()=default |
Standard virtual destructor. | |
virtual std::optional < SignallerCallback > | gmx::ILastStepSignallerClient::registerLastStepCallback ()=0 |
Return callback to LastStepSignaller. | |
virtual | gmx::ILoggingSignallerClient::~ILoggingSignallerClient ()=default |
Standard virtual destructor. | |
virtual std::optional < SignallerCallback > | gmx::ILoggingSignallerClient::registerLoggingCallback ()=0 |
Return callback to LoggingSignaller. | |
virtual | gmx::IEnergySignallerClient::~IEnergySignallerClient ()=default |
Standard virtual destructor. | |
virtual std::optional < SignallerCallback > | gmx::IEnergySignallerClient::registerEnergyCallback (EnergySignallerEvent)=0 |
Return callback to EnergySignaller. | |
virtual | gmx::ITrajectorySignallerClient::~ITrajectorySignallerClient ()=default |
Standard virtual destructor. | |
virtual std::optional < SignallerCallback > | gmx::ITrajectorySignallerClient::registerTrajectorySignallerCallback (TrajectoryEvent)=0 |
Return callback to TrajectoryElement. | |
virtual | gmx::ITrajectoryWriterClient::~ITrajectoryWriterClient ()=default |
Standard virtual destructor. | |
virtual void | gmx::ITrajectoryWriterClient::trajectoryWriterSetup (gmx_mdoutf *outf)=0 |
Setup method with valid output pointer. | |
virtual void | gmx::ITrajectoryWriterClient::trajectoryWriterTeardown (gmx_mdoutf *outf)=0 |
Teardown method with valid output pointer. | |
virtual std::optional < ITrajectoryWriterCallback > | gmx::ITrajectoryWriterClient::registerTrajectoryWriterCallback (TrajectoryEvent)=0 |
Return callback to TrajectoryElement. | |
virtual | gmx::ITopologyHolderClient::~ITopologyHolderClient ()=default |
Standard virtual destructor. | |
virtual void | gmx::ITopologyHolderClient::setTopology (const gmx_localtop_t *)=0 |
Pass pointer to new local topology. | |
virtual | gmx::ICheckpointHelperClient::~ICheckpointHelperClient ()=default |
Standard virtual destructor. | |
virtual void | gmx::ICheckpointHelperClient::saveCheckpointState (std::optional< WriteCheckpointData > checkpointData, const t_commrec *cr)=0 |
Write checkpoint (CheckpointData object only passed on master rank) | |
virtual void | gmx::ICheckpointHelperClient::restoreCheckpointState (std::optional< ReadCheckpointData > checkpointData, const t_commrec *cr)=0 |
Read checkpoint (CheckpointData object only passed on master rank) | |
virtual const std::string & | gmx::ICheckpointHelperClient::clientID ()=0 |
Get unique client id. | |
gmx::ElementNotFoundError::ElementNotFoundError (const ExceptionInitializer &details) | |
Creates an exception object with the provided initializer/reason. More... | |
gmx::MissingElementConnectionError::MissingElementConnectionError (const ExceptionInitializer &details) | |
Creates an exception object with the provided initializer/reason. More... | |
gmx::SimulationAlgorithmSetupError::SimulationAlgorithmSetupError (const ExceptionInitializer &details) | |
Creates an exception object with the provided initializer/reason. More... | |
gmx::CheckpointError::CheckpointError (const ExceptionInitializer &details) | |
Creates an exception object with the provided initializer/reason. More... | |
gmx::PropagatorTag::PropagatorTag (std::string_view name) | |
Explicit constructor. | |
gmx::PropagatorTag::operator const std::string & () const | |
Can be used as string. | |
bool | gmx::PropagatorTag::operator== (const PropagatorTag &other) const |
Equality operator. | |
bool | gmx::PropagatorTag::operator!= (const PropagatorTag &other) const |
Inequality operator. | |
gmx::TimeStep::TimeStep (real timeStep) | |
Explicit constructor. | |
gmx::TimeStep::operator const real & () const | |
Can be used as underlying type. | |
gmx::Offset::Offset (int offset) | |
Explicit constructor. | |
gmx::Offset::operator const int & () const | |
Can be used as underlying type. | |
bool | gmx::PropagatorConnection::hasStartVelocityScaling () const |
Whether the propagator offers start velocity scaling. | |
bool | gmx::PropagatorConnection::hasEndVelocityScaling () const |
Whether the propagator offers end velocity scaling. | |
bool | gmx::PropagatorConnection::hasPositionScaling () const |
Whether the propagator offers position scaling. | |
bool | gmx::PropagatorConnection::hasParrinelloRahmanScaling () const |
Whether the propagator offers Parrinello-Rahman scaling. | |
virtual | gmx::IDomDecHelperClient::~IDomDecHelperClient ()=default |
Standard virtual destructor. | |
virtual DomDecCallback | gmx::IDomDecHelperClient::registerDomDecCallback ()=0 |
Register function to be informed about system re-partitioning. | |
Variables | |
PropagatorTag | gmx::PropagatorConnection::tag |
The tag of the creating propagator. | |
std::function< void(int, ScaleVelocities)> | gmx::PropagatorConnection::setNumVelocityScalingVariables |
Function object for setting velocity scaling variables. | |
std::function< void(int)> | gmx::PropagatorConnection::setNumPositionScalingVariables |
Function object for setting velocity scaling variables. | |
std::function< ArrayRef< real >)> | gmx::PropagatorConnection::getViewOnStartVelocityScaling |
Function object for receiving view on velocity scaling (before step) | |
std::function< ArrayRef< real >)> | gmx::PropagatorConnection::getViewOnEndVelocityScaling |
Function object for receiving view on velocity scaling (after step) | |
std::function< ArrayRef< real >)> | gmx::PropagatorConnection::getViewOnPositionScaling |
Function object for receiving view on position scaling. | |
std::function < PropagatorCallback()> | gmx::PropagatorConnection::getVelocityScalingCallback |
Function object to request callback allowing to signal a velocity scaling step. | |
std::function < PropagatorCallback()> | gmx::PropagatorConnection::getPositionScalingCallback |
Function object to request callback allowing to signal a position scaling step. | |
std::function< ArrayRef< rvec >)> | gmx::PropagatorConnection::getViewOnPRScalingMatrix |
Function object for receiving view on pressure scaling matrix. | |
std::function < PropagatorCallback()> | gmx::PropagatorConnection::getPRScalingCallback |
Function object to request callback allowing to signal a Parrinello-Rahman scaling step. | |
Files | |
file | andersentemperaturecoupling.cpp |
Defines Andersen temperature coupling for the modular simulator. | |
file | andersentemperaturecoupling.h |
Declares Andersen temperature coupling for the modular simulator. | |
file | checkpointhelper.cpp |
Defines the checkpoint helper for the modular simulator. | |
file | checkpointhelper.h |
Declares the checkpoint helper for the modular simulator. | |
file | compositesimulatorelement.cpp |
Defines the composite element for the modular simulator. | |
file | compositesimulatorelement.h |
Declares the composite element for the modular simulator. | |
file | computeglobalselement.cpp |
Defines the global reduction element for the modular simulator. | |
file | computeglobalselement.h |
Declares the global reduction element for the modular simulator. | |
file | constraintelement.cpp |
Defines the constraint element for the modular simulator. | |
file | constraintelement.h |
Declares the constraint element for the modular simulator. | |
file | domdechelper.cpp |
Defines the domain decomposition helper for the modular simulator. | |
file | domdechelper.h |
Declares the domain decomposition helper for the modular simulator. | |
file | energydata.cpp |
Defines the microstate for the modular simulator. | |
file | energydata.h |
Declares the energy element for the modular simulator. | |
file | expandedensembleelement.cpp |
Defines the expanded ensemble element for the modular simulator. | |
file | expandedensembleelement.h |
Declares the expanded ensemble element for the modular simulator. | |
file | firstorderpressurecoupling.cpp |
Defines the element performing first-order pressure coupling for the modular simulator. | |
file | firstorderpressurecoupling.h |
Declares the element performing first-order pressure coupling for the modular simulator. | |
file | forceelement.cpp |
Defines the force element for the modular simulator. | |
file | forceelement.h |
Declares the force element for the modular simulator. | |
file | freeenergyperturbationdata.cpp |
Defines the free energy perturbation element for the modular simulator. | |
file | freeenergyperturbationdata.h |
Declares the free energy perturbation element for the modular simulator. | |
file | modularsimulator.cpp |
Defines the modular simulator. | |
file | modularsimulator.h |
Provides the modular simulator. | |
file | modularsimulatorinterfaces.h |
Declares the main interfaces used by the modular simulator. | |
file | mttk.cpp |
Defines classes related to MTTK pressure coupling. | |
file | mttk.h |
Declares classes related to MTTK pressure coupling. | |
file | nosehooverchains.cpp |
Defines classes related to Nose-Hoover chains for the modular simulator. | |
file | nosehooverchains.h |
Declares classes related to Nose-Hoover chains for the modular simulator. | |
file | parrinellorahmanbarostat.cpp |
Defines the Parrinello-Rahman barostat for the modular simulator. | |
file | parrinellorahmanbarostat.h |
Declares the Parrinello-Rahman barostat for the modular simulator. | |
file | pmeloadbalancehelper.cpp |
Declares the PME load balancing helper for the modular simulator. | |
file | pmeloadbalancehelper.h |
Declares the PME load balancing helper for the modular simulator. | |
file | propagator.cpp |
Defines the propagator element for the modular simulator. | |
file | propagator.h |
Declares the propagator element for the modular simulator. | |
file | pullelement.cpp |
Defines the pull element for the modular simulator. | |
file | pullelement.h |
Declares the pull element for the modular simulator. | |
file | referencetemperaturemanager.cpp |
Defines the a helper struct managing reference temperature changes. | |
file | referencetemperaturemanager.h |
Declares the a helper struct managing reference temperature changes. | |
file | signallers.cpp |
Defines the signallers for the modular simulator. | |
file | signallers.h |
Declares the signallers for the modular simulator. | |
file | simulatoralgorithm.cpp |
Defines the modular simulator algorithm. | |
file | simulatoralgorithm.h |
Provides the modular simulator algorithm. | |
file | statepropagatordata.cpp |
Defines the state for the modular simulator. | |
file | statepropagatordata.h |
Declares the state for the modular simulator. | |
file | topologyholder.cpp |
Defines the topology class for the modular simulator. | |
file | topologyholder.h |
Declares the topology class for the modular simulator. | |
file | trajectoryelement.cpp |
Defines the trajectory element for the modular simulator. | |
file | trajectoryelement.h |
Declares the trajectory element for the modular simulator. | |
file | trotterhelperfunctions.h |
Defines helper functions used by the Trotter decomposition algorithms (Nose-Hoover chains, MTTK) | |
file | velocityscalingtemperaturecoupling.cpp |
Defines a velocity-scaling temperature coupling element for the modular simulator. | |
file | velocityscalingtemperaturecoupling.h |
Declares a velocity-scaling temperature coupling element for the modular simulator. | |
|
strong |
The operations on CheckpointData.
This enum defines the two modes of operation on CheckpointData objects, reading and writing. This allows to template all access functions, which in turn enables clients to write a single function for read and write access, eliminating the risk of having read and write functions getting out of sync.
|
strong |
The different integration types we know about.
|
strong |
|
strong |
|
strong |
|
inlineexplicit |
Creates an exception object with the provided initializer/reason.
[in] | details | Initializer for the exception. |
std::bad_alloc | if out of memory. |
It is possible to call this constructor either with an explicit ExceptionInitializer object (useful for more complex cases), or a simple string if only a reason string needs to be provided.
auto gmx::checkUseModularSimulator | ( | Ts &&... | args | ) | -> decltype(ModularSimulator::isInputCompatible(std::forward<Ts>(args)...)) |
Whether or not to use the ModularSimulator.
GMX_DISABLE_MODULAR_SIMULATOR environment variable allows to disable modular simulator for all uses.
See ModularSimulator::isInputCompatible() for function signature.
|
inlineexplicit |
Creates an exception object with the provided initializer/reason.
[in] | details | Initializer for the exception. |
std::bad_alloc | if out of memory. |
It is possible to call this constructor either with an explicit ExceptionInitializer object (useful for more complex cases), or a simple string if only a reason string needs to be provided.
ArrayRef<std::conditional_t<operation == CheckpointDataOperation::Write || std::is_const<T>::value, const typename T::value_type, typename T::value_type> > gmx::makeCheckpointArrayRef | ( | T & | container | ) |
ArrayRef<std::conditional_t<operation == CheckpointDataOperation::Write || std::is_const<T>::value, const T, T> > gmx::makeCheckpointArrayRefFromArray | ( | T * | begin, |
size_t | size | ||
) |
Get an ArrayRef to a C array whose const-ness is defined by the checkpointing operation.
operation | Whether we are reading or writing |
T | The type of values stored in the ArrayRef |
begin | Pointer to the beginning of array. |
size | Number of elements in array. |
|
inlineexplicit |
Creates an exception object with the provided initializer/reason.
[in] | details | Initializer for the exception. |
std::bad_alloc | if out of memory. |
It is possible to call this constructor either with an explicit ExceptionInitializer object (useful for more complex cases), or a simple string if only a reason string needs to be provided.
|
pure virtual |
Query whether element wants to run at step / time.
Element can register one or more functions to be run at that step through the registration pointer.
Implemented in gmx::MttkBoxScaling, gmx::EnergyData::Element, gmx::StatePropagatorData::Element, gmx::MttkElement, gmx::NoseHooverChainsElement, gmx::FreeEnergyPerturbationData::Element, gmx::Propagator< integrationStage >, gmx::ComputeGlobalsElement< algorithm >, gmx::CheckpointHelper, gmx::ForceElement, gmx::TrajectoryElement, gmx::VelocityScalingTemperatureCoupling, gmx::ConstraintsElement< variable >, gmx::ParrinelloRahmanBarostat, gmx::CompositeSimulatorElement, gmx::FirstOrderPressureCoupling, gmx::ExpandedEnsembleElement, gmx::AndersenTemperatureCoupling, and gmx::PullElement.
|
inlineexplicit |
Creates an exception object with the provided initializer/reason.
[in] | details | Initializer for the exception. |
std::bad_alloc | if out of memory. |
It is possible to call this constructor either with an explicit ExceptionInitializer object (useful for more complex cases), or a simple string if only a reason string needs to be provided.