ParMooN
 All Classes Functions Variables Friends Pages
StaticBubble.h
1 // Stokes problem, two-phase Static Bubble
2 
3 void ExampleFile()
4 {
5  OutPut("Example: StaticBubble.h" << endl) ;
6 
8 }
9 
10 // ========================================================================
11 // exact solution
12 // ========================================================================
13 void ExactU1(double x, double y, double z, double *values)
14 {
15  values[0] = 0;
16  values[1] = 0;
17  values[2] = 0;
18  values[3] = 0;
19  values[4] = 0;
20 }
21 
22 void ExactU2(double x, double y, double z, double *values)
23 {
24  values[0] = 0;
25  values[1] = 0;
26  values[2] = 0;
27  values[3] = 0;
28  values[4] = 0;
29 }
30 
31 void ExactU3(double x, double y, double z, double *values)
32 {
33  values[0] = 0;
34  values[1] = 0;
35  values[2] = 0;
36  values[3] = 0;
37  values[4] = 0;
38 }
39 
40 void ExactP(double x, double y, double z, double *values)
41 {
42  values[0] = 0;
43  values[1] = 0;
44  values[2] = 0;
45  values[3] = 0;
46  values[4] = 0;
47 }
48 
49 
50 // void ExactNull(double x, double y, double z, double *values)
51 // {
52 // values[0] =0;
53 // values[1] =0;
54 // values[2] =0;
55 // values[3] =0;
56 // values[4] =0;
57 // }
58 
59 // kind of boundary condition (for FE space needed)
60 void BoundCondition(int CompID, double x, double y, double z, BoundCond &cond)
61 {
62 
63  if(CompID!=6)
64  { cond = DIRICHLET; }
65  else
66  { cond = INTERFACE; }
67 }
68 
69 // value of boundary condition
70 void U1BoundValue(int CompID, double x, double y, double z, double &value)
71 {
72  value = 0;
73 }
74 
75 // value of boundary condition
76 void U2BoundValue(int CompID, double x, double y, double z, double &value)
77 {
78  value = 0;
79 }
80 
81 // value of boundary condition
82 void U3BoundValue(int CompID, double x, double y, double z, double &value)
83 {
84  value = 0 ;
85 }
86 
87 // ========================================================================
88 // coefficients for Stokes form: A, B1, B2, f1, f2
89 // ========================================================================
90 void LinCoeffs(int n_points, double *X, double *Y, double *Z,
91  double **parameters, double **coeffs)
92 {
93  static double eps = 1./TDatabase::ParamDB->RE_NR;
94  int i;
95  double *coeff, x, y, z;
96 
97  if (TDatabase::ParamDB->FLOW_PROBLEM_TYPE==STOKES)
98  {
99  for(i=0;i<n_points;i++)
100  {
101  coeff = coeffs[i];
102 
103  coeff[0] = 1.;
104  coeff[1] = 0; // f1
105  coeff[2] = 0; // f2
106  coeff[3] = 0; // f3
107  }
108  }
109  else
110  {
111  for(i=0;i<n_points;i++)
112  {
113  coeff = coeffs[i];
114 
115  x = X[i];
116  y = Y[i];
117  z = Z[i];
118  coeff[0] = eps;
119  coeff[1] = 0; // f1
120  coeff[2] = 0; // f2
121  coeff[3] = 0; // f3
122  }
123  }
124 
125 }
double RE_NR
Definition: Database.h:313
static TParamDB * ParamDB
Definition: Database.h:1134
bool INTERFACE_FLOW
Definition: Database.h:559