Gromacs
2020.1
|
#include <gromacs/modularsimulator/propagator.h>
Propagator element.
The propagator element can, through templating, cover the different propagation types used in NVE MD. The combination of templating, static functions, and having only the inner-most operations in the static functions allows to have performance comparable to fused update elements while keeping easily re-orderable single instructions.
algorithm | The integration types |
Public Member Functions | |
Propagator (double timestep, StatePropagatorData *statePropagatorData, const MDAtoms *mdAtoms, gmx_wallcycle *wcycle) | |
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 |
No element teardown needed. | |
void | setNumVelocityScalingVariables (int numVelocityScalingVariables) |
Set the number of velocity scaling variables. | |
ArrayRef< real > | viewOnVelocityScaling () |
Get view on the velocity scaling vector. | |
PropagatorCallbackPtr | velocityScalingCallback () |
Get velocity scaling callback. | |
ArrayRef< rvec > | viewOnPRScalingMatrix () |
Get view on the full PR scaling matrix. | |
PropagatorCallbackPtr | prScalingCallback () |
Get PR scaling callback. | |
|
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.