ParMooN
 All Classes Functions Variables Friends Pages
DrivenCavity.h
1 // Navier-Stokes problem, Driven cavity
2 //
3 // u(x,y) = unknown
4 // p(x,y) = unknown
5 
6 void ExampleFile()
7 {
8  OutPut("Example: DrivenCavity.h" << endl) ;
9 }
10 
11 // ========================================================================
12 // exact solution
13 // ========================================================================
14 void ExactU1(double x, double y, double *values)
15 {
16  values[0] = 0;
17  values[1] = 0;
18  values[2] = 0;
19  values[3] = 0;
20 }
21 
22 void ExactU2(double x, double y, double *values)
23 {
24  values[0] = 0;
25  values[1] = 0;
26  values[2] = 0;
27  values[3] = 0;
28 }
29 
30 void ExactP(double x, double y, double *values)
31 {
32  values[0] = 0;
33  values[1] = 0;
34  values[2] = 0;
35  values[3] = 0;
36 }
37 
38 // ========================================================================
39 // boundary conditions
40 // ========================================================================
41 void BoundCondition(int i, double t, BoundCond &cond)
42 {
43  cond = DIRICHLET;
44 }
45 
46 void U1BoundValue(int BdComp, double Param, double &value)
47 {
48  switch(BdComp)
49  {
50  case 0: value = 0;
51  break;
52  case 1: value = 0;
53  break;
54  case 2: if(Param<0.00001 || Param>0.99999)
55  value = 0;
56  else
57  value = 1;
58  break;
59  case 3: value = 0;
60  break;
61  default: cout << "wrong boundary part number" << endl;
62  }
63 }
64 
65 void U2BoundValue(int BdComp, double Param, double &value)
66 {
67  value = 0;
68  if(BdComp>3) cout << "wrong boundary part number" << endl;
69 }
70 
71 // ========================================================================
72 // coefficients for Stokes form: A, B1, B2, f1, f2
73 // ========================================================================
74 void LinCoeffs(int n_points, double *x, double *y,
75  double **parameters, double **coeffs)
76 {
77  static double eps = 1/TDatabase::ParamDB->RE_NR;
78  int i;
79  double *coeff;
80 
81  for(i=0;i<n_points;i++)
82  {
83  coeff = coeffs[i];
84 
85  coeff[0] = eps;
86  coeff[1] = 0; // f1
87  coeff[2] = 0; // f2
88  }
89 }
90 
double RE_NR
Definition: Database.h:313
static TParamDB * ParamDB
Definition: Database.h:1134