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

vectorial/bramblePasciak.hh
Go to the documentation of this file.
00001 #ifndef bramblePasciak_hh
00002 #define bramblePasciak_hh
00003 
00004 #include <string>
00005 
00006 #include "basics/typedefs.hh"
00007 #include "operator.hh"
00008 #include "vectorial.hh"
00009 
00010 namespace vectorial {
00011 
00012   using concepts::Real;
00013 
00014   // ******************************************************** BramblePasciak **
00015 
00048   class BramblePasciak : public concepts::Operator<Real> {
00049   public:
00061     BramblePasciak(concepts::Operator<Real>& A, concepts::Operator<Real>& B,
00062                    concepts::Operator<Real>& Bt, concepts::Operator<Real>& C,
00063                    concepts::Operator<Real>& W, 
00064                    Real maxeps, int maxit = 0, uint relres = false);
00065 
00066     virtual void operator()(const concepts::Function<Real>& fncY,
00067                             concepts::Function<Real>& fncX);
00068     void operator()(const concepts::Vector<Real>& fncY,
00069                     concepts::Vector<Real>& fncX);
00070 
00074     uint iterations() const { return it_; }
00075 
00079     Real epsilon() const { return eps_; }
00080   protected:
00081     std::ostream& info(std::ostream& os) const;
00082   private:
00084     uint bdim_[2];
00086     concepts::Operator<Real>& A_;
00088     concepts::Operator<Real>& B_;
00090     concepts::Operator<Real>& Bt_;
00092     concepts::Operator<Real>& C_;
00094     concepts::Operator<Real>& W_;
00096     Real maxeps_;
00098     uint maxit_;
00100     Real eps_;
00102     uint it_;
00104     bool relres_;
00105   };
00106 
00107 } // namespace vectorial
00108 
00109 #endif // bramblePasciak_hh

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