Ifpack2 Templated Preconditioning Package Version 1.0

Construct an overlapped graph from a given nonoverlapping graph. More...
#include <Ifpack2_OverlapGraph.hpp>
Public Types  
typedef Tpetra::CrsGraph < LocalOrdinal, GlobalOrdinal, Node >  graph_type 
The Tpetra::CrsGraph specialization that this class uses.  
Public Member Functions  
OverlapGraph (const Teuchos::RCP< const graph_type > &UserMatrixGraph_in, int OverlapLevel_in)  
Constructor that takes a graph and the level of overlap.  
OverlapGraph (const OverlapGraph< LocalOrdinal, GlobalOrdinal, Node > &Source)  
Copy constructor.  
virtual  ~OverlapGraph () 
Destructor (virtual for memory safety of derived classes).  
const Tpetra::CrsGraph < LocalOrdinal, GlobalOrdinal, Node > &  getOverlapGraph () const 
Return the overlap graph.  
const Tpetra::Map < LocalOrdinal, GlobalOrdinal, Node > &  getOverlapRowMap () const 
Return the overlap graph's row Map.  
const Tpetra::Import < LocalOrdinal, GlobalOrdinal, Node > &  getOverlapImporter () const 
Return the Import object.  
int  OverlapLevel () const 
Return the level of overlap used to create this graph. 
Construct an overlapped graph from a given nonoverlapping graph.
FIXME (mfh 26 Sep 2013) It would be more appropriate for this class to have a single template parameter, namely a specialization of Tpetra::CrsGraph or Tpetra::RowGraph. That would avoid issues with the optional fourth template parameter of Tpetra::CrsGraph.
FIXME (mfh 26 Sep 2013) I seem to have found this class in a halfimplemented state. I did not add this class and I make no promises that it works. I heartily encourage developers to make use of the Ifpack2::Details namespace for classes that they are not yet ready to make public.
typedef Tpetra::CrsGraph<LocalOrdinal,GlobalOrdinal,Node> Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::graph_type 
The Tpetra::CrsGraph specialization that this class uses.
Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::OverlapGraph  (  const Teuchos::RCP< const graph_type > &  UserMatrixGraph_in, 
int  OverlapLevel_in  
) 
Constructor that takes a graph and the level of overlap.
UserMatrixGraph_in  [in] The input graph. We assume that its row Map is nonoverlapping. 
OverlapLevel_in  [in] The level of overlap; zero means none. 
Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::OverlapGraph  (  const OverlapGraph< LocalOrdinal, GlobalOrdinal, Node > &  Source  ) 
Copy constructor.
virtual Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::~OverlapGraph  (  )  [inline, virtual] 
Destructor (virtual for memory safety of derived classes).
const Tpetra::CrsGraph<LocalOrdinal,GlobalOrdinal,Node>& Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::getOverlapGraph  (  )  const [inline] 
Return the overlap graph.
const Tpetra::Map<LocalOrdinal,GlobalOrdinal,Node>& Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::getOverlapRowMap  (  )  const [inline] 
Return the overlap graph's row Map.
const Tpetra::Import<LocalOrdinal,GlobalOrdinal,Node>& Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::getOverlapImporter  (  )  const [inline] 
Return the Import object.
int Ifpack2::OverlapGraph< LocalOrdinal, GlobalOrdinal, Node >::OverlapLevel  (  )  const [inline] 
Return the level of overlap used to create this graph.
The graph created by this class uses a recursive definition of overlap. Level one overlap is created by copying all offprocess rows that are reached to be at least one column of the rows that are on processor. Level two overlap is the same process used on the level one graph, and so on.