SundancePCDPreconditioner.hpp
Go to the documentation of this file.
00001 #ifndef SUNDANCE_PCD_PRECONDITIONER_HPP
00002 #define SUNDANCE_PCD_PRECONDITIONER_HPP
00003 
00004 #include "SundanceLinearProblem.hpp"
00005 #include "PlayaLinearSolverDecl.hpp"
00006 #include "PlayaPreconditionerFactory.hpp"
00007 
00008 
00009 namespace Playa
00010 {
00011 using namespace Sundance;
00012 
00013 class PCDPreconditionerFactory
00014   : public PreconditionerFactoryBase<double>
00015 {
00016 public:
00017   /** */
00018   PCDPreconditionerFactory(
00019     const ParameterList& params,
00020     const LinearProblem& MpProb,
00021     const LinearProblem& ApProb,
00022     const LinearProblem& FpProb
00023     );
00024 
00025 
00026   /** */
00027   Preconditioner<double> 
00028   createPreconditioner(const LinearOperator<double>& A) const ;
00029   /* */
00030   GET_RCP( PreconditionerFactoryBase<double>);
00031 
00032 private:
00033   LinearProblem MpProb_;
00034   LinearProblem ApProb_;
00035   LinearProblem FpProb_;
00036   LinearSolver<double> MpSolver_;
00037   LinearSolver<double> ApSolver_;
00038   LinearSolver<double> FSolver_;
00039 };
00040 
00041 }
00042 
00043 
00044 #endif

Site Contact