ls1-MarDyn
ls1-MarDyn molecular dynamics code
Public Member Functions | Friends | List of all members
CommunicationPartner Class Reference

#include <CommunicationPartner.h>

Public Member Functions

 CommunicationPartner (const int r, const double hLo[3], const double hHi[3], const double bLo[3], const double bHi[3], const double sh[3], const int offset[3], const bool enlarged[3][2])
 
 CommunicationPartner (const int r)
 
 CommunicationPartner (const int r, const double leavingLo[3], const double leavingHi[3])
 
 CommunicationPartner (const CommunicationPartner &o)
 
CommunicationPartneroperator= (const CommunicationPartner &b)
 
void initSend (ParticleContainer *moleculeContainer, const MPI_Comm &comm, const MPI_Datatype &type, MessageType msgType, std::vector< Molecule > &invalidParticles, bool mightUseInvalidParticles, bool doHaloPositionCheck, bool removeFromContainer=false)
 
bool testSend ()
 
void resetReceive ()
 
bool iprobeCount (const MPI_Comm &comm, const MPI_Datatype &type)
 
bool testRecv (ParticleContainer *moleculeContainer, bool removeRecvDuplicates, bool force=false)
 
void initRecv (int numParticles, const MPI_Comm &comm, const MPI_Datatype &type)
 
void deadlockDiagnosticSendRecv ()
 
void deadlockDiagnosticSend ()
 
void deadlockDiagnosticRecv ()
 
int getRank () const
 
const int * getOffset ()
 
bool isFaceCommunicator () const
 
int getFaceCommunicationDirection () const
 
void enlargeInOtherDirections (unsigned int d, double enlargement)
 
void add (CommunicationPartner partner)
 
size_t getDynamicSize ()
 
void print (std::ostream &stream) const
 

Friends

class NeighborAcquirerTest
 

Detailed Description

(Bi-Directional) MPI Communication Partner.

Member Function Documentation

◆ add()

void CommunicationPartner::add ( CommunicationPartner  partner)

Combines current CommunicationPartner with the given partner

Parameters
partnerwhich to add to the current CommunicationPartner

◆ getFaceCommunicationDirection()

int CommunicationPartner::getFaceCommunicationDirection ( ) const
inline
Returns
returns in which direction the face is shared. If it is not a face communicator, -1 is returned

◆ isFaceCommunicator()

bool CommunicationPartner::isFaceCommunicator ( ) const
inline

Specifies, whether the communication to the CommunicationPartner is along a shared face (_offset has only one entry != 0)

Returns
returns whether they are direct face sharing neighbours

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