00001 #ifndef IFPACK_GRAPH_EPETRA_ROWMATRIX_H 00002 #define IFPACK_GRAPH_EPETRA_ROWMATRIX_H 00003 00004 #include "Ifpack_ConfigDefs.h" 00005 #include "Ifpack_Graph.h" 00006 class Epetra_Comm; 00007 class Epetra_RowMatrix; 00008 00010 00020 class Ifpack_Graph_Epetra_RowMatrix : public Ifpack_Graph { 00021 00022 public: 00023 00025 Ifpack_Graph_Epetra_RowMatrix(const Epetra_RowMatrix* RowMatrix); 00026 00028 ~Ifpack_Graph_Epetra_RowMatrix(); 00029 00031 int NumMyRows() const 00032 { 00033 return(NumMyRows_); 00034 } 00035 00037 int NumMyCols() const 00038 { 00039 return(NumMyCols_); 00040 } 00041 00043 int NumGlobalRows() const 00044 { 00045 return(NumGlobalRows_); 00046 } 00047 00049 int NumGlobalCols() const 00050 { 00051 return(NumGlobalCols_); 00052 } 00053 00055 int MaxMyNumEntries() const 00056 { 00057 return(MaxNumIndices_); 00058 } 00059 00061 int NumMyNonzeros() const; 00062 00064 bool Filled() const; 00065 00067 int GRID(int) const; 00068 00070 int GCID(int) const; 00071 00073 int LRID(int) const; 00074 00076 int LCID(int) const; 00077 00079 int ExtractMyRowCopy(int GlobalRow, int LenOfIndices, 00080 int &NumIndices, int *Indices) const; 00081 00083 const Epetra_Comm& Comm() const; 00084 00086 ostream& Print(std::ostream& os) const; 00087 00088 private: 00089 00091 int NumMyRows_; 00093 int NumMyCols_; 00095 int NumGlobalRows_; 00097 int NumGlobalCols_; 00099 int MaxNumIndices_; 00101 const Epetra_RowMatrix* RowMatrix_; 00103 mutable std::vector<double> Values_; 00104 }; 00105 00106 #endif
1.3.9.1