ParMooN
 All Classes Functions Variables Friends Pages
CDSystemTimeDG.h
1 
11 #ifndef __CDSYSTEMTIMEDG__
12 #define __CDSYSTEMTIMEDG__
13 
14 #include <SquareMatrix2D.h>
15 #include <string.h>
16 
19 {
20  protected:
22  int N_Eqn;
23 
25  int N_U, N_UActive;
26 
28  double *Sol_dG, *rhs_dG;
29 
31  int N_RowBlockMat, N_ColBlockMat;
32 
34  int Sys_N_Entries, *Sys_rowptr, *Sys_colindex;
35 
37  TSquareMatrix2D *Mat_M, *Mat_A, *Sys_Mat;
38 
40  TSquareMatrix2D *Mat_M_Qp1, *Mat_A_Qp1; // dG(1)
41  double *Rhs_Qp1;
42  bool CONSERVATIVEALE, QpMatricsAdded;
43 
46 
49 
51  CoeffFct2D *BilinearCoeffs;
52 
53  public:
55  TCDSystemTimeDG(int n_RowBlockMat, int n_ColBlockMat, TSquareMatrix2D *mat_M, TSquareMatrix2D *mat_A);
56 
59 
60  void AddBilinear(CoeffFct2D *bilinearCoeffs)
61  {BilinearCoeffs = bilinearCoeffs;}
62 
64  void AddQp1Matrices(TSquareMatrix2D *mat_M_Qp1,TSquareMatrix2D *mat_A_Qp1, double *rhs_Qp1)
65  {
66  Mat_M_Qp1 = mat_M_Qp1;
67  Mat_A_Qp1 = mat_A_Qp1;
68  Rhs_Qp1 = rhs_Qp1;
69  QpMatricsAdded = TRUE;
70  }
71 
73  virtual void AssembleSysMat(double *Mu_old, double *Rhs);
74 
76  virtual void AssembleALESysMat_Qp1(double *Mu_old, double *Rhs);
77 
79  void AssembleRhs(int N_Rhs, double *T, double *Rhs);
80 
82  void ResetSysMat()
83  { memset(Sys_Mat->GetEntries(), 0, Sys_N_Entries*SizeOfDouble); }
84 
86  void SovedGSystem();
87 
89  virtual void SoveTimedG(double *Sol);
90 
92  void SetALEForm(bool conservative)
93  { CONSERVATIVEALE = conservative; }
94 
95 };
96 
97 #endif
TSquareStructure2D * Sys_structure
Definition: CDSystemTimeDG.h:45
Definition: SquareMatrix2D.h:20
void SovedGSystem()
Definition: CDSystemTimeDG.C:194
virtual void AssembleALESysMat_Qp1(double *Mu_old, double *Rhs)
Definition: CDSystemTimeDG.C:175
int N_Eqn
Definition: CDSystemTimeDG.h:22
void AssembleRhs(int N_Rhs, double *T, double *Rhs)
Definition: CDSystemTimeDG.C:70
virtual void SoveTimedG(double *Sol)
Definition: CDSystemTimeDG.C:186
Definition: FESpace2D.h:28
TFESpace2D * RhsSpace
Definition: CDSystemTimeDG.h:48
TSquareMatrix2D * Mat_M_Qp1
Definition: CDSystemTimeDG.h:40
double * GetEntries() const
Definition: Matrix.h:87
~TCDSystemTimeDG()
Definition: CDSystemTimeDG.C:61
int N_RowBlockMat
Definition: CDSystemTimeDG.h:31
CoeffFct2D * BilinearCoeffs
Definition: CDSystemTimeDG.h:51
stores the information of a 2D scalar dG in time discretization
Definition: CDSystemTimeDG.h:18
void ResetSysMat()
Definition: CDSystemTimeDG.h:82
double * Sol_dG
Definition: CDSystemTimeDG.h:28
void SetALEForm(bool conservative)
Definition: CDSystemTimeDG.h:92
void AddQp1Matrices(TSquareMatrix2D *mat_M_Qp1, TSquareMatrix2D *mat_A_Qp1, double *rhs_Qp1)
Definition: CDSystemTimeDG.h:64
TSquareMatrix2D * Mat_M
Definition: CDSystemTimeDG.h:37
int Sys_N_Entries
Definition: CDSystemTimeDG.h:34
Definition: SquareStructure2D.h:20
TCDSystemTimeDG(int n_RowBlockMat, int n_ColBlockMat, TSquareMatrix2D *mat_M, TSquareMatrix2D *mat_A)
stores the information of a 2D scalar dG in time discretization
Definition: CDSystemTimeDG.C:17
virtual void AssembleSysMat(double *Mu_old, double *Rhs)
Definition: CDSystemTimeDG.C:166
int N_U
Definition: CDSystemTimeDG.h:25