Ifpack_Graph_Epetra_RowMatrix.h

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

Generated on Thu Sep 18 12:37:07 2008 for IFPACK by doxygen 1.3.9.1