Gromacs  2025.0-dev-20241009-5c23d5f
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions | Public Attributes
gmx::PairSearch Class Reference

#include <gromacs/nbnxm/pairsearch.h>

+ Collaboration diagram for gmx::PairSearch:

Description

Main pair-search struct, contains the grid(s), not the pair-list(s)

Public Member Functions

void putOnGrid (const matrix box, int ddZone, const rvec lowerCorner, const rvec upperCorner, const UpdateGroupsCog *updateGroupsCog, Range< int > atomRange, int numGridAtoms, real atomDensity, ArrayRef< const int32_t > atomInfo, ArrayRef< const RVec > x, const int *move, nbnxn_atomdata_t *nbat)
 Puts the atoms in ddZone on the grid and copies the coordinates to nbat.
 
 PairSearch (PbcType pbcType, bool doTestParticleInsertion, const IVec *numDDCells, const DomdecZones *zones, PairlistType pairlistType, bool haveFep, bool localAtomOrderMatchesNbnxmOrder, int maxNumThreads, PinningPolicy pinningPolicy)
 Constructor. More...
 
void setLocalAtomOrder ()
 Sets the order of the local atoms to the order grid atom ordering.
 
const GridSetgridSet () const
 Returns the set of search grids.
 
ArrayRef< const PairsearchWorkwork () const
 Returns the list of thread-local work objects.
 
ArrayRef< PairsearchWorkwork ()
 Returns the list of thread-local work objects.
 

Public Attributes

SearchCycleCounting cycleCounting_
 Cycle counting for measuring components of the search.
 

Constructor & Destructor Documentation

gmx::PairSearch::PairSearch ( PbcType  pbcType,
bool  doTestParticleInsertion,
const IVec numDDCells,
const DomdecZones zones,
PairlistType  pairlistType,
bool  haveFep,
bool  localAtomOrderMatchesNbnxmOrder,
int  maxNumThreads,
PinningPolicy  pinningPolicy 
)

Constructor.

Parameters
[in]pbcTypeThe periodic boundary conditions
[in]doTestParticleInsertionWhether test-particle insertion is active
[in]numDDCellsThe number of domain decomposition cells per dimension, without DD nullptr should be passed
[in]zonesThe domain decomposition zone setup, without DD nullptr should be passed
[in]pairlistTypeThe type of the pair list
[in]haveFepTells whether non-bonded interactions are perturbed
[in]localAtomOrderMatchesNbnxmOrderWhether the local atom order should match the NBNxM order
[in]maxNumThreadsThe maximum number of threads used in the search
[in]pinningPolicySets the pinning policy for all buffers used on the GPU

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