ParMooN
 All Classes Functions Variables Friends Pages
ADISystem1D.h
1 // =======================================================================
2 // @(#)ADISystem1D.h 4.1 13.11.09
3 //
4 // Class: TADISystem1D
5 // Purpose: class for ADISystem1D
6 
7 //
8 // Author: Sashikumaar Ganesan (13.11.09)
9 //
10 // History: start of implementation 13.11.09 (Sashikumaar Ganesan)
11 //
12 // =======================================================================
13 
14 #ifndef __ADISYSTEM1D__
15 #define __ADISYSTEM1D__
16 
17 #include <ADISystem.h>
18 #include <FESpace1D.h>
19 #include <FEFunction1D.h>
20 
21 class TADISystem1D : public TADISystem
22 {
23  protected:
24 
26  double X;
27 
29  double Y;
30 
32  double Z;
33 
36 
39 
42 
45 
48 
51 
52 
54  DoubleFunctND *Initial;
55 
57  DoubleFunct2D *BDValue_LMin;
58  DoubleFunct2D *BDVal_LMax;
59 
60  private:
61  int ConstructAllInfo();
62 
63  public:
65  TADISystem1D(TFEFunction1D *FEFunction_intl, TSquareMatrix1D *M_internal, TSquareMatrix1D *A_internal,
66  TSquareMatrix1D *S_internal, TSquareMatrix1D *K_internal,
67  double x, double y, DoubleFunctND *initial,
68  DoubleFunct2D *bDValue_LMin, DoubleFunct2D *bDVal_LMax,
69  double *Sol, double *OldSol, double *b,
70  double *Defect, double *Intlposl, DoubleFunctND *growthAndNuc);
71 
73  TADISystem1D(TFEFunction1D *FEFunction_intl, TSquareMatrix1D *M_internal, TSquareMatrix1D *A_internal,
74  double x, double y, double z, double *Sol, double *OldSol, double *b, double *Defect,
75  DoubleFunctND *growthfunct);
76 
77  //void Interpolate(double *Sol, DoubleFunct3D *Exact);
78  void SetDirichletBc(BoundCond cond_Lmin, BoundCond cond_Lmax, double BDValue_Lmin, double BDValue_Lmax);
79 
80  void Interpolate(double *Sol, DoubleFunctND *Exact);
81 
82  void SolveAllLevels(double *MatValues_orig, double *SolFromX, double *AggrRhs, double &C, double C_Sat,
83  double &T, CoeffFctND *BilinearCoeffs,
84  double tau, BoundCond cond_Lmin, BoundCond cond_Lmax, DoubleFunct3D *Exact );
85 
86  void AssembleInitRhs(double C, double T, CoeffFctND *BilinearCoeffs,
87  BoundCond cond_Lmin, BoundCond cond_Lmax);
88 
89  void AssembleARhs_FD(double Conv, CoeffFctND *Bilinear);
90 
91  void AssembleARhs(double Conv, CoeffFctND *Bilinear);
92 
93  void AssembleARhs_SUPG(double Conv, CoeffFctND *Bilinear);
94 
95  void AssembleARhs_DG(double Conv, double Bnuc, CoeffFctND *Bilinear, BoundCond cond_Lmin, BoundCond cond_Lmax);
96 
97  double GetWeightedF();
98 
99  int GetN_InternalLevels()
100  {
101  return N_V;
102  }
103 
104  double GetQ3Max(double *currsol);
105 
107  ~TADISystem1D();
108 
109 };
110 
111 #endif
TSquareMatrix1D * S_Intl
Definition: ADISystem1D.h:47
TSquareMatrix1D * A_Intl
Definition: ADISystem1D.h:44
Definition: SquareMatrix1D.h:20
void AssembleInitRhs(double C, double T, CoeffFctND *BilinearCoeffs, BoundCond cond_Lmin, BoundCond cond_Lmax)
Definition: ADISystem1D.C:667
DoubleFunctND * Initial
Definition: ADISystem1D.h:54
double Y
Definition: ADISystem1D.h:29
void AssembleARhs(double Conv, CoeffFctND *Bilinear)
Definition: ADISystem1D.C:815
~TADISystem1D()
Definition: ADISystem1D.C:1790
void AssembleARhs_SUPG(double Conv, CoeffFctND *Bilinear)
Definition: ADISystem1D.C:1017
TADISystem1D(TFEFunction1D *FEFunction_intl, TSquareMatrix1D *M_internal, TSquareMatrix1D *A_internal, TSquareMatrix1D *S_internal, TSquareMatrix1D *K_internal, double x, double y, DoubleFunctND *initial, DoubleFunct2D *bDValue_LMin, DoubleFunct2D *bDVal_LMax, double *Sol, double *OldSol, double *b, double *Defect, double *Intlposl, DoubleFunctND *growthAndNuc)
Definition: ADISystem1D.C:32
Definition: FESpace1D.h:48
void AssembleARhs_DG(double Conv, double Bnuc, CoeffFctND *Bilinear, BoundCond cond_Lmin, BoundCond cond_Lmax)
Definition: ADISystem1D.C:1267
DoubleFunct2D * BDValue_LMin
Definition: ADISystem1D.h:57
double X
Definition: ADISystem1D.h:26
Definition: ADISystem1D.h:21
Definition: ADISystem.h:22
TSquareMatrix1D * M_Intl
Definition: ADISystem1D.h:41
void SolveAllLevels(double *MatValues_orig, double *SolFromX, double *AggrRhs, double &C, double C_Sat, double &T, CoeffFctND *BilinearCoeffs, double tau, BoundCond cond_Lmin, BoundCond cond_Lmax, DoubleFunct3D *Exact)
Definition: ADISystem1D.C:242
TFEFunction1D * FEFunction_Intl
Definition: ADISystem1D.h:38
TSquareMatrix1D * K_Intl
Definition: ADISystem1D.h:50
double Z
Definition: ADISystem1D.h:32
TFESpace1D * FESpace1D_Intl
Definition: ADISystem1D.h:35
int N_V
Definition: ADISystem.h:32
void AssembleARhs_FD(double Conv, CoeffFctND *Bilinear)
Definition: ADISystem1D.C:736
Definition: FEFunction1D.h:21