Gromacs  2026.0-dev-20250123-1eb81f7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Member Functions
gmx::DomainCommForward Class Reference

#include <gromacs/domdec/domainpaircomm.h>

Description

Setup for receiving halo coordinates from another domain and sending halo forces.

This object is used for communicating with a domain that resides in forward direction along the domain decomposition grid. The coordinates are received in place in the coordinate vector on this rank. The forces to send are read directly from the force buffer on this rank.

Public Member Functions

 DomainCommForward (int rank, int zone, MPI_Comm mpiCommAll)
 Constructor. More...
 
void setup (const DomainCommBackward &send, int offsetInCoordinateBuffer)
 Sets up the forward communication, receiving the count from a remote send. More...
 
int rank () const
 Return the remote rank we communicate with.
 
int zone () const
 Return the zone this domain pair resides in.
 
ArrayRef< const std::pair< int,
int > > 
columnsReceived () const
 Returns the list of pairs of column indices and cell counts that we receive.
 
int numAtoms () const
 The number of atoms to receive.
 
Range< int > atomRange () const
 The atom range we store received coordinates in and send forces from.
 
MPI_Comm mpiCommAll () const
 The MPI communicator for halo exchange.
 

Constructor & Destructor Documentation

gmx::DomainCommForward::DomainCommForward ( int  rank,
int  zone,
MPI_Comm  mpiCommAll 
)

Constructor.

Parameters
[in]rankThe MPI rank we communicate with
[in]zoneThe domain decomposition zone this pair of domains belongs to
[in]mpiCommAllMPI communicator for all PP ranks

Member Function Documentation

void gmx::DomainCommForward::setup ( const DomainCommBackward send,
int  offsetInCoordinateBuffer 
)

Sets up the forward communication, receiving the count from a remote send.

Parameters
[in]sendThe send data we need to send foward
[in]offsetInCoordinateBufferThe offset in the coordinate buffer for receiving coordinates

The documentation for this class was generated from the following files: