Gromacs
2020-beta1
|
#include <gromacs/modularsimulator/energyelement.h>
Element managing energies.
The EnergyElement owns the EnergyObject, and is hence responsible for saving energy data and writing it to trajectory. It also owns the tensors for the different virials and the pressure as well as the total dipole vector.
It subscribes to the trajectory signaller, the energy signaller, and the logging signaller to know when an energy calculation is needed and when a non-recording step is enough. The simulator builder is responsible to place the element in a location at which a valid energy state is available. The EnergyElement is also a subscriber to the trajectory writer element, as it is responsible to write energy data to trajectory.
The EnergyElement offers an interface to add virial contributions, but also allows access to the raw pointers to tensor data, the dipole vector, and the legacy energy data structures.
Public Member Functions | |
EnergyElement (StatePropagatorData *statePropagatorData, FreeEnergyPerturbationElement *freeEnergyPerturbationElement, const gmx_mtop_t *globalTopology, const t_inputrec *inputrec, const MDAtoms *mdAtoms, gmx_enerdata_t *enerd, gmx_ekindata_t *ekind, const Constraints *constr, FILE *fplog, t_fcdata *fcd, const MdModulesNotifier &mdModulesNotifier, bool isMaster, ObservablesHistory *observablesHistory, StartingBehavior startingBehavior) | |
Constructor. | |
void | scheduleTask (Step step, Time time, const RegisterRunFunctionPtr ®isterRunFunction) override |
Register run function for step / time. More... | |
void | elementSetup () override |
No element setup needed. | |
void | elementTeardown () override |
Final output. More... | |
void | addToForceVirial (const tensor virial, Step step) |
Add contribution to force virial. More... | |
void | addToConstraintVirial (const tensor virial, Step step) |
Add contribution to constraint virial. More... | |
rvec * | forceVirial (Step step) |
Get pointer to force virial tensor. More... | |
rvec * | constraintVirial (Step step) |
Get pointer to constraint virial tensor. More... | |
rvec * | totalVirial (Step step) |
Get pointer to total virial tensor. More... | |
rvec * | pressure (Step step) |
Get pointer to pressure tensor. More... | |
real * | muTot () |
Get pointer to mu_tot. More... | |
gmx_enerdata_t * | enerdata () |
Get pointer to energy structure. More... | |
gmx_ekindata_t * | ekindata () |
Get pointer to kinetic energy structure. More... | |
bool * | needToSumEkinhOld () |
Get pointer to needToSumEkinhOld. More... | |
void | setVRescaleThermostat (const VRescaleThermostat *vRescaleThermostat) |
set vrescale thermostat More... | |
void | setParrinelloRahamnBarostat (const ParrinelloRahmanBarostat *parrinelloRahmanBarostat) |
set Parrinello-Rahman barostat More... | |
Public Member Functions inherited from gmx::ISimulatorElement | |
virtual | ~ISimulatorElement ()=default |
Standard virtual destructor. | |
Public Member Functions inherited from gmx::ITrajectoryWriterClient | |
virtual | ~ITrajectoryWriterClient ()=default |
Standard virtual destructor. | |
Public Member Functions inherited from gmx::ITrajectorySignallerClient | |
virtual | ~ITrajectorySignallerClient ()=default |
Standard virtual destructor. | |
Public Member Functions inherited from gmx::IEnergySignallerClient | |
virtual | ~IEnergySignallerClient ()=default |
Standard virtual destructor. | |
Public Member Functions inherited from gmx::ILoggingSignallerClient | |
virtual | ~ILoggingSignallerClient ()=default |
Standard virtual destructor. | |
Public Member Functions inherited from gmx::ICheckpointHelperClient | |
virtual | ~ICheckpointHelperClient ()=default |
Standard virtual destructor. | |
Static Public Member Functions | |
static void | initializeEnergyHistory (StartingBehavior startingBehavior, ObservablesHistory *observablesHistory, EnergyOutput *energyOutput) |
Initialize energy history. More... | |
Additional Inherited Members |