Gromacs  2026.0-dev-20250318-75a6c20
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
gmx::anonymous_namespace{domainpaircomm.cpp} Namespace Reference

Classes

struct  ZoneCorners
 The upper corners of a zone, used for computing which halo cell need to be sent. More...
 
struct  DistanceCalculationInfo
 Information for distance calculations between domains. More...
 
struct  DistancesSquared
 Struct for returning results from distance calculation of corners to bounding boxes. More...
 

Functions

GridColumnInfo nbnxmGetLocalGridColumn (const Grid &grid, const int columnIndex)
 Returns information on a column of the local grid.
 
template<typename T >
void ddSendReceive (const DomainCommBackward &domainCommBackward, const DomainCommForward &domainCommForward, const int direction, const T *sendBuffer, const int numElementsToSend, T *receiveBuffer, const int numElementsToReceive, const HaloMpiTag tag)
 Move data of type T forward or backward between zones. More...
 
DistancesSquared cornerToBoundingBoxDistanceRectangular (const DistanceCalculationInfo &dci, const RVec &cornerTwoBody, const RVec &cornerMultiBody, const BoundingBox &bb)
 Returns the squared distances for non-bonded and bonded interactions of a bounding box to zone corners.
 
DistancesSquared cornerToBoundingBoxDistanceTrilinic (const DistanceCalculationInfo &dci, const RVec &cornerTwoBody, const RVec &cornerMultiBody, const BoundingBox &bb)
 Returns the squared distances for non-bonded and bonded interactions of a bounding box to zone corners.
 
DistancesSquared cornerToBoundingBoxDistance (const DistanceCalculationInfo &dci, const RVec &cornerTwoBody, const RVec &cornerMultiBody, const BoundingBox &bb)
 Wrapper function for corner - bounding-box distance calculation. More...
 
ZoneCorners getZoneCorners (const gmx_domdec_t &dd, const matrix box, const int zone, const real maxAtomGroupRadius)
 Determines the corner for 2-body, corner_2b, and multi-body, corner_mb, communication distances.
 
template<bool doChecksForBondeds>
Range< int > getCellRangeForGridColumn (const Grid &grid, const int columnIndex, const ZoneCorners &zoneCorners, const DistanceCalculationInfo &dci, const std::vector< bool > &isCellMissingLinks)
 Computes and sets the cell range we will communicatie for grid column columnIndex.
 

Function Documentation

DistancesSquared gmx::anonymous_namespace{domainpaircomm.cpp}::cornerToBoundingBoxDistance ( const DistanceCalculationInfo &  dci,
const RVec &  cornerTwoBody,
const RVec &  cornerMultiBody,
const BoundingBox &  bb 
)

Wrapper function for corner - bounding-box distance calculation.

Only splits triclinic vs non-triclinic distance calculations.

template<typename T >
void gmx::anonymous_namespace{domainpaircomm.cpp}::ddSendReceive ( const DomainCommBackward &  domainCommBackward,
const DomainCommForward &  domainCommForward,
const int  direction,
const T *  sendBuffer,
const int  numElementsToSend,
T *  receiveBuffer,
const int  numElementsToReceive,
const HaloMpiTag  tag 
)

Move data of type T forward or backward between zones.

Moves in the dimension indexed by ddDimensionIndex, either forward (direction=dddirFoward) or backward (direction=dddirBackward).