Gromacs  2026.0-dev-20250217-60d5e5b
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
#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"
+ Include dependency graph for haloexchange.cpp:

Description

Implements the HaloExchange class for halo communication of coordinates and forces.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

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()