PlayaPreconditionerFactoryBase.hpp
00001
00002
00003
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