OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
olb::particles::communication::ParticleCommunicator Struct Reference

#include <particleCommunicator.h>

+ Collaboration diagram for olb::particles::communication::ParticleCommunicator:

Public Member Functions

 ParticleCommunicator ()
 
 ~ParticleCommunicator ()
 
 ParticleCommunicator (const ParticleCommunicator &)=delete
 
ParticleCommunicatoroperator= (const ParticleCommunicator &)=delete
 
 ParticleCommunicator (ParticleCommunicator &&)=delete
 
ParticleCommunicatoroperator= (ParticleCommunicator &&)=delete
 

Public Attributes

MPI_Comm particleDistribution
 
MPI_Comm surfaceForceComm
 Communicator for particle distribution communication.
 
MPI_Comm wallContactDetectionComm
 Communicator for surface force communication.
 
MPI_Comm particleContactDetectionComm
 Communicator for wall contact detection communication.
 
MPI_Comm contactTreatmentComm
 Communicator for particle contact detection communication.
 
MPI_Comm equationsOfMotionComm
 Communicator for contact treatment results communication.
 

Detailed Description

Definition at line 35 of file particleCommunicator.h.

Constructor & Destructor Documentation

◆ ParticleCommunicator() [1/3]

olb::particles::communication::ParticleCommunicator::ParticleCommunicator ( )

Definition at line 33 of file particleCommunicator.hh.

34{
35#ifdef PARALLEL_MODE_MPI
36 if (MPI_Comm_dup(MPI_COMM_WORLD, &particleDistribution) != MPI_SUCCESS) {
37 throw std::runtime_error("Unable to duplicate MPI communicator");
38 }
39 if (MPI_Comm_dup(MPI_COMM_WORLD, &surfaceForceComm) != MPI_SUCCESS) {
40 throw std::runtime_error("Unable to duplicate MPI communicator");
41 }
42 if (MPI_Comm_dup(MPI_COMM_WORLD, &wallContactDetectionComm) != MPI_SUCCESS) {
43 throw std::runtime_error("Unable to duplicate MPI communicator");
44 }
45 if (MPI_Comm_dup(MPI_COMM_WORLD, &particleContactDetectionComm) !=
46 MPI_SUCCESS) {
47 throw std::runtime_error("Unable to duplicate MPI communicator");
48 }
49 if (MPI_Comm_dup(MPI_COMM_WORLD, &contactTreatmentComm) != MPI_SUCCESS) {
50 throw std::runtime_error("Unable to duplicate MPI communicator");
51 }
52 if (MPI_Comm_dup(MPI_COMM_WORLD, &equationsOfMotionComm) != MPI_SUCCESS) {
53 throw std::runtime_error("Unable to duplicate MPI communicator");
54 }
55#endif
56}
MPI_Comm contactTreatmentComm
Communicator for particle contact detection communication.
MPI_Comm equationsOfMotionComm
Communicator for contact treatment results communication.
MPI_Comm surfaceForceComm
Communicator for particle distribution communication.
MPI_Comm particleContactDetectionComm
Communicator for wall contact detection communication.
MPI_Comm wallContactDetectionComm
Communicator for surface force communication.

References contactTreatmentComm, equationsOfMotionComm, particleContactDetectionComm, particleDistribution, surfaceForceComm, and wallContactDetectionComm.

◆ ~ParticleCommunicator()

olb::particles::communication::ParticleCommunicator::~ParticleCommunicator ( )

Definition at line 58 of file particleCommunicator.hh.

59{
60#ifdef PARALLEL_MODE_MPI
61 MPI_Comm_free(&particleDistribution);
62 MPI_Comm_free(&surfaceForceComm);
63 MPI_Comm_free(&wallContactDetectionComm);
64 MPI_Comm_free(&particleContactDetectionComm);
65 MPI_Comm_free(&contactTreatmentComm);
66 MPI_Comm_free(&equationsOfMotionComm);
67#endif
68}

References contactTreatmentComm, equationsOfMotionComm, particleContactDetectionComm, particleDistribution, surfaceForceComm, and wallContactDetectionComm.

◆ ParticleCommunicator() [2/3]

olb::particles::communication::ParticleCommunicator::ParticleCommunicator ( const ParticleCommunicator & )
delete

◆ ParticleCommunicator() [3/3]

olb::particles::communication::ParticleCommunicator::ParticleCommunicator ( ParticleCommunicator && )
delete

Member Function Documentation

◆ operator=() [1/2]

ParticleCommunicator & olb::particles::communication::ParticleCommunicator::operator= ( const ParticleCommunicator & )
delete

◆ operator=() [2/2]

ParticleCommunicator & olb::particles::communication::ParticleCommunicator::operator= ( ParticleCommunicator && )
delete

Member Data Documentation

◆ contactTreatmentComm

MPI_Comm olb::particles::communication::ParticleCommunicator::contactTreatmentComm

Communicator for particle contact detection communication.

Definition at line 53 of file particleCommunicator.h.

◆ equationsOfMotionComm

MPI_Comm olb::particles::communication::ParticleCommunicator::equationsOfMotionComm

Communicator for contact treatment results communication.

Definition at line 55 of file particleCommunicator.h.

◆ particleContactDetectionComm

MPI_Comm olb::particles::communication::ParticleCommunicator::particleContactDetectionComm

Communicator for wall contact detection communication.

Definition at line 51 of file particleCommunicator.h.

◆ particleDistribution

MPI_Comm olb::particles::communication::ParticleCommunicator::particleDistribution

Definition at line 46 of file particleCommunicator.h.

◆ surfaceForceComm

MPI_Comm olb::particles::communication::ParticleCommunicator::surfaceForceComm

Communicator for particle distribution communication.

Definition at line 47 of file particleCommunicator.h.

◆ wallContactDetectionComm

MPI_Comm olb::particles::communication::ParticleCommunicator::wallContactDetectionComm

Communicator for surface force communication.

Definition at line 49 of file particleCommunicator.h.


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