Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Classes | Public Member Functions | Public Attributes
nbnxn_atomdata_t Struct Reference

#include <gromacs/nbnxm/atomdata.h>

+ Collaboration diagram for nbnxn_atomdata_t:

Description

Struct that stores atom related data for the nbnxn module.

Note: performance would improve slightly when all std::vector containers in this struct would not initialize during resize().

Classes

struct  Params
 The actual atom data parameter values. More...
 
struct  SimdMasks
 Diagonal and topology exclusion helper data for all SIMD kernels. More...
 

Public Member Functions

 nbnxn_atomdata_t (gmx::PinningPolicy pinningPolicy, const gmx::MDLogger &mdlog, Nbnxm::KernelType kernelType, int enbnxninitcombrule, int ntype, gmx::ArrayRef< const real > nbfp, int n_energygroups, int nout)
 Constructor. More...
 
const Paramsparams () const
 Returns a const reference to the parameters.
 
ParamsparamsDeprecated ()
 Returns a non-const reference to the parameters.
 
int numAtoms () const
 Returns the current total number of atoms stored.
 
gmx::ArrayRef< const realx () const
 Return the coordinate buffer, and q with xFormat==nbatXYZQ.
 
gmx::ArrayRef< realx ()
 Return the coordinate buffer, and q with xFormat==nbatXYZQ.
 
void resizeCoordinateBuffer (int numAtoms)
 Resizes the coordinate buffer and sets the number of atoms.
 
void resizeForceBuffers ()
 Resizes the force buffers for the current number of atoms.
 

Public Attributes

int natoms_local
 Number of local atoms.
 
int XFormat
 The format of x (and q), enum.
 
int FFormat
 The format of f, enum.
 
bool bDynamicBox
 Do we need to update shift_vec every step?
 
gmx::HostVector< gmx::RVecshift_vec
 Shift vectors, copied from t_forcerec.
 
int xstride
 stride for a coordinate in x (usually 3 or 4)
 
int fstride
 stride for a coordinate in f (usually 3 or 4)
 
const SimdMasks simdMasks
 Masks for handling exclusions in the SIMD kernels.
 
std::vector
< nbnxn_atomdata_output_t
out
 Output data structures, 1 per thread.
 
bool bUseBufferFlags
 Reduction related dataUse the flags or operate on all atoms.
 
std::vector< gmx_bitmask_tbuffer_flags
 Flags for buffer zeroing+reduc.
 

Constructor & Destructor Documentation

nbnxn_atomdata_t::nbnxn_atomdata_t ( gmx::PinningPolicy  pinningPolicy,
const gmx::MDLogger mdlog,
Nbnxm::KernelType  kernelType,
int  enbnxninitcombrule,
int  ntype,
gmx::ArrayRef< const real nbfp,
int  n_energygroups,
int  nout 
)

Constructor.

Parameters
[in]pinningPolicySets the pinning policy for all data that might be transferred to a GPU
[in]mdlogThe logger
[in]kernelTypeNonbonded NxN kernel type
[in]enbnxninitcombruleLJ combination rule
[in]ntypeNumber of atom types
[in]nbfpNon-bonded force parameters
[in]n_energygroupsNumber of energy groups
[in]noutNumber of output data structures

The documentation for this struct was generated from the following files: