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

eigensolver/jdbsymFabric.hh
Go to the documentation of this file.
00001 // fabric for eigensolver JDBSym
00002 
00003 #ifndef jdbsymFabric_hh
00004 #define jdbsymFabric_hh
00005 
00006 #include <memory>
00007 #include "jdbsym.hh"
00008 #include "solverFabric.hh"
00009 
00010 namespace eigensolver {
00011 
00012   // ********************************************************** JdbSymFabric **
00013 
00020   class JdbSymFabric : public SolverFabric<Real> {
00021   public:
00036     JdbSymFabric(Real tol, uint maxit = 150, Real tau = 0.0,
00037                  uint jdtype = 1, uint kmax = 1,
00038                  concepts::SolverFabric<Real>* fabric = 0,
00039                  const concepts::Array<concepts::Vector<Real>*>* start = 0)
00040       : solver_(0), tol_(tol), tau_(tau), maxit_(maxit), jdtype_(jdtype)
00041       , kmax_(kmax), fabric_(fabric), start_(start) {}
00042     virtual ~JdbSymFabric();
00043     virtual JdbSym& operator()(concepts::Operator<Real>& stiff,
00044                                concepts::Operator<Real>& mass);
00045   protected:
00046     virtual std::ostream& info(std::ostream& os) const;
00047   private:
00049     std::auto_ptr<JdbSym> solver_;
00050     Real tol_, tau_;
00051     uint maxit_, jdtype_, kmax_;
00052     concepts::SolverFabric<Real>* fabric_;
00053     const concepts::Array<concepts::Vector<Real>*>* start_;
00054   };
00055 
00056 } // eigensolver
00057 
00058 #endif // jdbsymFabric_hh

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