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

Classes

class  GridColumnInfo
 Collection of information for an NBNxM grid column. 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

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...
 
template<bool doChecksForBondeds>
int addClusterRangesForGridColumn (const Grid &grid, const int columnIndex, const ZoneCorners &zoneCorners, const DistanceCalculationInfo &dci, const std::vector< bool > &isClusterMissingLinks, FastVector< DomainCommBackward::GridClusterRange > *gridClusterRanges)
 Computes and adds the cluster ranges we will communicatie for grid column columnIndex. More...
 

Function Documentation

template<bool doChecksForBondeds>
int gmx::anonymous_namespace{domainpaircomm.cpp}::addClusterRangesForGridColumn ( const Grid &  grid,
const int  columnIndex,
const ZoneCorners &  zoneCorners,
const DistanceCalculationInfo &  dci,
const std::vector< bool > &  isClusterMissingLinks,
FastVector< DomainCommBackward::GridClusterRange > *  gridClusterRanges 
)

Computes and adds the cluster ranges we will communicatie for grid column columnIndex.

The cluster ranges are added to columnInfo.

Returns
the number of clusters added
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).