pointilu.h

Go to the documentation of this file.
00001 #ifndef  __PointIlu_h
00002 #define  __PointIlu_h
00003 
00004 #include  "iluinterface.h"
00005 #include  "simpleilu.h"
00006 #include  "sparsestructureadaptor.h"
00007 
00008 
00009 namespace Gascoigne
00010 {
00011 
00016 
00020 
00021 class PointIlu : public SimpleIlu, virtual public IluInterface
00022 {
00023 protected:
00024 
00025   int _ncomp;
00026   SparseStructureAdaptor* SSAP;
00027 
00028 public:
00029 
00030 //
00032 //
00033     
00034     PointIlu(int ncomp, std::string type);
00035     ~PointIlu();
00036 
00037     std::string GetName() const {return "PointIlu";}
00038     
00039     void ReInit(const SparseStructureInterface* S);
00040     
00041     int   n()          const { return GetStencil()->n();};
00042     void zero() {
00043       SimpleIlu::zero();
00044     }
00045     
00046     void ConstructStructure(const IntVector& perm, const MatrixInterface& A);
00047     void modify(int c, double s);
00048     void copy_entries(const MatrixInterface*  A) {
00049       SimpleIlu::copy_entries(A);
00050     }
00051     void compute_ilu() {
00052       SimpleIlu::compute_ilu();
00053     }
00054     void solve(GlobalVector& x) const {
00055       SimpleIlu::solve(x);
00056     }
00057     void solve_transpose(GlobalVector& x) const {
00058       SimpleIlu::solve_transpose(x);
00059     }
00060 };
00061 }
00062 
00063 #endif

Generated on Thu Sep 14 10:34:37 2006 for Gascoigne by  doxygen 1.4.7