Gromacs
2024.4
|
#include <gromacs/modularsimulator/velocityscalingtemperaturecoupling.h>
Element implementing the a velocity-scaling thermostat.
This element takes a callback to the propagator and updates the velocity scaling factor according to the internal temperature coupling implementation.
Note that the concrete implementation is handled by the concrete implementations of the ITemperatureCouplingImpl interface, while the element handles the scheduling and interfacing with other elements.
Public Member Functions | |
VelocityScalingTemperatureCoupling (int nstcouple, int offset, UseFullStepKE useFullStepKE, ReportPreviousStepConservedEnergy reportPreviousConservedEnergy, int64_t seed, int numTemperatureGroups, double couplingTimeStep, const real *referenceTemperature, const real *couplingTime, const real *numDegreesOfFreedom, EnergyData *energyData, TemperatureCoupling couplingType) | |
Constructor. | |
void | scheduleTask (Step step, Time time, const RegisterRunFunction ®isterRunFunction) override |
Register run function for step / time. More... | |
void | elementSetup () override |
Sanity check at setup time. | |
void | elementTeardown () override |
No element teardown needed. | |
void | connectWithMatchingPropagator (const PropagatorConnection &connectionData, const PropagatorTag &propagatorTag) |
Connect this to propagator. | |
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. | |
Public Member Functions inherited from gmx::IEnergySignallerClient | |
virtual | ~IEnergySignallerClient ()=default |
Standard virtual destructor. | |
Static Public Member Functions | |
static ISimulatorElement * | getElementPointerImpl (LegacySimulatorData *legacySimulatorData, ModularSimulatorAlgorithmBuilderHelper *builderHelper, StatePropagatorData *statePropagatorData, EnergyData *energyData, FreeEnergyPerturbationData *freeEnergyPerturbationData, GlobalCommunicationHelper *globalCommunicationHelper, ObservablesReducer *observablesReducer, Offset offset, UseFullStepKE useFullStepKE, ReportPreviousStepConservedEnergy reportPreviousStepConservedEnergy, const PropagatorTag &propagatorTag) |
Factory method implementation. More... | |
Additional Inherited Members |
|
static |
Factory method implementation.
legacySimulatorData | Pointer allowing access to simulator level data |
builderHelper | ModularSimulatorAlgorithmBuilder helper object |
statePropagatorData | Pointer to the StatePropagatorData object |
energyData | Pointer to the EnergyData object |
freeEnergyPerturbationData | Pointer to the FreeEnergyPerturbationData object |
globalCommunicationHelper | Pointer to the GlobalCommunicationHelper object |
observablesReducer | Pointer to the ObservablesReducer object |
propagatorTag | Tag of the propagator to connect to |
offset | The step offset at which the thermostat is applied |
useFullStepKE | Whether full step or half step KE is used |
reportPreviousStepConservedEnergy | Report the previous or the current step conserved energy |
storeElement
|
overridevirtual |
Register run function for step / time.
step | The step number |
time | The time |
registerRunFunction | Function allowing to register a run function |
Implements gmx::ISimulatorElement.