ParMooN
 All Classes Functions Variables Friends Pages
SystemTNSE3D.h
1 
10 #ifndef __SYSTEMTNSE3D__
11 #define __SYSTEMTNSE3D__
12 
13 #include <SystemNSE3D.h>
14 
17 {
18  protected:
19 
22 
24  TSquareMatrix3D **SqmatrixM11, **SqmatrixM12, **SqmatrixM13, **SqmatrixM21, **SqmatrixM22, **SqmatrixM23,
25  **SqmatrixM31, **SqmatrixM32, **SqmatrixM33;
26 
27 #ifdef __PRIVATE__
28 
30 
32  TStructure3D *structure_G, *structure_tilde_G;
33 
35  TMatrix3D *matrix_tilde_G11, *matrix_tilde_G22, *matrix_tilde_G33, *matrix_G11, *matrix_G22, *matrix_G33;
36  TMatrix3D **Matrices_tilde_G11, **Matrices_tilde_G22, **Matrices_tilde_G33, **Matrices_G11, **Matrices_G22, **Matrices_G33;
37 
39  TSquareMatrix3D *sqmatrixL, **MatricesL;
40 #endif
41 
42  // Assembling rhs*/
43  TAssembleMat3D *RhsOnlyAssemble;
44 
46  double *B;
47 
49  double *defect;
50 
52  double gamma;
53 
56 
59 
62 
65 
66 
67 
68  public:
70  TSystemTNSE3D(int N_levels, TFESpace3D **velocity_fespace, TFESpace3D **presssure_fespace, TFEVectFunct3D **velocity,
71  TFEFunction3D **pressure, double **sol, double **rhs, int disctype, int nsetype, int solver
72 #ifdef __PRIVATE__
73  ,TFESpace3D **Projection_space
74 #endif
75  );
76 
79 
83  void Init(CoeffFct3D *lincoeffs, BoundCondFunct3D *BoundCond, BoundValueFunct3D *U1BoundValue,
84  BoundValueFunct3D *U2BoundValue, BoundValueFunct3D *U3BoundValue);
85 
87  void Assemble();
88 
90  void AssembleRhs();
91 
93  void AssembleSystMat(double scale, double *oldrhs, double *rhs, double *sol);
94 
97 
99  void RestoreMassMat();
100 
103 
105  void AssembleNonLinear();
106 
108  void Solve(double *sol);
109 
111  void GetResidual(double *sol, double &impuls_residual, double &residual);
112 
114  void MeasureTNSEErrors(DoubleFunct3D *ExactU1, DoubleFunct3D *ExactU2, DoubleFunct3D *ExactU3, DoubleFunct3D *ExactP, double *AllErrors);
115 
117  void printall_matrix();
118 
119  void GetMesh();
120 
121  void All_levels_check();
122 
123  double BlockMatVect(TSquareMatrix *A);
124 
125  double BlockMatVect(TMatrix *A);
126 
127 };
128 
129 #endif
TStructure3D * structure_G
Definition: SystemTNSE3D.h:32
void GetResidual(double *sol, double &impuls_residual, double &residual)
Definition: SystemTNSE3D.C:1132
void RestoreMassMatNonLinear()
Definition: SystemTNSE3D.C:1376
Definition: Structure3D.h:23
Definition: SquareMatrix3D.h:20
Definition: Matrix.h:21
TSquareMatrix3D * sqmatrixL
Definition: SystemTNSE3D.h:39
Definition: AuxParam3D.h:21
void printall_matrix()
Definition: SystemTNSE3D.C:1610
base class for assembling matrices
Definition: AssembleMat3D.h:27
void Init(CoeffFct3D *lincoeffs, BoundCondFunct3D *BoundCond, BoundValueFunct3D *U1BoundValue, BoundValueFunct3D *U2BoundValue, BoundValueFunct3D *U3BoundValue)
Definition: SystemTNSE3D.C:150
Definition: FESpace3D.h:22
bool SystMatAssembled
Definition: SystemTNSE3D.h:61
double olderror_l_2_l_2u
Definition: SystemTNSE3D.h:64
void Solve(double *sol)
Definition: SystemTNSE3D.C:1243
double gamma
Definition: SystemTNSE3D.h:52
void RestoreMassMat()
Definition: SystemTNSE3D.C:1333
TDiscreteForm3D * DiscreteFormRhs
Definition: SystemTNSE3D.h:55
Definition: SquareMatrix.h:20
stores the information of a 3D TNSE system matrix
Definition: SystemTNSE3D.h:16
void AssembleSystMat(double scale, double *oldrhs, double *rhs, double *sol)
Definition: SystemTNSE3D.C:975
void AssembleSystMatNonLinear()
Definition: SystemTNSE3D.C:1411
TMatrix3D * matrix_tilde_G11
Definition: SystemTNSE3D.h:35
void MeasureTNSEErrors(DoubleFunct3D *ExactU1, DoubleFunct3D *ExactU2, DoubleFunct3D *ExactU3, DoubleFunct3D *ExactP, double *AllErrors)
Definition: SystemTNSE3D.C:1447
Definition: FEVectFunct3D.h:20
Definition: Matrix3D.h:20
Definition: DiscreteForm3D.h:21
void AssembleNonLinear()
Definition: SystemTNSE3D.C:838
TAuxParam3D * NSE_Rhsaux
Definition: SystemTNSE3D.h:58
double * B
Definition: SystemTNSE3D.h:46
Definition: SquareStructure3D.h:20
void Assemble()
Definition: SystemTNSE3D.C:685
TSquareMatrix3D ** SqmatrixM11
Definition: SystemTNSE3D.h:24
void AssembleRhs()
Definition: SystemTNSE3D.C:666
double * defect
Definition: SystemTNSE3D.h:49
stores the information of a 3D NSE system matrix
Definition: SystemNSE3D.h:32
TSystemTNSE3D(int N_levels, TFESpace3D **velocity_fespace, TFESpace3D **presssure_fespace, TFEVectFunct3D **velocity, TFEFunction3D **pressure, double **sol, double **rhs, int disctype, int nsetype, int solver#ifdef __PRIVATE__, TFESpace3D **Projection_space#endif)
Definition: SystemTNSE3D.C:44
TSquareStructure3D * sqstructureL
Definition: SystemTNSE3D.h:29
Definition: FEFunction3D.h:25
TFESpace3D ** Projection_Spaces
Definition: SystemTNSE3D.h:21