Gromacs
2025.1
|
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 . | |
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.
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).