43 #ifndef IFPACK_OVERLAPGRAPH_H
44 #define IFPACK_OVERLAPGRAPH_H
46 #include "Ifpack_ConfigDefs.h"
47 #include "Epetra_Object.h"
48 #include "Epetra_CrsGraph.h"
49 #include "Epetra_Import.h"
50 #include "Teuchos_RefCountPtr.hpp"
71 Ifpack_OverlapGraph(
const Teuchos::RefCountPtr<const Epetra_CrsGraph>& UserMatrixGraph_in,
int OverlapLevel_in);
79 Ifpack_OverlapGraph(
const Teuchos::RefCountPtr<const Epetra_RowMatrix>& UserMatrix_in,
int OverlapLevel_in);
96 int SetParameters(
const Teuchos::ParameterList& parameterlist,
97 bool cerr_warning_if_unused=
false);
119 void Print(std::ostream& os)
const {
123 if (UserMatrix_!=Teuchos::null)
124 os <<
"Overlap Graph created using the user's Epetra_RowMatrix object" << endl;
126 os <<
"Overlap Graph created using the user's Epetra_CrsGraph object" << endl;
128 os <<
" Level of Overlap = " << OverlapLevel_ << endl;
129 OverlapGraph_->Print(os);
136 int ConstructOverlapGraph(
const Teuchos::RefCountPtr<const Epetra_CrsGraph>& UserMatrixGraph);
137 Teuchos::RefCountPtr<Epetra_CrsGraph> OverlapGraph_;
138 Teuchos::RefCountPtr<const Epetra_CrsGraph> UserMatrixGraph_;
139 Teuchos::RefCountPtr<const Epetra_RowMatrix> UserMatrix_;
140 Teuchos::RefCountPtr<Epetra_BlockMap> OverlapRowMap_;
141 Teuchos::RefCountPtr<Epetra_Import> OverlapImporter_;
145 #endif // IFPACK_OVERLAPGRAPH_H