This class creates and manages the foreign overlap given an initial list of border indices and a BCRS matrix.
More...
#include <foreignoverlapfrombcrsmatrix.hh>
|
| ForeignOverlapFromBCRSMatrix (const BCRSMatrix &A, const BorderList &borderList, const BlackList &blackList, int overlapSize) |
| Constructs the foreign overlap given a BCRS matrix and an initial list of border indices. More...
|
|
int | overlapSize () const |
| Returns the size of the overlap region. More...
|
|
bool | isBorder (Index localIdx) const |
| Returns true iff a local index is a border index. More...
|
|
bool | isBorderWith (Index localIdx, int peerRank) const |
| Returns true iff a local index is a border index shared with a given peer process. More...
|
|
ProcessRank | masterRank (Index localIdx) const |
| Return the rank of the master process of an index. More...
|
|
bool | iAmMasterOf (Index localIdx) const |
| Return true if the current rank is the "master" of an index. More...
|
|
const BorderList & | borderList () const |
| Returns the list of indices which intersect the process border. More...
|
|
const OverlapWithPeer & | foreignOverlapWithPeer (int peerRank) const |
| Return the list of (local indices, border distance, number of processes) triples which are in the overlap of a given peer rank. More...
|
|
const std::map< ProcessRank,
BorderDistance > & | foreignOverlapByLocalIndex (Index localIdx) const |
| Return the map of (peer rank, border distance) for a given local index. More...
|
|
bool | peerHasIndex (int peerRank, Index localIdx) const |
| Returns true iff a local index is seen by a peer rank. More...
|
|
int | numFront (int peerRank) const |
| Returns the number of front indices of a peer process in the local partition. More...
|
|
bool | isFrontFor (int peerRank, Index localIdx) const |
| Returns whether a given local index is on the front of a given peer rank. More...
|
|
const PeerSet & | peerSet () const |
| Return the set of process ranks which share an overlap with the current process. More...
|
|
const PeerSet & | neighborPeerSet () const |
| Return the set of process ranks which share a border index with the current process. More...
|
|
int | numNative () const |
| Returns the number of native indices. More...
|
|
int | numLocal () const |
| Returns the number of local indices. More...
|
|
bool | isLocal (Index domesticIdx) const |
| Returns true iff a domestic index is local. More...
|
|
int | nativeToLocal (Index nativeIdx) const |
| Convert a native index to a local one. More...
|
|
int | localToNative (Index localIdx) const |
| Convert a local index to a native one. More...
|
|
const BlackList & | blackList () const |
| Returns the object which represents the black-listed native indices. More...
|
|
int | numPeers (Index localIdx) const |
| Return the number of peer ranks for which a given local index is visible. More...
|
|
bool | isInOverlap (Index localIdx) const |
| Returns true if a given local index is in the foreign overlap of any rank. More...
|
|
void | print () const |
| Print the foreign overlap for debugging purposes. More...
|
|
template<class BCRSMatrix>
class Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >
This class creates and manages the foreign overlap given an initial list of border indices and a BCRS matrix.
The foreign overlap are all (row) indices which overlap with the some of the current process's local indices.
template<class BCRSMatrix >
Constructs the foreign overlap given a BCRS matrix and an initial list of border indices.
References Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::computeMasterRanks_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::createLocalIndices_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::extendForeignOverlap_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::foreignOverlapByLocalIndex_, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::groupForeignOverlapByRank_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::localBorderIndices_, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::myRank_, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::nativeToLocal(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::neighborPeerSet_, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::numLocal(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::numNative_, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::overlapSize(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::overlapSize_, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::peerSet_, Ewoms::Linear::SeedList::update(), and Ewoms::Linear::PeerSet::update().
template<class BCRSMatrix >
References Ewoms::Linear::IndexRankDist::borderDistance, Ewoms::Linear::BorderIndex::borderDistance, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::foreignOverlapByLocalIndex_, Ewoms::Linear::IndexRankDist::index, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::isBorder(), Ewoms::Linear::BorderIndex::localIdx, Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::localToPeerIdx_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::nativeToLocal(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::neighborPeerSet(), Ewoms::Linear::BorderIndex::peerIdx, Ewoms::Linear::IndexRankDist::peerRank, Ewoms::Linear::BorderIndex::peerRank, and Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::peerSet_.
Referenced by Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::extendForeignOverlap_().
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
Referenced by Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::addNonNeighborOverlapIndices_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::computeMasterRanks_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::extendForeignOverlap_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::foreignOverlapByLocalIndex(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::ForeignOverlapFromBCRSMatrix(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::groupForeignOverlapByRank_(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::isBorderWith(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::isFrontFor(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::isInOverlap(), Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::numPeers(), and Ewoms::Linear::ForeignOverlapFromBCRSMatrix< BCRSMatrix >::peerHasIndex().
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
template<class BCRSMatrix >
The documentation for this class was generated from the following file:
|