domesticoverlapfrombcrsmatrix.hh
Go to the documentation of this file.
std::map< ProcessRank, DomesticOverlapWithPeer > DomesticOverlapByRank A type mapping the process rank to the list of domestic indices which are owned by the peer... Definition: overlaptypes.hh:186 This structure stores an index, a process rank, and the number of processes which "see" the degree of... Definition: overlaptypes.hh:90 std::map< ProcessRank, MpiBuffer< size_t > * > numIndicesSendBuffer_ Definition: domesticoverlapfrombcrsmatrix.hh:576 OverlapByIndex domesticOverlapByIndex_ Definition: domesticoverlapfrombcrsmatrix.hh:572 GlobalIndices globalIndices_ Definition: domesticoverlapfrombcrsmatrix.hh:578 bool peerHasIndex(int peerRank, int domesticIdx) const Returns true iff a domestic index is seen by a peer rank. Definition: domesticoverlapfrombcrsmatrix.hh:335 const BlackList & blackList() const Returns the object which represents the black-listed native indices. Definition: domesticoverlapfrombcrsmatrix.hh:196 unsigned BorderDistance The type representing the distance of an index to the border. Definition: overlaptypes.hh:53 void addIndex(int domesticIdx, int globalIdx) Add an index to the domestic<->global mapping. Definition: globalindices.hh:126 DomesticOverlapByRank domesticOverlapWithPeer_ Definition: domesticoverlapfrombcrsmatrix.hh:571 Index nativeToDomestic(Index nativeIdx) const Returns a domestic index given a native one. Definition: domesticoverlapfrombcrsmatrix.hh:304 bool isBorderWith(int domesticIdx, int peerRank) const Returns true iff a domestic index is on the border with a given peer process. Definition: domesticoverlapfrombcrsmatrix.hh:163 This class creates and manages the foreign overlap given an initial list of border indices and a BCRS... int domesticToGlobal(int domesticIdx) const Converts a domestic index to a global one. Definition: globalindices.hh:87 bool isLocal(int domesticIdx) const Return true if a domestic index is local for the process. Definition: domesticoverlapfrombcrsmatrix.hh:247 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:206 int nativeToLocal(Index nativeIdx) const Convert a native index to a local one. Definition: foreignoverlapfrombcrsmatrix.hh:292 Expresses which degrees of freedom are blacklisted for the parallel linear solvers and which domestic... Definition: blacklist.hh:45 Index mapExternalToInternal_(Index externalIdx) const Definition: domesticoverlapfrombcrsmatrix.hh:562 void print() const Print the foreign overlap for debugging purposes. Definition: domesticoverlapfrombcrsmatrix.hh:270 int overlapSize() const Returns the size of the overlap region. Definition: domesticoverlapfrombcrsmatrix.hh:209 int myRank_ Definition: domesticoverlapfrombcrsmatrix.hh:565 void setupDebugMapping_() Definition: domesticoverlapfrombcrsmatrix.hh:548 int numNative() const Returns the number native indices. Definition: domesticoverlapfrombcrsmatrix.hh:219 Simplifies handling of buffers to be used in conjunction with MPI. PeerSet peerSet_ Definition: domesticoverlapfrombcrsmatrix.hh:579 int numFront(int peerRank) const Returns the number of indices on the front within a given peer rank's grid partition. Definition: domesticoverlapfrombcrsmatrix.hh:174 This class creates and manages the foreign overlap given an initial list of border indices and a BCRS... Definition: foreignoverlapfrombcrsmatrix.hh:58 BlackList blackList_ Definition: domesticoverlapfrombcrsmatrix.hh:569 bool iAmMasterOf(int domesticIdx) const Return true iff the current process is the master of a given domestic index. Definition: domesticoverlapfrombcrsmatrix.hh:254 int masterRank(int domesticIdx) const Return the rank of a master process for a domestic index. Definition: domesticoverlapfrombcrsmatrix.hh:264 bool isFrontFor(ProcessRank peerRank, Index domesticIdx) const Returns true if a given domestic index is a front index for a peer rank. Definition: domesticoverlapfrombcrsmatrix.hh:326 int localToNative(Index localIdx) const Convert a local index to a native one. Definition: foreignoverlapfrombcrsmatrix.hh:298 void print() const Prints the global indices of all domestic indices for debugging purposes. Definition: globalindices.hh:187 Index mapInternalToExternal_(Index internalIdx) const Definition: domesticoverlapfrombcrsmatrix.hh:555 int numFront(int peerRank) const Returns the number of front indices of a peer process in the local partition. Definition: foreignoverlapfrombcrsmatrix.hh:225 bool isBorder(Index localIdx) const Returns true iff a local index is a border index. Definition: foreignoverlapfrombcrsmatrix.hh:147 bool isBorderWith(Index localIdx, int peerRank) const Returns true iff a local index is a border index shared with a given peer process. Definition: foreignoverlapfrombcrsmatrix.hh:154 int numNative() const Returns the number of native indices. Definition: foreignoverlapfrombcrsmatrix.hh:271 void receiveIndicesFromPeer_(int peerRank) Definition: domesticoverlapfrombcrsmatrix.hh:494 std::vector< BorderDistance > borderDistance_ Definition: domesticoverlapfrombcrsmatrix.hh:573 int numDomestic() const Returns the number domestic indices. Definition: domesticoverlapfrombcrsmatrix.hh:238 BorderDistance borderDistance Definition: overlaptypes.hh:93 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:119 int numPeers(int domesticIdx) const Returns the number of processes which "see" a given index. Definition: domesticoverlapfrombcrsmatrix.hh:203 Index domesticToNative(Index domIdx) const Returns a native index given a domestic one. Definition: domesticoverlapfrombcrsmatrix.hh:293 void sendIndicesToPeer_(int peerRank) Definition: domesticoverlapfrombcrsmatrix.hh:449 int domesticOverlapOffsetToDomesticIdx(ProcessRank peerRank, int overlapOffset) const Returns the domestic index given an offset in the domestic overlap of a peer process with the local p... Definition: domesticoverlapfrombcrsmatrix.hh:372 int domesticOverlapSize(ProcessRank peerRank) const Returns number of indices which are contained in the domestic overlap with a peer. Definition: domesticoverlapfrombcrsmatrix.hh:364 int numLocal() const Returns the number local indices. Definition: domesticoverlapfrombcrsmatrix.hh:228 void receive(int peerRank) Receive the buffer syncronously from a peer rank. Definition: mpibuffer.hh:101 bool isInOverlap(Index localIdx) const Returns true if a given local index is in the foreign overlap of any rank. Definition: foreignoverlapfrombcrsmatrix.hh:321 int worldSize_ Definition: domesticoverlapfrombcrsmatrix.hh:566 Index globalToDomestic(Index globalIdx) const Returns a domestic index given a global one. Definition: domesticoverlapfrombcrsmatrix.hh:276 bool isFront(int domesticIdx) const Returns true iff a domestic index is on the front. Definition: domesticoverlapfrombcrsmatrix.hh:180 void waitSendIndices_(int peerRank) Definition: domesticoverlapfrombcrsmatrix.hh:485 ProcessRank masterRank(Index localIdx) const Return the rank of the master process of an index. Definition: foreignoverlapfrombcrsmatrix.hh:169 std::vector< ProcessRank > masterRank_ Definition: domesticoverlapfrombcrsmatrix.hh:574 Definition: baseauxiliarymodule.hh:35 Index domesticToGlobal(Index domIdx) const Returns a global index given a domestic one. Definition: domesticoverlapfrombcrsmatrix.hh:287 bool isBorder(int domesticIdx) const Returns true iff a domestic index is a border index. Definition: domesticoverlapfrombcrsmatrix.hh:153 int foreignOverlapOffsetToDomesticIdx(ProcessRank peerRank, int overlapOffset) const Returns the domestic index given an offset in the foreign overlap of a peer process with the local pr... Definition: domesticoverlapfrombcrsmatrix.hh:353 DomesticOverlapFromBCRSMatrix(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. Definition: domesticoverlapfrombcrsmatrix.hh:64 const OverlapWithPeer & foreignOverlapWithPeer(int peerRank) const Return the list of (local indices, border distance, number of processes) triples which are in the ove... Definition: foreignoverlapfrombcrsmatrix.hh:195 void updateNativeToDomesticMap(const DomesticOverlap &domesticOverlap) Definition: blacklist.hh:78 This class maps domestic row indices to and from "global" indices which is used to construct an algeb... Definition: globalindices.hh:53 bool iAmMasterOf(Index localIdx) const Return true if the current rank is the "master" of an index. Definition: foreignoverlapfrombcrsmatrix.hh:180 int numDomestic() const Returns the number domestic indices. Definition: globalindices.hh:120 const PeerSet & peerSet() const Return the set of process ranks which share an overlap with the current process. Definition: foreignoverlapfrombcrsmatrix.hh:258 int worldSize() const Returns the number of processes in the global MPI communicator. Definition: domesticoverlapfrombcrsmatrix.hh:133 void buildDomesticOverlap_() Definition: domesticoverlapfrombcrsmatrix.hh:379 const PeerSet & peerSet() const Return the set of process ranks which share an overlap with the current process. Definition: domesticoverlapfrombcrsmatrix.hh:140 std::map< ProcessRank, MpiBuffer< IndexDistanceNpeers > * > indicesSendBuffer_ Definition: domesticoverlapfrombcrsmatrix.hh:577 std::vector< std::map< ProcessRank, BorderDistance > > OverlapByIndex Maps each index to a list of processes . Definition: overlaptypes.hh:175 void updateMasterRanks_() Definition: domesticoverlapfrombcrsmatrix.hh:414 This class creates and manages the foreign overlap given an initial list of border indices and a BCRS... Definition: domesticoverlapfrombcrsmatrix.hh:51 int Index The type of an index of a degree of freedom. Definition: overlaptypes.hh:43 int overlapSize() const Returns the size of the overlap region. Definition: foreignoverlapfrombcrsmatrix.hh:141 int myRank() const Returns the rank of the current process. Definition: domesticoverlapfrombcrsmatrix.hh:127 int numLocal() const Returns the number of local indices. Definition: foreignoverlapfrombcrsmatrix.hh:277 This class maps domestic row indices to and from "global" indices which is used to construct an algeb... int foreignOverlapSize(ProcessRank peerRank) const Returns number of indices which are contained in the foreign overlap with a peer. ... Definition: domesticoverlapfrombcrsmatrix.hh:345 bool isFrontFor(int peerRank, Index localIdx) const Returns whether a given local index is on the front of a given peer rank. Definition: foreignoverlapfrombcrsmatrix.hh:243 bool hasGlobalIndex(int globalIdx) const Return true iff a given global index already exists. Definition: globalindices.hh:180 bool peerHasIndex(int peerRank, Index localIdx) const Returns true iff a local index is seen by a peer rank. Definition: foreignoverlapfrombcrsmatrix.hh:215 int globalToDomestic(int globalIdx) const Converts a global index to a domestic one. Definition: globalindices.hh:97 int numBorder(int peerRank) const Returns the number of indices on the border with a given peer rank. Definition: domesticoverlapfrombcrsmatrix.hh:147 ForeignOverlap foreignOverlap_ Definition: domesticoverlapfrombcrsmatrix.hh:567 Expresses which degrees of freedom are blacklisted for the parallel linear solvers and which domestic... void check() const Definition: domesticoverlapfrombcrsmatrix.hh:87 bool isInOverlap(Index domesticIdx) const Returns true if a given domestic index is either in the foreign or in the domestic overlap... Definition: domesticoverlapfrombcrsmatrix.hh:316 unsigned ProcessRank The type of the rank of a process. Definition: overlaptypes.hh:48 bool isLocal(Index domesticIdx) const Returns true iff a domestic index is local. Definition: foreignoverlapfrombcrsmatrix.hh:283 |