Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

KayLoghinPreconditionerFactory.h

Go to the documentation of this file.
00001 #ifndef KAYLOGHINPRECONDITIONERFACTORY_H
00002 #define KAYLOGHINPRECONDITIONERFACTORY_H
00003 
00004 #include "TSFDefs.h"
00005 #include "TSFSmartPtr.h"
00006 #include "TSFPreconditionerFactoryBase.h"
00007 #include "TSFLinearSolver.h"
00008 #include "StaticLinearProblem.h"
00009 #include "Mesh.h"
00010 #include "Expr.h"
00011 #include <vector>
00012 #include <iostream>
00013 #include <string>
00014 
00015 namespace Sundance
00016 {
00017   using namespace TSF;
00018   using std::vector;
00019   using std::string;
00020   using std::ostream;
00021 
00022 
00023   /** \ingroup Preconditioner
00024    *
00025    */
00026 
00027   class KayLoghinPreconditionerFactory : public TSFPreconditionerFactoryBase
00028     {
00029     public:
00030       /** */
00031       KayLoghinPreconditionerFactory(const Mesh& mesh,
00032                                      const Expr& u0,
00033                                      const Expr& reynolds);
00034       /** TUVD */
00035       virtual ~KayLoghinPreconditionerFactory();
00036 
00037       /** create a concrete preconditioner */
00038       virtual TSFPreconditioner createPreconditioner(const TSFLinearOperator& A) const;
00039 
00040       /** write to a string */
00041       virtual string toString() const;
00042 
00043     private:
00044       TSFLinearSolver mpSolver_;
00045       TSFLinearSolver apSolver_;
00046       mutable StaticLinearProblem mpProb_;
00047       mutable StaticLinearProblem apProb_;
00048       mutable StaticLinearProblem fpProb_;
00049     };
00050 
00051 }
00052 
00053 
00054 #endif

Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by