foreignoverlapfrombcrsmatrix.hh
Go to the documentation of this file.
574 const auto& distIt = foreignOverlapByLocalIndex_[static_cast<unsigned>(localIdx)].find(peerRank);
Expresses which degrees of freedom are blacklisted for the parallel linear solvers and which domestic... Definition: blacklist.hh:49 This class creates and manages the foreign overlap given an initial list of border indices and a BCRS... Definition: foreignoverlapfrombcrsmatrix.hh:60 std::vector< Index > localToNativeIndices_ Definition: foreignoverlapfrombcrsmatrix.hh:676 Index localToPeerIdx_(Index localIdx, ProcessRank peerRank) const Definition: foreignoverlapfrombcrsmatrix.hh:454 const PeerSet & peerSet() const Return the set of process ranks which share an overlap with the current process. Definition: foreignoverlapfrombcrsmatrix.hh:260 size_t numLocal() const Returns the number of local indices. Definition: foreignoverlapfrombcrsmatrix.hh:279 size_t numNative_ Definition: foreignoverlapfrombcrsmatrix.hh:701 bool isInOverlap(Index localIdx) const Returns true if a given local index is in the foreign overlap of any rank. Definition: foreignoverlapfrombcrsmatrix.hh:323 void computeMasterRanks_() Definition: foreignoverlapfrombcrsmatrix.hh:615 const OverlapWithPeer & foreignOverlapWithPeer(ProcessRank peerRank) const Return the list of (local indices, border distance, number of processes) triples which are in the ove... Definition: foreignoverlapfrombcrsmatrix.hh:197 void extendForeignOverlap_(const BCRSMatrix &A, SeedList &seedList, BorderDistance borderDistance, BorderDistance overlapSize) Definition: foreignoverlapfrombcrsmatrix.hh:349 std::vector< Index > nativeToLocalIndices_ Definition: foreignoverlapfrombcrsmatrix.hh:675 void print() const Print the foreign overlap for debugging purposes. Definition: foreignoverlapfrombcrsmatrix.hh:329 unsigned overlapSize() const Returns the size of the overlap region. Definition: foreignoverlapfrombcrsmatrix.hh:143 bool isBorder(Index localIdx) const Returns true iff a local index is a border index. Definition: foreignoverlapfrombcrsmatrix.hh:149 std::set< Index > localBorderIndices_ Definition: foreignoverlapfrombcrsmatrix.hh:684 Index nativeToLocal(Index nativeIdx) const Convert a native index to a local one. Definition: foreignoverlapfrombcrsmatrix.hh:294 const PeerSet & neighborPeerSet() const Return the set of process ranks which share a border index with the current process. Definition: foreignoverlapfrombcrsmatrix.hh:267 ForeignOverlapFromBCRSMatrix(const BCRSMatrix &A, const BorderList &borderList, const BlackList &blackList, unsigned overlapSize) Constructs the foreign overlap given a BCRS matrix and an initial list of border indices. Definition: foreignoverlapfrombcrsmatrix.hh:70 PeerSet neighborPeerSet_ Definition: foreignoverlapfrombcrsmatrix.hh:666 bool peerHasIndex(ProcessRank peerRank, Index localIdx) const Returns true iff a local index is seen by a peer rank. Definition: foreignoverlapfrombcrsmatrix.hh:217 PeerSet peerSet_ Definition: foreignoverlapfrombcrsmatrix.hh:663 size_t numNative() const Returns the number of native indices. Definition: foreignoverlapfrombcrsmatrix.hh:273 void createLocalIndices_() Definition: foreignoverlapfrombcrsmatrix.hh:434 OverlapByIndex foreignOverlapByLocalIndex_ Definition: foreignoverlapfrombcrsmatrix.hh:689 ProcessRank myRank_ Definition: foreignoverlapfrombcrsmatrix.hh:704 const std::map< ProcessRank, BorderDistance > & foreignOverlapByLocalIndex(Index localIdx) const Return the map of (peer rank, border distance) for a given local index. Definition: foreignoverlapfrombcrsmatrix.hh:208 bool isFrontFor(ProcessRank peerRank, Index localIdx) const Returns whether a given local index is on the front of a given peer rank. Definition: foreignoverlapfrombcrsmatrix.hh:245 const BlackList & blackList_ Definition: foreignoverlapfrombcrsmatrix.hh:672 unsigned overlapSize_ Definition: foreignoverlapfrombcrsmatrix.hh:695 ForeignOverlapFromBCRSMatrix(const ForeignOverlapFromBCRSMatrix &)=delete const BorderList & borderList() const Returns the list of indices which intersect the process border. Definition: foreignoverlapfrombcrsmatrix.hh:189 size_t numFront(ProcessRank peerRank) const Returns the number of front indices of a peer process in the local partition. Definition: foreignoverlapfrombcrsmatrix.hh:227 const BorderList & borderList_ Definition: foreignoverlapfrombcrsmatrix.hh:669 Index localToNative(Index localIdx) const Convert a local index to a native one. Definition: foreignoverlapfrombcrsmatrix.hh:300 void groupForeignOverlapByRank_() Definition: foreignoverlapfrombcrsmatrix.hh:642 size_t numLocal_ Definition: foreignoverlapfrombcrsmatrix.hh:698 size_t numPeers(Index localIdx) const Return the number of peer ranks for which a given local index is visible. Definition: foreignoverlapfrombcrsmatrix.hh:316 ProcessRank masterRank(Index localIdx) const Return the rank of the master process of an index. Definition: foreignoverlapfrombcrsmatrix.hh:171 const BlackList & blackList() const Returns the object which represents the black-listed native indices. Definition: foreignoverlapfrombcrsmatrix.hh:309 bool isBorderWith(Index localIdx, ProcessRank peerRank) const Returns true iff a local index is a border index shared with a given peer process. Definition: foreignoverlapfrombcrsmatrix.hh:156 bool iAmMasterOf(Index localIdx) const Return true if the current rank is the "master" of an index. Definition: foreignoverlapfrombcrsmatrix.hh:182 std::vector< ProcessRank > masterRank_ Definition: foreignoverlapfrombcrsmatrix.hh:680 void addNonNeighborOverlapIndices_(const BCRSMatrix &, SeedList &seedList, BorderDistance borderDist) Definition: foreignoverlapfrombcrsmatrix.hh:467 bool isLocal(Index domesticIdx) const Returns true iff a domestic index is local. Definition: foreignoverlapfrombcrsmatrix.hh:285 OverlapByRank foreignOverlapByRank_ Definition: foreignoverlapfrombcrsmatrix.hh:692 void update(const BorderList &borderList) Definition: overlaptypes.hh:151 The list of indices which are on the process boundary. Definition: overlaptypes.hh:126 void update(const BorderList &borderList) Definition: overlaptypes.hh:128 unsigned BorderDistance The type representing the distance of an index to the border. Definition: overlaptypes.hh:54 unsigned ProcessRank The type of the rank of a process. Definition: overlaptypes.hh:49 std::vector< std::map< ProcessRank, BorderDistance > > OverlapByIndex Maps each index to a list of processes . Definition: overlaptypes.hh:176 std::vector< IndexDistanceNpeers > OverlapWithPeer The list of indices which overlap with a peer rank. Definition: overlaptypes.hh:165 int Index The type of an index of a degree of freedom. Definition: overlaptypes.hh:44 std::list< BorderIndex > BorderList This class managages a list of indices which are on the border of a process' partition of the grid. Definition: overlaptypes.hh:120 std::map< ProcessRank, OverlapWithPeer > OverlapByRank A type mapping the process rank to the list of indices shared with this peer. Definition: overlaptypes.hh:171 Definition: blackoilboundaryratevector.hh:37 This files provides several data structures for storing tuples of indices of remote and/or local proc... A single index intersecting with the process boundary. Definition: overlaptypes.hh:102 Index localIdx Index of the entity for the local process. Definition: overlaptypes.hh:104 BorderDistance borderDistance Distance to the process border for the peer (in hops) Definition: overlaptypes.hh:113 ProcessRank peerRank Rank of the peer process. Definition: overlaptypes.hh:110 Index peerIdx Index of the entity for the peer process. Definition: overlaptypes.hh:107 This structure stores an index, a process rank, and the number of processes which "see" the degree of... Definition: overlaptypes.hh:92 BorderDistance borderDistance Definition: overlaptypes.hh:94 This structure stores an index, a process rank, and the distance of the degree of freedom to the proc... Definition: overlaptypes.hh:80 BorderDistance borderDistance Definition: overlaptypes.hh:83 |