solverdata.h

Go to the documentation of this file.
00001 #ifndef  __SolverData_h
00002 #define  __SolverData_h
00003 
00004 #include  "gascoigne.h"
00005 #include  "paramfile.h"
00006 #include  <string>
00007 
00008 /*----------------------------------------------*/
00009 
00010 namespace Gascoigne
00011 {
00012 class SolverData
00013 {
00014   protected:
00015 
00016     int           exact_lu, enlarge, iter_pre, iter_post, iter_exact;
00017     int           bicgstab_pstep;
00018     DoubleVector  _ilum;
00019     DoubleVector  vector_direction;
00020     IntVector     stream_direction, _pfilter;
00021     double        omega;
00022     std::string   ilusort, linear_smooth, bicgstab_residual;
00023 
00024     // gibt an wieviele Iterationen mindestens gemacht werden, und
00025     // ab wann im bicgstab ein Abbruchskriterium greift.
00026     // iter/miniter wird immer iteriert.
00027     double              bicgstab_miniter;
00028     
00029     int _cgMassMaxIter;
00030     double _cgMassTol, _cgMassGlobalTol;
00031 
00032   public:
00033 
00034     void BasicInit(const ParamFile* pf);
00035 
00036     const IntVector& GetPfilter()const { return _pfilter;}
00037     void SetPfilter(const IntVector& pfilter) {_pfilter=pfilter;}
00038 
00039     double GetIluModify(int c)      const { return _ilum[c];}
00040     const DoubleVector& GetIluModify() const { return _ilum;}
00041     void SetIluModify(const DoubleVector& ilum) {_ilum=ilum;}
00042 
00043     int    GetExactLu()             const { return exact_lu;}
00044     int    GetEnlarge()             const { return enlarge;}
00045     double GetOmega()           const { return omega;}
00046     int    GetIterPre ()        const { return iter_pre;}
00047     int    GetIterPost ()       const { return iter_post;}
00048     int    GetIterExact ()      const { return iter_exact;}
00049     const std::string& GetIluSort() const { return ilusort;}
00050     const IntVector& GetStreamDirection() const
00051       { return stream_direction; }
00052     const DoubleVector& GetVectorDirection() const
00053       { return vector_direction; }
00054     
00055     int    GetBiCGStabPStep()    const { return bicgstab_pstep;}
00056     std::string GetBiCGStabResidual()const { return bicgstab_residual;}
00057     std::string GetLinearSmooth()    const { return linear_smooth;}
00058     double GetBiCGStabMinIter()  const { return bicgstab_miniter;}
00059 
00060     int GetCgMassMaxIter() const { return _cgMassMaxIter; }
00061     double GetCgMassTol() const { return _cgMassTol; }
00062     double GetCgMassGlobalTol() const { return _cgMassGlobalTol; }
00063 };
00064 }
00065 
00066 #endif

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