![]() |
MFEM v4.8.0
Finite element discretization library
|
#include <communication.hpp>
Public Member Functions | |
GroupTopology () | |
Constructor with the MPI communicator = 0. | |
GroupTopology (MPI_Comm comm) | |
Constructor given the MPI communicator 'comm'. | |
GroupTopology (const GroupTopology >) | |
Copy constructor. | |
void | SetComm (MPI_Comm comm) |
Set the MPI communicator to 'comm'. | |
MPI_Comm | GetComm () const |
Return the MPI communicator. | |
int | MyRank () const |
Return the MPI rank within this object's communicator. | |
int | NRanks () const |
Return the number of MPI ranks within this object's communicator. | |
void | Create (ListOfIntegerSets &groups, int mpitag) |
Set up the group topology given the list of sets of shared entities. | |
int | NGroups () const |
Return the number of groups. | |
int | GetNumNeighbors () const |
Return the number of neighbors including the local processor. | |
int | GetNeighborRank (int i) const |
Return the MPI rank of neighbor 'i'. | |
bool | IAmMaster (int g) const |
Return true if I am master for group 'g'. | |
int | GetGroupMaster (int g) const |
Return the neighbor index of the group master for a given group. Neighbor 0 is the local processor. | |
int | GetGroupMasterRank (int g) const |
Return the rank of the group master for group 'g'. | |
int | GetGroupMasterGroup (int g) const |
Return the group number in the master for group 'g'. | |
int | GetGroupSize (int g) const |
Get the number of processors in a group. | |
const int * | GetGroup (int g) const |
Return a pointer to a list of neighbors for a given group. Neighbor 0 is the local processor. | |
void | Save (std::ostream &out) const |
Save the data in a stream. | |
void | Load (std::istream &in) |
Load the data from a stream. | |
void | Copy (GroupTopology ©) const |
Copy the internal data to the external 'copy'. | |
void | Swap (GroupTopology &other) |
Swap the internal data with another GroupTopology object. | |
virtual | ~GroupTopology () |
The shared entities (e.g. vertices, faces and edges) are split into groups, each group determined by the set of participating processors. They are numbered locally in lproc. Assumptions:
Definition at line 143 of file communication.hpp.
|
inline |
Constructor with the MPI communicator = 0.
Definition at line 161 of file communication.hpp.
|
inline |
Constructor given the MPI communicator 'comm'.
Definition at line 164 of file communication.hpp.
mfem::GroupTopology::GroupTopology | ( | const GroupTopology & | gt | ) |
Copy constructor.
Definition at line 49 of file communication.cpp.
|
inlinevirtual |
Definition at line 226 of file communication.hpp.
void mfem::GroupTopology::Copy | ( | GroupTopology & | copy | ) | const |
Copy the internal data to the external 'copy'.
Definition at line 332 of file communication.cpp.
void mfem::GroupTopology::Create | ( | ListOfIntegerSets & | groups, |
int | mpitag ) |
Set up the group topology given the list of sets of shared entities.
Definition at line 97 of file communication.cpp.
|
inline |
Return the MPI communicator.
Definition at line 173 of file communication.hpp.
|
inline |
Return a pointer to a list of neighbors for a given group. Neighbor 0 is the local processor.
Definition at line 212 of file communication.hpp.
|
inline |
Return the neighbor index of the group master for a given group. Neighbor 0 is the local processor.
Definition at line 198 of file communication.hpp.
|
inline |
Return the group number in the master for group 'g'.
Definition at line 205 of file communication.hpp.
|
inline |
Return the rank of the group master for group 'g'.
Definition at line 201 of file communication.hpp.
|
inline |
Get the number of processors in a group.
Definition at line 208 of file communication.hpp.
|
inline |
Return the MPI rank of neighbor 'i'.
Definition at line 191 of file communication.hpp.
|
inline |
Return the number of neighbors including the local processor.
Definition at line 188 of file communication.hpp.
|
inline |
Return true if I am master for group 'g'.
Definition at line 194 of file communication.hpp.
void mfem::GroupTopology::Load | ( | std::istream & | in | ) |
Load the data from a stream.
Definition at line 296 of file communication.cpp.
|
inline |
Return the MPI rank within this object's communicator.
Definition at line 176 of file communication.hpp.
|
inline |
Return the number of groups.
Definition at line 185 of file communication.hpp.
|
inline |
Return the number of MPI ranks within this object's communicator.
Definition at line 179 of file communication.hpp.
void mfem::GroupTopology::Save | ( | std::ostream & | out | ) | const |
Save the data in a stream.
Definition at line 273 of file communication.cpp.
|
inline |
Set the MPI communicator to 'comm'.
Definition at line 170 of file communication.hpp.
void mfem::GroupTopology::Swap | ( | GroupTopology & | other | ) |
Swap the internal data with another GroupTopology object.
Definition at line 341 of file communication.cpp.