All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Ewoms::Linear::GlobalIndices< ForeignOverlap > Class Template Reference

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 PeerSetpeerSet_ () const
 
const BorderList & borderList_ () const
 

Protected Attributes

ProcessRank myRank_
 
size_t mpiSize_
 
int domesticOffset_
 
size_t numDomestic_
 
const ForeignOverlap & foreignOverlap_
 
GlobalToDomesticMap globalToDomestic_
 
DomesticToGlobalMap domesticToGlobal_
 

Detailed Description

template<class ForeignOverlap>
class Ewoms::Linear::GlobalIndices< ForeignOverlap >

This class maps domestic row indices to and from "global" indices which is used to construct an algebraic overlap for the parallel linear solvers.

Member Function Documentation

template<class ForeignOverlap >
size_t Ewoms::Linear::GlobalIndices< ForeignOverlap >::numDomestic ( ) const
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


The documentation for this class was generated from the following file: