ParMooN
 All Classes Functions Variables Friends Pages
NSE_MGLevel14.h
1 // =======================================================================
2 // @(#)NSE_MGLevel14.h 1.6 07/03/00
3 //
4 // Class: TNSE_MGLevel14
5 // Purpose: store all data for one level in a multi grid method
6 // for solving a Stokes-/ Navier-Stokes system of
7 // type 4 (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_MGLEVEL14__
16 #define __NSE_MGLEVEL14__
17 
18 #include <NSE_MGLevel.h>
19 
21 {
22  protected:
23 #ifdef __2D__
24 
26 
29 
32 
35 
38 
41 
44 
47 
50 
53 
56 
59 
62 #endif
63 
64 #ifdef __3D__
65 
67 
70 
73 
76 
79 
82 
85 
88 
91 
94 
97 
100 
103 
106 
109 
112 
115 
118 
121 
124 #endif
125 
127  int *ARowPtr;
128 
130  int *AKCol;
131 
133  double *A11Entries;
134 
136  double *A12Entries;
137 
139  double *A21Entries;
140 
142  double *A22Entries;
143 
145  int *CRowPtr;
146 
148  int *CKCol;
149 
151  double *CEntries;
152 
154  double *B1Entries;
155 
157  double *B2Entries;
158 
160  double *B1TEntries;
161 
163  double *B2TEntries;
164 #ifdef __3D__
165 
166  double *A13Entries;
167 
169  double *A23Entries;
170 
172  double *A31Entries;
173 
175  double *A32Entries;
176 
178  double *A33Entries;
179 
181  double *B3Entries;
182 
184  double *B3TEntries;
185 #endif
186 
188  int *BRowPtr;
189 
191  int *BKCol;
192 
194  int *BTRowPtr;
195 
197  int *BTKCol;
198 
199  public:
201 #ifdef __2D__
202  TNSE_MGLevel14(int level,
208  double *f1, double *u1,
209  int n_aux, double *al, int VelocitySpace,
210  int PressureSpace, TCollection *coll, int *dw);
211 #endif
212 #ifdef __3D__
213  TNSE_MGLevel14(int level,
222  double *f1, double *u1,
223  int n_aux, double *al, int VelocitySpace,
224  int PressureSpace, TCollection *coll, int *dw);
225 #endif
226 
228  ~TNSE_MGLevel14();
229 
230  virtual void Defect(double *u1, double *f1, double *d1, double &res);
231 
233  virtual void CorrectNodes(double *u1);
234 
236  virtual void CellVanka(double *u1, double *rhs1, double *aux,
237  int N_Parameters, double *Parameters, int smoother, int N_Levels);
238 
240  virtual void NodalVanka(double *u1, double *rhs1, double *aux,
241  int N_Parameters, double *Parameters, int smoother, int N_Levels);
242 
244  virtual void SolveExact(double *u1, double *rhs1);
245 
247  virtual void SolveExactUMFPACK(double *u1, double *rhs1, int &umfpack_flag);
248 
250  virtual void BraessSarazin(double *u1, double *rhs1, double *aux,
251  int N_Parameters, double *Parameters,int N_Levels);
252 
254  virtual double StepLengthControl(double *u1, double *u1old, double *def1,
255  int N_Parameters, double *Parameter);
256 
258  virtual void PrintAll();
259 
260 };
261 
262 #endif
Definition: NSE_MGLevel14.h:20
TSquareMatrix3D * A22
Definition: NSE_MGLevel14.h:78
TStructure3D * StructureB
Definition: NSE_MGLevel14.h:120
virtual void CorrectNodes(double *u1)
Definition: NSE_MGLevel14.C:203
int * BTRowPtr
Definition: NSE_MGLevel14.h:194
TMatrix3D * B3T
Definition: NSE_MGLevel14.h:117
virtual void NodalVanka(double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int smoother, int N_Levels)
Definition: NSE_MGLevel14.C:659
double * B2Entries
Definition: NSE_MGLevel14.h:157
Definition: Structure3D.h:23
double * B3TEntries
Definition: NSE_MGLevel14.h:184
Definition: SquareMatrix2D.h:20
Definition: Structure2D.h:23
Definition: SquareMatrix3D.h:20
virtual void CellVanka(double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int smoother, int N_Levels)
Definition: NSE_MGLevel14.C:248
TSquareMatrix2D * A11
Definition: NSE_MGLevel14.h:25
virtual void SolveExact(double *u1, double *rhs1)
Definition: NSE_MGLevel14.C:1000
~TNSE_MGLevel14()
Definition: NSE_MGLevel14.C:169
int * BRowPtr
Definition: NSE_MGLevel14.h:188
TMatrix3D * B1
Definition: NSE_MGLevel14.h:102
TMatrix2D * B2
Definition: NSE_MGLevel14.h:49
TSquareStructure2D * StructureC
Definition: NSE_MGLevel14.h:43
TStructure3D * StructureBT
Definition: NSE_MGLevel14.h:123
double * A11Entries
Definition: NSE_MGLevel14.h:133
TSquareMatrix3D * A33
Definition: NSE_MGLevel14.h:90
TSquareMatrix3D * A11
Definition: NSE_MGLevel14.h:66
TSquareMatrix3D * A21
Definition: NSE_MGLevel14.h:75
TSquareStructure3D * StructureA
Definition: NSE_MGLevel14.h:93
int * AKCol
Definition: NSE_MGLevel14.h:130
TSquareStructure2D * StructureA
Definition: NSE_MGLevel14.h:37
TSquareMatrix3D * A32
Definition: NSE_MGLevel14.h:87
TSquareMatrix3D * A31
Definition: NSE_MGLevel14.h:84
double * A31Entries
Definition: NSE_MGLevel14.h:172
store cells in an array, used by cell iterators
Definition: Collection.h:18
int PressureSpace
Definition: NSE_MGLevel.h:71
double * A13Entries
Definition: NSE_MGLevel14.h:166
virtual void BraessSarazin(double *u1, double *rhs1, double *aux, int N_Parameters, double *Parameters, int N_Levels)
Definition: NSE_MGLevel14.C:1168
TSquareStructure3D * StructureC
Definition: NSE_MGLevel14.h:99
double * A12Entries
Definition: NSE_MGLevel14.h:136
int * CRowPtr
Definition: NSE_MGLevel14.h:145
TMatrix3D * B3
Definition: NSE_MGLevel14.h:108
double * B1TEntries
Definition: NSE_MGLevel14.h:160
TNSE_MGLevel14(int level, TSquareMatrix2D *A11, TSquareMatrix2D *A12, TSquareMatrix2D *A21, TSquareMatrix2D *A22, TSquareMatrix2D *C, TMatrix2D *B1, TMatrix2D *B2, TMatrix2D *B1T, TMatrix2D *B2T, double *f1, double *u1, int n_aux, double *al, int VelocitySpace, int PressureSpace, TCollection *coll, int *dw)
Definition: NSE_MGLevel14.C:42
double * A21Entries
Definition: NSE_MGLevel14.h:139
double * A32Entries
Definition: NSE_MGLevel14.h:175
int * BKCol
Definition: NSE_MGLevel14.h:191
TSquareMatrix3D * A12
Definition: NSE_MGLevel14.h:69
double * B2TEntries
Definition: NSE_MGLevel14.h:163
virtual void Defect(double *u1, double *f1, double *d1, double &res)
Definition: NSE_MGLevel14.C:174
int * ARowPtr
Definition: NSE_MGLevel14.h:127
TMatrix2D * B1T
Definition: NSE_MGLevel14.h:52
int * CKCol
Definition: NSE_MGLevel14.h:148
TSquareMatrix3D * A13
Definition: NSE_MGLevel14.h:72
Definition: Matrix3D.h:20
Definition: Matrix2D.h:20
double * CEntries
Definition: NSE_MGLevel14.h:151
double * A23Entries
Definition: NSE_MGLevel14.h:169
TMatrix2D * B1
Definition: NSE_MGLevel14.h:46
double * B1Entries
Definition: NSE_MGLevel14.h:154
TStructure2D * StructureB
Definition: NSE_MGLevel14.h:58
TMatrix3D * B2
Definition: NSE_MGLevel14.h:105
virtual void SolveExactUMFPACK(double *u1, double *rhs1, int &umfpack_flag)
Definition: NSE_MGLevel14.C:1103
TSquareMatrix2D * C
Definition: NSE_MGLevel14.h:40
virtual void PrintAll()
Definition: NSE_MGLevel14.C:1177
int VelocitySpace
Definition: NSE_MGLevel.h:68
TSquareMatrix2D * A12
Definition: NSE_MGLevel14.h:28
Definition: SquareStructure3D.h:20
TStructure2D * StructureBT
Definition: NSE_MGLevel14.h:61
double * A33Entries
Definition: NSE_MGLevel14.h:178
virtual double StepLengthControl(double *u1, double *u1old, double *def1, int N_Parameters, double *Parameter)
Definition: NSE_MGLevel14.C:1114
double * A22Entries
Definition: NSE_MGLevel14.h:142
Definition: NSE_MGLevel.h:24
TMatrix3D * B1T
Definition: NSE_MGLevel14.h:111
Definition: SquareStructure2D.h:20
TSquareMatrix3D * C
Definition: NSE_MGLevel14.h:96
double * B3Entries
Definition: NSE_MGLevel14.h:181
TMatrix2D * B2T
Definition: NSE_MGLevel14.h:55
int * BTKCol
Definition: NSE_MGLevel14.h:197
TSquareMatrix2D * A21
Definition: NSE_MGLevel14.h:31
TSquareMatrix2D * A22
Definition: NSE_MGLevel14.h:34
TSquareMatrix3D * A23
Definition: NSE_MGLevel14.h:81
TMatrix3D * B2T
Definition: NSE_MGLevel14.h:114