Gromacs
2026.0-dev-20250217-60d5e5b
|
#include "gmxpre.h"
#include "haloexchange.h"
#include "config.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/pbcutil/ishift.h"
#include "gromacs/pbcutil/pbc.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/range.h"
#include "gromacs/utility/template_mp.h"
#include "domainpaircomm.h"
#include "domdec_internal.h"
Implements the HaloExchange class for halo communication of coordinates and forces.
Functions | |
template<typename DomainPairComm , typename T > | |
void | gmx::anonymous_namespace{haloexchange.cpp}::ddIsendDomain (const DomainPairComm &send, ArrayRef< T > sendBuffer, const HaloMpiTag tag, std::vector< MPI_Request > *mpiRequests) |
Initiates a non-blocking send to another domain. More... | |
template<typename DomainPairComm , typename T > | |
void | gmx::anonymous_namespace{haloexchange.cpp}::ddIreceiveDomain (const DomainPairComm &receive, ArrayRef< T > receiveBuffer, const HaloMpiTag tag, std::vector< MPI_Request > *mpiRequests) |
Initiates a non-blocking receive from another domain. More... | |
template<bool commOverPbc, bool usesScrewPbc> | |
void | gmx::anonymous_namespace{haloexchange.cpp}::packCoordinatesTemplated (const DomainCommBackward &domainComm, const matrix box, const RVec &shiftVec, ArrayRef< const RVec > x, ArrayRef< RVec > sendBuffer) |
Templated version of packCoordinateSendBuffer() | |
void | gmx::anonymous_namespace{haloexchange.cpp}::mpiWaitall (ArrayRef< MPI_Request > mpiRequests, ArrayRef< MPI_Status > mpiStatuses) |
Wrapper for MPI_Waitall that takes ArrayRefs. | |
template<bool usesScrewPbc, bool haveShiftForces> | |
void | gmx::anonymous_namespace{haloexchange.cpp}::accumulateReceivedForcesTemplated (const DomainCommBackward &domainComm, ArrayRef< RVec > forces, RVec gmx_unused *shiftForce) |
Templated version of packCoordinateSendBuffer() | |