stdmultilevelsolverdata.h

Go to the documentation of this file.
00001 #ifndef __StdMultiLevelSolverData_h
00002 #define __StdMultiLevelSolverData_h
00003 
00004 #include "paramfile.h"
00005 #include "cginfo.h"
00006 #include <map>
00007 #include <iostream>
00008 
00009 /**********************************************************/
00010 
00011 namespace Gascoigne
00012 {
00013 class StdMultiLevelSolverData
00014 {
00015   protected:
00016 
00017     std::string  _solver, _mgtype, _linearsolve, _nonlinearsolve;
00018     int          _countresidual, _coarselevel;
00019     int          _i_show_nonlinear_comp_residuals,_i_show_linear_comp_residuals,_i_show_comp_residual_names;
00020     int          _i_save_nonlinear_comp_residuals,_i_save_linear_comp_residuals;
00021     double       _mgomega;
00022     
00023     int        _gmresmemsize;
00024     CGInfo     precinfo;
00025   
00026   public:
00027 
00028     StdMultiLevelSolverData() { }
00029     virtual ~StdMultiLevelSolverData();
00030 
00031     virtual void BasicInit(const ParamFile *param);
00032 
00033     std::string& Solver()        { return _solver; }
00034     int&         CountResidual() { return _countresidual; }
00035     int&         CoarseLevel()   { return _coarselevel; }
00036     std::string& MgType()        { return _mgtype; }
00037     double&      MgOmega()       { return _mgomega; }
00038     std::string& LinearSolve()   { return _linearsolve; }
00039     std::string& NonLinearSolve(){ return _nonlinearsolve; }
00040 
00041     int  GmresMemSize()    const { return _gmresmemsize; }
00042           CGInfo& GetPrecInfo()       { return precinfo;}
00043     const CGInfo& GetPrecInfo() const { return precinfo;}
00044 
00045     int  SaveNonLinearCompResiduals() const { return _i_save_nonlinear_comp_residuals; }
00046     int  SaveLinearCompResiduals()    const { return _i_save_linear_comp_residuals;    }
00047     int  ShowNonLinearCompResiduals() const { return _i_show_nonlinear_comp_residuals; }
00048     int  ShowLinearCompResiduals()    const { return _i_show_linear_comp_residuals;    }
00049     int  ShowCompResidualNames()      const { 
00050       return ( _i_show_comp_residual_names && (_i_show_nonlinear_comp_residuals || _i_show_linear_comp_residuals ));
00051     }
00052 };
00053 
00054 /**********************************************************/
00055 
00056 }
00057 
00058 /**********************************************************/
00059 
00060 #endif

Generated on Thu Sep 14 10:34:38 2006 for Gascoigne by  doxygen 1.4.7