LAMA
|
00001 00033 #ifndef LAMA_GMRESCreator_HPP_ 00034 #define LAMA_GMRESCreator_HPP_ 00035 00036 // for dll_import 00037 #include <lama/config.hpp> 00038 00039 // base classes 00040 #include <lama/solver/creator/IterativeSolverCreator.hpp> 00041 00042 namespace lama 00043 { 00044 00045 namespace phoenix = boost::phoenix; 00046 namespace qi = boost::spirit::qi; 00047 namespace ascii = boost::spirit::ascii; 00048 00049 class LAMA_DLL_IMPORTEXPORT GMRESCreator : public IterativeSolverCreator 00050 { 00051 public: 00052 using IterativeSolverCreator::RuleType; 00053 00054 GMRESCreator( const std::string type ); 00055 00056 virtual ~GMRESCreator(); 00057 00061 static const std::string& id(); 00062 00066 virtual RuleType& getCreatorRule(); 00067 00068 protected: 00069 00075 RuleType mRGMRES; 00076 00077 private: 00078 LAMA_LOG_DECL_STATIC_LOGGER(logger); 00079 }; 00080 00081 } // namespace lama 00082 00083 #endif // LAMA_GMRESCreator_HPP_