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. More... | |
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. More... | |
OverlapGraph (const OverlapGraph< LocalOrdinal, GlobalOrdinal, Node > &Source) | |
Copy constructor. More... | |
virtual | ~OverlapGraph () |
Destructor (virtual for memory safety of derived classes). More... | |
const Tpetra::CrsGraph < LocalOrdinal, GlobalOrdinal, Node > & | getOverlapGraph () const |
Return the overlap graph. More... | |
const Tpetra::Map < LocalOrdinal, GlobalOrdinal, Node > & | getOverlapRowMap () const |
Return the overlap graph's row Map. More... | |
const Tpetra::Import < LocalOrdinal, GlobalOrdinal, Node > & | getOverlapImporter () const |
Return the Import object. More... | |
int | OverlapLevel () const |
Return the level of overlap used to create this graph. More... | |
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 half-implemented 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.
|
inlinevirtual |
Destructor (virtual for memory safety of derived classes).
|
inline |
Return the overlap graph.
|
inline |
Return the overlap graph's row Map.
|
inline |
Return the Import object.
|
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 off-process 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.