PlayaPreconditionerFactoryBase.hpp

00001 /* @HEADER@ */
00002 //   
00003  /* @HEADER@ */
00004 
00005 #ifndef PLAYA_PRECONDITIONERFACTORYBASE_HPP
00006 #define PLAYA_PRECONDITIONERFACTORYBASE_HPP
00007 
00008 #include "PlayaDefs.hpp"
00009 #include "PlayaVectorDecl.hpp"
00010 #include "PlayaLinearOperatorDecl.hpp"
00011 #include "PlayaPreconditioner.hpp"
00012 #include "Teuchos_ParameterList.hpp"
00013 
00014 
00015 namespace Playa
00016 {
00017 using namespace Teuchos;
00018 
00022 template <class Scalar>
00023 class PreconditionerFactoryBase 
00024   : public Playa::Handleable<PreconditionerFactoryBase<Scalar> >
00025 {
00026 public:
00028   PreconditionerFactoryBase() {;}
00029 
00031   virtual ~PreconditionerFactoryBase(){;}
00032 
00033     
00035   virtual Preconditioner<Scalar> createPreconditioner(const LinearOperator<Scalar>& A) const = 0 ;
00036 
00037 private:
00038 };
00039 
00040 }
00041 
00042 #endif

doxygen