Gromacs
2025.0-dev-20241011-013a99c
|
#include <gromacs/modularsimulator/nosehooverchains.h>
Element propagating the Nose-Hoover chains.
This propagates the Nose-Hoover chain degrees of freedom, and transmits the scaling factor to a connected propagator.
Public Member Functions | |
NoseHooverChainsElement (int nstcouple, int offset, NhcUsage nhcUsage, UseFullStepKE useFullStepKE, double propagationTimeStep, ScheduleOnInitStep scheduleOnInitStep, Step initStep, EnergyData *energyData, NoseHooverChainsData *noseHooverChainData, MttkData *mttkData) | |
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 | connectWithPropagator (const PropagatorConnection &connectionData, const PropagatorTag &propagatorTag) |
Connect this to propagator. | |
Public Member Functions inherited from gmx::ISimulatorElement | |
virtual | ~ISimulatorElement ()=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, NhcUsage nhcUsage, Offset offset, UseFullStepKE useFullStepKE, ScheduleOnInitStep scheduleOnInitStep, const MttkPropagatorConnectionDetails &mttkPropagatorConnectionDetails) |
Factory method implementation (no propagator connection) More... | |
static ISimulatorElement * | getElementPointerImpl (LegacySimulatorData *legacySimulatorData, ModularSimulatorAlgorithmBuilderHelper *builderHelper, StatePropagatorData *statePropagatorData, EnergyData *energyData, FreeEnergyPerturbationData *freeEnergyPerturbationData, GlobalCommunicationHelper *globalCommunicationHelper, ObservablesReducer *observablesReducer, NhcUsage nhcUsage, Offset offset, UseFullStepKE useFullStepKE, ScheduleOnInitStep scheduleOnInitStep, const PropagatorTag &propagatorTag) |
Factory method implementation (including propagator connection) More... | |
|
static |
Factory method implementation (no propagator connection)
This signature is used to connect a Nose-Hoover chain to a barostat
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 |
nhcUsage | What the NHC is connected to - system or barostat |
offset | The step offset at which the thermostat is applied |
useFullStepKE | Whether full step or half step KE is used |
scheduleOnInitStep | Whether the element is scheduled on the initial step |
mttkPropagatorConnectionDetails | Connection information for the MTTK barostat |
storeElement
|
static |
Factory method implementation (including propagator connection)
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 |
nhcUsage | What the NHC is connected to - system or barostat |
offset | The step offset at which the thermostat is applied |
useFullStepKE | Whether full step or half step KE is used |
scheduleOnInitStep | Whether the element is scheduled on the initial step |
propagatorTag | Tag of the propagator to connect to |
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.