This class maps domestic row indices to and from "global" indices which is used to construct an algebraic overlap for the parallel linear solvers. More...
#include <globalindices.hh>
Public Member Functions | |
GlobalIndices (const ForeignOverlap &foreignOverlap) | |
Index | domesticToGlobal (Index domesticIdx) const |
Converts a domestic index to a global one. | |
Index | globalToDomestic (Index globalIdx) const |
Converts a global index to a domestic one. | |
size_t | numLocal () const |
Returns the number of indices which are in the interior or on the border of the current rank. | |
size_t | numDomestic () const |
Returns the number domestic indices. More... | |
void | addIndex (Index domesticIdx, Index globalIdx) |
Add an index to the domestic<->global mapping. | |
void | sendBorderIndex (ProcessRank peerRank, Index domesticIdx, Index peerLocalIdx) |
Send a border index to a remote process. | |
void | receiveBorderIndex (ProcessRank peerRank) |
Receive an index on the border from a remote process and add it the translation maps. | |
bool | hasGlobalIndex (Index globalIdx) const |
Return true iff a given global index already exists. | |
void | print () const |
Prints the global indices of all domestic indices for debugging purposes. | |
Protected Member Functions | |
void | buildGlobalIndices_ () |
void | sendBorderTo_ (ProcessRank peerRank) |
void | receiveBorderFrom_ (ProcessRank peerRank) |
const PeerSet & | peerSet_ () const |
const BorderList & | borderList_ () const |
This class maps domestic row indices to and from "global" indices which is used to construct an algebraic overlap for the parallel linear solvers.
|
inline |
Returns the number domestic indices.
The domestic indices are defined as the process' local indices plus its copies of indices in the overlap regions