ParMooN
 All Classes Functions Variables Friends Pages
NSE3DMGLevel3.h
1 // =======================================================================
2 // @(#)NSE_MGLevel3.h 1.6 07/03/00
3 //
4 // Class: TNSE_MGLevel3
5 // Purpose: store all data for one level in a multi grid method
6 // for solving a Stokes-/ Navier-Stokes system of
7 // type 3 (all Aij, B1, B2, B3)
8 //
9 // Author: Volker John 25.07.2000
10 //
11 // History: 25.07.2000start of implementation
12 //
13 // =======================================================================
14 
15 #ifndef __NSE_MGEVELl3__
16 #define __NSE_MGLEVEL3__
17 
18 #include <NSE_MGLevel.h>
19 
21 {
22  protected:
23 #ifdef __2D__
24 
26 
29 
32 
35 
38 
41 
44 
47 
50 #endif
51 
52 #ifdef __3D__
53 
55 
58 
61 
64 
67 
70 
73 
76 
79 
82 
85 
88 
91 
94 
97 #endif
98 
100  int *ARowPtr;
101 
103  int *AKCol;
104 
106  double *A11Entries;
107 
109  double *A12Entries;
110 
112  double *A21Entries;
113 
115  double *A22Entries;
116 
118  double *B1Entries;
119 
121  double *B2Entries;
122 
123 #ifdef __3D__
124 
125  double *A13Entries;
126 
128  double *A23Entries;
129 
131  double *A31Entries;
132 
134  double *A32Entries;
135 
137  double *A33Entries;
138 
140  double *B3Entries;
141 #endif
142 
144  int *BRowPtr;
145 
147  int *BKCol;
148 
150  int *BTRowPtr;
151 
153  int *BTKCol;
154 
155  public:
157 #ifdef __2D__
158  TNSE_MGLevel3(int level,
162  TStructure2D *structureBT,
163  double *f1, double *u1,
164  int n_aux, double al, int VelocitySpace,
165  int PressureSpace, TCollection *coll);
166 #endif
167 #ifdef __3D__
168  TNSE_MGLevel3(int level,
176  TStructure3D *structureBT,
177  double *f1, double *u1,
178  int n_aux, double al, int VelocitySpace,
179  int PressureSpace, TCollection *coll);
180 #endif
181 
183  ~TNSE_MGLevel3();
184 
185  virtual void Defect(double *u1, double *f1, double *d1, double &res);
186 
188  virtual void CorrectNodes(double *u1);
189 
191  virtual void CellVanka(double *u1, double *rhs1, double *aux,
192  int N_Parameters, double *Parameters, int smoother, int N_Levels);
193 
195  virtual void NodalVanka(double *u1, double *rhs1, double *aux,
196  int N_Parameters, double *Parameters, int smoother, int N_Levels);
197 
199  virtual void SolveExact(double *u1, double *rhs1);
200 
202  virtual void BraessSarazin(double *u1, double *rhs1, double *aux,
203  int N_Parameters, double *Parameters,int N_Levels);
204 
206  virtual double StepLengthControl(double *u1, double *u1old, double *def1,
207  int N_Parameters, double *Parameter);
208 
210  virtual void PrintAll();
211 
212 };
213 
214 #endif
virtual void Defect(double *u1, double *f1, double *d1, double &res)
Definition: NSE_MGLevel3.C:161
double * A23Entries
Definition: NSE3DMGLevel3.h:128
virtual void SolveExact(double *u1, double *rhs1)
Definition: NSE_MGLevel3.C:932
int * BKCol
Definition: NSE3DMGLevel3.h:147
virtual void BraessSarazin(double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int N_Levels)
Definition: NSE_MGLevel3.C:1108
virtual void CellVanka(double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int smoother, int N_Levels)
Definition: NSE_MGLevel3.C:233
TStructure2D * StructureB
Definition: NSE3DMGLevel3.h:46
int * ARowPtr
Definition: NSE3DMGLevel3.h:100
TNSE_MGLevel3(int level, TSquareMatrix2D *A11, TSquareMatrix2D *A12, TSquareMatrix2D *A21, TSquareMatrix2D *A22, TMatrix2D *B1, TMatrix2D *B2, TStructure2D *structureBT, double *f1, double *u1, int n_aux, double al, int VelocitySpace, int PressureSpace, TCollection *coll)
TSquareStructure3D * StructureA
Definition: NSE3DMGLevel3.h:81
int * BTRowPtr
Definition: NSE3DMGLevel3.h:150
Definition: Structure3D.h:23
Definition: SquareMatrix2D.h:20
TStructure2D * StructureBT
Definition: NSE3DMGLevel3.h:49
Definition: Structure2D.h:23
Definition: SquareMatrix3D.h:20
TSquareMatrix2D * A12
Definition: NSE3DMGLevel3.h:28
TSquareMatrix3D * A22
Definition: NSE3DMGLevel3.h:66
TSquareMatrix3D * A11
Definition: NSE3DMGLevel3.h:54
virtual double StepLengthControl(double *u1, double *u1old, double *def1, int N_Parameters, double *Parameter)
Definition: NSE_MGLevel3.C:1055
Definition: NSE3DMGLevel3.h:20
TStructure3D * StructureBT
Definition: NSE3DMGLevel3.h:96
TSquareMatrix3D * A13
Definition: NSE3DMGLevel3.h:60
int * BRowPtr
Definition: NSE3DMGLevel3.h:144
double * A22Entries
Definition: NSE3DMGLevel3.h:115
TSquareMatrix3D * A12
Definition: NSE3DMGLevel3.h:57
TSquareStructure2D * StructureA
Definition: NSE3DMGLevel3.h:37
TMatrix2D * B2
Definition: NSE3DMGLevel3.h:43
store cells in an array, used by cell iterators
Definition: Collection.h:18
int PressureSpace
Definition: NSE_MGLevel.h:71
TSquareMatrix2D * A21
Definition: NSE3DMGLevel3.h:31
TSquareMatrix3D * A31
Definition: NSE3DMGLevel3.h:72
TStructure3D * StructureB
Definition: NSE3DMGLevel3.h:93
virtual void CorrectNodes(double *u1)
Definition: NSE_MGLevel3.C:191
double * A13Entries
Definition: NSE3DMGLevel3.h:125
double * A32Entries
Definition: NSE3DMGLevel3.h:134
int * AKCol
Definition: NSE3DMGLevel3.h:103
TSquareMatrix3D * A23
Definition: NSE3DMGLevel3.h:69
Definition: Matrix3D.h:20
virtual void NodalVanka(double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int smoother, int N_Levels)
Definition: NSE_MGLevel3.C:595
Definition: Matrix2D.h:20
double * A21Entries
Definition: NSE3DMGLevel3.h:112
TMatrix3D * B3
Definition: NSE3DMGLevel3.h:90
virtual void PrintAll()
Definition: NSE_MGLevel3.C:1140
int * BTKCol
Definition: NSE3DMGLevel3.h:153
double * A11Entries
Definition: NSE3DMGLevel3.h:106
TSquareMatrix3D * A32
Definition: NSE3DMGLevel3.h:75
double * A31Entries
Definition: NSE3DMGLevel3.h:131
double * A12Entries
Definition: NSE3DMGLevel3.h:109
~TNSE_MGLevel3()
Definition: NSE_MGLevel3.C:156
TSquareMatrix2D * A22
Definition: NSE3DMGLevel3.h:34
double * B3Entries
Definition: NSE3DMGLevel3.h:140
int VelocitySpace
Definition: NSE_MGLevel.h:68
TMatrix2D * B1
Definition: NSE3DMGLevel3.h:40
Definition: SquareStructure3D.h:20
TSquareMatrix3D * A21
Definition: NSE3DMGLevel3.h:63
TSquareMatrix2D * A11
Definition: NSE3DMGLevel3.h:25
Definition: NSE_MGLevel.h:24
double * A33Entries
Definition: NSE3DMGLevel3.h:137
Definition: SquareStructure2D.h:20
TMatrix3D * B2
Definition: NSE3DMGLevel3.h:87
TSquareMatrix3D * A33
Definition: NSE3DMGLevel3.h:78
double * B1Entries
Definition: NSE3DMGLevel3.h:118
double * B2Entries
Definition: NSE3DMGLevel3.h:121
TMatrix3D * B1
Definition: NSE3DMGLevel3.h:84