Gromacs
2024.4
|
#include <gromacs/mdtypes/iforceprovider.h>
Helper struct that bundles data for passing it over to the force providers.
This is a short-lived container that bundles up all necessary input data for the force providers. Its only purpose is to allow calling forceProviders->calculateForces() with just two arguments, one being the container for the input data, the other the container for the output data.
Both ForceProviderInput as well as ForceProviderOutput only package existing data structs together for handing it over to calculateForces(). Apart from the POD entries they own nothing.
Public Member Functions | |
ForceProviderInput (ArrayRef< const RVec > x, int homenr, ArrayRef< const real > chargeA, ArrayRef< const real > massT, double time, int64_t step, const matrix box, const t_commrec &cr) | |
Constructor assembles all necessary force provider input data. More... | |
Public Attributes | |
ArrayRef< const RVec > | x_ |
The atomic positions. | |
int | homenr_ |
ArrayRef< const real > | chargeA_ |
ArrayRef< const real > | massT_ |
double | t_ |
The current time in the simulation. | |
int64_t | step_ |
The current step in the simulation. | |
matrix | box_ = { { 0, 0, 0 }, { 0, 0, 0 }, { 0, 0, 0 } } |
The simulation box. | |
const t_commrec & | cr_ |
Communication record structure. | |
|
inline |
Constructor assembles all necessary force provider input data.
[in] | x | Atomic positions. |
[in] | homenr | Number of atoms on the domain. |
[in] | chargeA | Atomic charges for atoms on the domain. |
[in] | massT | Atomic masses for atoms on the domain. |
[in] | time | The current time in the simulation. |
[in] | step | The current step in the simulation |
[in] | box | The simulation box. |
[in] | cr | Communication record structure. |