iluinterface.h

Go to the documentation of this file.
00001 #ifndef __iluinterface_h
00002 #define __iluinterface_h
00003 
00004 #include  "matrixinterface.h"
00005 
00006 /*-------------------------------------------------------------*/
00007 
00008 namespace Gascoigne
00009 {
00010   class IluInterface
00011   {
00012     private:
00013 
00014     protected:
00015 
00016     public:
00017       IluInterface() {}
00018       virtual ~IluInterface() {};
00019 
00020       virtual int   n() const=0;
00021       virtual std::string GetName() const=0;
00022       virtual void ReInit(const SparseStructureInterface* A)=0;
00023       virtual void ConstructStructure(const IntVector& perm, const MatrixInterface& A)=0;
00024 
00025       virtual void modify(int c, double s) {
00026         std::cerr << "\"IluInterface::modify\" not written!" << std::endl;
00027         abort();
00028       }
00029       virtual void zero() {
00030         std::cerr << "\"IluInterface::zero\" not written!" << std::endl;
00031         abort();
00032       }
00033       virtual void compute_ilu () {
00034         std::cerr << "\"IluInterface::compute_ilu\" not written!" << std::endl;
00035         abort();
00036       }
00037       virtual void copy_entries(const MatrixInterface* A) {
00038         std::cerr << "\"IluInterface::copy_entries\" not written!" << std::endl;
00039         abort();
00040       }
00041       virtual void solve(GlobalVector& x) const {
00042         std::cerr << "\"IluInterface::solve\" not written!" << std::endl;
00043         abort();
00044       }
00045       virtual void solve_transpose(GlobalVector& x) const {
00046         std::cerr << "\"IluInterface::solve_transpose\" not written!" << std::endl;
00047         abort();
00048       }
00049       virtual std::ostream& Write(std::ostream &s) const {
00050         std::cerr << "\"IluInterface::Write\" not written!" << std::endl;
00051         abort();
00052       }
00053   };
00054 }
00055 
00056 #endif

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