Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

operator/pardisoFabric.hh
Go to the documentation of this file.
00001 // fabric class for Pardiso
00002 
00003 #ifndef pardisoFabric_hh
00004 #define pardisoFabric_hh
00005 
00006 #include "pardiso.hh"
00007 #include "solverFabric.hh"
00008 
00009 namespace concepts {
00010 
00011   // ********************************************************* PardisoFabric **
00012 
00016   class PardisoFabric : public SolverFabric<Real> {
00017   public:
00018     PardisoFabric(enum Pardiso::MATRIX_TYPE type) : type_(type) {}
00019     virtual Operator<Real>* operator()(Operator<Real>& matrix) {
00020       return new Pardiso(matrix, type_);
00021     }
00022     virtual Operator<Real>* operator()(SparseMatrix<Real>& matrix) {
00023       return new Pardiso(matrix, type_);
00024     }
00025   protected:
00026     virtual std::ostream& info(std::ostream& os) const {
00027       return os << "PardisoFabric(" << type_ << ')';
00028     }
00029   private:
00030     enum Pardiso::MATRIX_TYPE type_;
00031   };
00032 
00033 } // concepts
00034 
00035 #endif // pardisoFabric_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)