Gromacs  2026.0-dev-20251119-5f0a571d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes
gmx::ForceProviderInput Class Reference

#include <gromacs/mdtypes/iforceprovider.h>

+ Collaboration diagram for gmx::ForceProviderInput:

Description

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 MpiComm &mpiComm, const gmx_domdec_t *dd)
 Constructor assembles all necessary force provider input data. More...
 

Public Attributes

ArrayRef< const RVecx_
 The atomic positions.
 
int homenr_
 
ArrayRef< const realchargeA_
 
ArrayRef< const realmassT_
 
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 MpiCommmpiComm_
 Communication object for my group.
 
const gmx_domdec_t * dd_
 Domain decomposition object, deprecated.
 

Constructor & Destructor Documentation

gmx::ForceProviderInput::ForceProviderInput ( ArrayRef< const RVec x,
int  homenr,
ArrayRef< const real chargeA,
ArrayRef< const real massT,
double  time,
int64_t  step,
const matrix  box,
const MpiComm mpiComm,
const gmx_domdec_t *  dd 
)
inline

Constructor assembles all necessary force provider input data.

Parameters
[in]xAtomic positions.
[in]homenrNumber of atoms on the domain.
[in]chargeAAtomic charges for atoms on the domain.
[in]massTAtomic masses for atoms on the domain.
[in]timeThe current time in the simulation.
[in]stepThe current step in the simulation
[in]boxThe simulation box.
[in]mpiCommCommunication object for my group.
[in]ddDomain decomposition object, pass nullptr when DD is not in use.

The documentation for this class was generated from the following file: