43 #ifndef _IFPACK_ILUK_GRAPH_H_ 
   44 #define _IFPACK_ILUK_GRAPH_H_ 
   46 #if defined(Ifpack_SHOW_DEPRECATED_WARNINGS) 
   48 #warning "The Ifpack package is deprecated" 
   52 #include "Ifpack_ConfigDefs.h" 
   53 #include "Epetra_Object.h" 
   54 #include "Epetra_CrsGraph.h" 
   55 #include "Epetra_Import.h" 
   57 #include "Teuchos_RefCountPtr.hpp" 
  119   int SetParameters(
const Teuchos::ParameterList& parameterlist,
 
  120                     bool cerr_warning_if_unused=
false);
 
  142 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 
  146       return (
int)(NumGlobalBlockRows_);
 
  148       throw "Ifpack_IlukGraph::NumGlobalBlockRows: GlobalIndices not int.";
 
  154       return (
int)(NumGlobalBlockCols_);
 
  156       throw "Ifpack_IlukGraph::NumGlobalBlockCols: GlobalIndices not int.";
 
  162       return (
int)(NumGlobalRows_);
 
  164       throw "Ifpack_IlukGraph::NumGlobalRows: GlobalIndices not int.";
 
  170       return (
int)(NumGlobalCols_);
 
  172       throw "Ifpack_IlukGraph::NumGlobalCols: GlobalIndices not int.";
 
  177       return (
int)(NumGlobalNonzeros_);
 
  179       throw "Ifpack_IlukGraph::NumGlobalNonzeros: GlobalIndices not int.";
 
  185       return (
int)(NumGlobalBlockDiagonals_);
 
  187       throw "Ifpack_IlukGraph::NumGlobalBlockDiagonals: GlobalIndices not int.";
 
  228 #ifndef EPETRA_NO_32BIT_GLOBAL_INDICES 
  231       return (
int) IndexBase64();
 
  232     throw "Ifpack_IlukGraph::IndexBase: GlobalIndices not int.";
 
  235   long long IndexBase64()
 const {
return(IndexBase_);};
 
  271   Teuchos::RefCountPtr<Epetra_CrsGraph> OverlapGraph_;
 
  272   Teuchos::RefCountPtr<Epetra_BlockMap> OverlapRowMap_;
 
  273   Teuchos::RefCountPtr<Epetra_Import> OverlapImporter_;
 
  276   Teuchos::RefCountPtr<Epetra_CrsGraph> L_Graph_;
 
  277   Teuchos::RefCountPtr<Epetra_CrsGraph> U_Graph_;
 
  278   long long IndexBase_;
 
  279   long long NumGlobalRows_;
 
  280   long long NumGlobalCols_;
 
  281   long long NumGlobalBlockRows_;
 
  282   long long NumGlobalBlockCols_;
 
  283   long long NumGlobalBlockDiagonals_;
 
  284   long long NumGlobalNonzeros_;
 
  285   long long NumGlobalEntries_;
 
  290   int NumMyBlockDiagonals_;
 
virtual const Epetra_Comm & Comm() const 
Returns the Epetra_BlockMap object associated with the range of this matrix operator. 
virtual Epetra_CrsGraph & L_Graph() const 
Returns the graph of lower triangle of the ILU(k) graph as a Epetra_CrsGraph. 
Ifpack_IlukGraph(const Epetra_CrsGraph &Graph_in, int LevelFill_in, int LevelOverlap_in)
Ifpack_IlukGraph constuctor. 
int NumMyCols() const 
Returns the number of local matrix columns. 
virtual long long NumGlobalBlockDiagonals64() const 
Returns the number of diagonal entries found in the global input graph. 
int NumMyBlockCols() const 
Returns the number of local matrix columns. 
virtual Epetra_CrsGraph & L_Graph()
Returns the graph of lower triangle of the ILU(k) graph as a Epetra_CrsGraph. 
virtual Epetra_CrsGraph * OverlapGraph() const 
Returns the the overlapped graph. 
int SetParameters(const Teuchos::ParameterList ¶meterlist, bool cerr_warning_if_unused=false)
Set parameters using Teuchos::ParameterList object. 
int NumMyRows() const 
Returns the number of local matrix rows. 
Ifpack_IlukGraph: A class for constructing level filled graphs for use with ILU(k) class precondition...
bool GlobalIndicesInt() const 
int NumMyNonzeros() const 
Returns the number of nonzero entries in the local graph. 
int NumGlobalBlockCols() const 
Returns the number of global matrix columns. 
virtual const Epetra_BlockMap & RangeMap() const 
Returns the Epetra_BlockMap object associated with the range of this matrix operator. 
int IndexBase() const 
Returns the index base for row and column indices for this graph. 
virtual const Epetra_BlockMap & DomainMap() const 
Returns the Epetra_BlockMap object associated with the domain of this matrix operator. 
virtual int LevelFill() const 
Returns the level of fill used to construct this graph. 
long long NumGlobalBlockRows64() const 
Returns the number of global matrix rows. 
virtual int ConstructOverlapGraph()
Does the actual construction of the overlap matrix graph. 
virtual Epetra_CrsGraph & U_Graph()
Returns the graph of upper triangle of the ILU(k) graph as a Epetra_CrsGraph. 
virtual int NumGlobalBlockDiagonals() const 
Returns the number of diagonal entries found in the global input graph. 
long long NumGlobalCols64() const 
Returns the number of global matrix columns. 
long long NumGlobalRows64() const 
Returns the number of global matrix rows. 
const Epetra_BlockMap & RowMap() const 
virtual int LevelOverlap() const 
Returns the level of overlap used to construct this graph. 
int NumGlobalRows() const 
Returns the number of global matrix rows. 
virtual Epetra_Import * OverlapImporter() const 
Returns the importer used to create the overlapped graph. 
long long NumGlobalBlockCols64() const 
Returns the number of global matrix columns. 
int NumGlobalCols() const 
Returns the number of global matrix columns. 
virtual int NumMyBlockDiagonals() const 
Returns the number of diagonal entries found in the local input graph. 
int NumGlobalNonzeros() const 
Returns the number of nonzero entries in the global graph. 
virtual Epetra_CrsGraph & U_Graph() const 
Returns the graph of upper triangle of the ILU(k) graph as a Epetra_CrsGraph. 
int NumGlobalBlockRows() const 
Returns the number of global matrix rows. 
virtual ~Ifpack_IlukGraph()
Ifpack_IlukGraph Destructor. 
virtual int ConstructFilledGraph()
Does the actual construction of the graph. 
long long NumGlobalNonzeros64() const 
Returns the number of nonzero entries in the global graph. 
int NumMyBlockRows() const 
Returns the number of local matrix rows. 
friend std::ostream & operator<<(std::ostream &os, const Ifpack_IlukGraph &A)
<< operator will work for Ifpack_IlukGraph.