Gromacs  2024.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Static Public Member Functions
gmx::FirstOrderPressureCoupling Class Referencefinal

#include <gromacs/modularsimulator/firstorderpressurecoupling.h>

+ Inheritance diagram for gmx::FirstOrderPressureCoupling:
+ Collaboration diagram for gmx::FirstOrderPressureCoupling:

Description

Element performing first-order pressure coupling.

This element implements the first-order pressure coupling algorithms (Berendesen, c-rescale).

Public Member Functions

 FirstOrderPressureCoupling (int couplingFrequency, int couplingOffset, real couplingTimeStep, StatePropagatorData *statePropagatorData, EnergyData *energyData, FILE *fplog, const t_inputrec *inputrec, const MDAtoms *mdAtoms, t_nrnb *nrnb, ReportPreviousStepConservedEnergy reportPreviousStepConservedEnergy)
 Constructor.
 
void scheduleTask (Step step, Time time, const RegisterRunFunction &function) override
 Query whether element wants to run at step / time. More...
 
void elementSetup () override
 Setup - initialize relative box matrix.
 
void elementTeardown () override
 No teardown needed.
 
void saveCheckpointState (std::optional< WriteCheckpointData > checkpointData, const t_commrec *cr) override
 ICheckpointHelperClient write checkpoint implementation.
 
void restoreCheckpointState (std::optional< ReadCheckpointData > checkpointData, const t_commrec *cr) override
 ICheckpointHelperClient read checkpoint implementation.
 
const std::string & clientID () override
 ICheckpointHelperClient key implementation.
 
- Public Member Functions inherited from gmx::ISimulatorElement
virtual ~ISimulatorElement ()=default
 Standard virtual destructor.
 
- Public Member Functions inherited from gmx::ICheckpointHelperClient
virtual ~ICheckpointHelperClient ()=default
 Standard virtual destructor.
 

Static Public Member Functions

static ISimulatorElementgetElementPointerImpl (LegacySimulatorData *legacySimulatorData, ModularSimulatorAlgorithmBuilderHelper *builderHelper, StatePropagatorData *statePropagatorData, EnergyData *energyData, FreeEnergyPerturbationData gmx_unused *freeEnergyPerturbationData, GlobalCommunicationHelper gmx_unused *globalCommunicationHelper, ObservablesReducer *observablesReducer, int offset, ReportPreviousStepConservedEnergy reportPreviousStepConservedEnergy)
 Factory method implementation. More...
 

Member Function Documentation

ISimulatorElement * gmx::FirstOrderPressureCoupling::getElementPointerImpl ( LegacySimulatorData legacySimulatorData,
ModularSimulatorAlgorithmBuilderHelper builderHelper,
StatePropagatorData statePropagatorData,
EnergyData energyData,
FreeEnergyPerturbationData gmx_unused freeEnergyPerturbationData,
GlobalCommunicationHelper gmx_unused globalCommunicationHelper,
ObservablesReducer observablesReducer,
int  offset,
ReportPreviousStepConservedEnergy  reportPreviousStepConservedEnergy 
)
static

Factory method implementation.

Parameters
legacySimulatorDataPointer allowing access to simulator level data
builderHelperModularSimulatorAlgorithmBuilder helper object
statePropagatorDataPointer to the StatePropagatorData object
energyDataPointer to the EnergyData object
freeEnergyPerturbationDataPointer to the FreeEnergyPerturbationData object
globalCommunicationHelperPointer to the GlobalCommunicationHelper object
observablesReducerPointer to the ObservablesReducer object
offsetThe step offset at which the barostat is applied
reportPreviousStepConservedEnergyReport the previous or the current step conserved energy
Returns
Pointer to the element to be added. Element needs to have been stored using storeElement
void gmx::FirstOrderPressureCoupling::scheduleTask ( Step  ,
Time  ,
const RegisterRunFunction  
)
overridevirtual

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.

Implements gmx::ISimulatorElement.


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