MFEM
v4.5.2
Finite element discretization library
|
#include <communication.hpp>
Public Member Functions | |
GroupTopology () | |
Constructor with the MPI communicator = 0. More... | |
GroupTopology (MPI_Comm comm) | |
Constructor given the MPI communicator 'comm'. More... | |
GroupTopology (const GroupTopology >) | |
Copy constructor. More... | |
void | SetComm (MPI_Comm comm) |
Set the MPI communicator to 'comm'. More... | |
MPI_Comm | GetComm () const |
Return the MPI communicator. More... | |
int | MyRank () const |
Return the MPI rank within this object's communicator. More... | |
int | NRanks () const |
Return the number of MPI ranks within this object's communicator. More... | |
void | Create (ListOfIntegerSets &groups, int mpitag) |
Set up the group topology given the list of sets of shared entities. More... | |
int | NGroups () const |
Return the number of groups. More... | |
int | GetNumNeighbors () const |
Return the number of neighbors including the local processor. More... | |
int | GetNeighborRank (int i) const |
Return the MPI rank of neighbor 'i'. More... | |
bool | IAmMaster (int g) const |
Return true if I am master for group 'g'. More... | |
int | GetGroupMaster (int g) const |
Return the neighbor index of the group master for a given group. Neighbor 0 is the local processor. More... | |
int | GetGroupMasterRank (int g) const |
Return the rank of the group master for group 'g'. More... | |
int | GetGroupMasterGroup (int g) const |
Return the group number in the master for group 'g'. More... | |
int | GetGroupSize (int g) const |
Get the number of processors in a group. More... | |
const int * | GetGroup (int g) const |
Return a pointer to a list of neighbors for a given group. Neighbor 0 is the local processor. More... | |
void | Save (std::ostream &out) const |
Save the data in a stream. More... | |
void | Load (std::istream &in) |
Load the data from a stream. More... | |
void | Copy (GroupTopology ©) const |
Copy the internal data to the external 'copy'. More... | |
void | Swap (GroupTopology &other) |
Swap the internal data with another GroupTopology object. More... | |
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 113 of file communication.hpp.
|
inline |
Constructor with the MPI communicator = 0.
Definition at line 131 of file communication.hpp.
|
inline |
Constructor given the MPI communicator 'comm'.
Definition at line 134 of file communication.hpp.
mfem::GroupTopology::GroupTopology | ( | const GroupTopology & | gt | ) |
Copy constructor.
Definition at line 37 of file communication.cpp.
|
inlinevirtual |
Definition at line 196 of file communication.hpp.
void mfem::GroupTopology::Copy | ( | GroupTopology & | copy | ) | const |
Copy the internal data to the external 'copy'.
Definition at line 320 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 85 of file communication.cpp.
|
inline |
Return the MPI communicator.
Definition at line 143 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 182 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 168 of file communication.hpp.
|
inline |
Return the group number in the master for group 'g'.
Definition at line 175 of file communication.hpp.
|
inline |
Return the rank of the group master for group 'g'.
Definition at line 171 of file communication.hpp.
|
inline |
Get the number of processors in a group.
Definition at line 178 of file communication.hpp.
|
inline |
Return the MPI rank of neighbor 'i'.
Definition at line 161 of file communication.hpp.
|
inline |
Return the number of neighbors including the local processor.
Definition at line 158 of file communication.hpp.
|
inline |
Return true if I am master for group 'g'.
Definition at line 164 of file communication.hpp.
void mfem::GroupTopology::Load | ( | std::istream & | in | ) |
Load the data from a stream.
Definition at line 284 of file communication.cpp.
|
inline |
Return the MPI rank within this object's communicator.
Definition at line 146 of file communication.hpp.
|
inline |
Return the number of groups.
Definition at line 155 of file communication.hpp.
|
inline |
Return the number of MPI ranks within this object's communicator.
Definition at line 149 of file communication.hpp.
void mfem::GroupTopology::Save | ( | std::ostream & | out | ) | const |
Save the data in a stream.
Definition at line 261 of file communication.cpp.
|
inline |
Set the MPI communicator to 'comm'.
Definition at line 140 of file communication.hpp.
void mfem::GroupTopology::Swap | ( | GroupTopology & | other | ) |
Swap the internal data with another GroupTopology object.
Definition at line 329 of file communication.cpp.