LAMA
|
00001 00034 #ifndef LAMA_TRIVIALPRECONDITIONER_HPP_ 00035 #define LAMA_TRIVIALPRECONDITIONER_HPP_ 00036 00037 // for dll_import 00038 #include <lama/config.hpp> 00039 00040 // base classes 00041 #include <lama/solver/Solver.hpp> 00042 00043 namespace lama 00044 { 00045 00046 class LAMA_DLL_IMPORTEXPORT TrivialPreconditioner : public Solver 00047 { 00048 public: 00049 TrivialPreconditioner( const std::string& id ); 00050 TrivialPreconditioner( const std::string& id, LoggerPtr logger ); 00051 TrivialPreconditioner( const TrivialPreconditioner& other ); 00052 00053 virtual ~TrivialPreconditioner(); 00054 00055 void initialize( const Matrix& coefficients ); 00056 00057 virtual void solveImpl(); 00058 00059 virtual SolverPtr copy(); 00060 00061 struct TrivialPreconditionerRuntime : SolverRuntime 00062 { 00063 TrivialPreconditionerRuntime(); 00064 virtual ~TrivialPreconditionerRuntime(); 00065 }; 00066 00067 virtual TrivialPreconditionerRuntime& getRuntime(); 00068 00069 virtual const TrivialPreconditionerRuntime& getConstRuntime() const; 00070 00071 protected: 00072 TrivialPreconditionerRuntime mTrivialPreconditionerRuntime; 00073 00074 private: 00075 }; 00076 00077 } // namespace lama 00078 00079 #endif // LAMA_TRIVIALPRECONDITIONER_HPP_