ParMooN
 All Classes Functions Variables Friends Pages
TNSE2D_ParamRout.h
1 // ======================================================================
2 // @(#)TNSE2D_ParamRout.h 1.2 05/05/00
3 //
4 // common declaration for all time dependent Navier-Stokes problems
5 // ======================================================================
6 
7 #ifndef __TNSE2D_PARAMROUT__
8 #define __TNSE2D_PARAMROUT__
9 
10 // ======================================================================
11 // setting for error calculation for all types
12 // ======================================================================
13 MultiIndex2D TimeNSAllDerivatives[3] = { D00, D10, D01 };
14 
15 // ========================================================================
16 // parameter routines
17 // ========================================================================
18 
19 // ========================================================================
20 // parameters: u1old, u2old
21 // ========================================================================
22 
23 void TimeNSParams2(double *in, double *out);
24 
25 int TimeNSN_FESpaces2 = 1;
26 int TimeNSN_Fct2 = 2;
27 int TimeNSN_ParamFct2 = 1;
28 int TimeNSN_FEValues2 = 2;
29 int TimeNSN_Params2 = 2;
30 int TimeNSFEFctIndex2[2] = { 0, 1 };
31 MultiIndex2D TimeNSFEMultiIndex2[2] = { D00, D00 };
32 ParamFct *TimeNSFct2[1] = { TimeNSParams2 };
33 int TimeNSBeginParam2[1] = { 0 };
34 
35 
36 
37 // ========================================================================
38 // Rosenbrock Methods
39 // ========================================================================
40 
41 /*
42 void TimeNSParams2RB(double *in, double *out);
43 
44 int TimeNSN_FESpaces2 = 1;
45 int TimeNSN_Fct2 = 2;
46 int TimeNSN_ParamFct2 = 1;
47 int TimeNSN_FEValues2 = 6;
48 int TimeNSN_Params2 = 6;
49 int TimeNSFEFctIndex2[6] = { 0, 1, 0, 1, 0, 1 };
50 MultiIndex2D TimeNSFEMultiIndex2[6] = { D00, D00, D10, D10, D01, D01 };
51 ParamFct *TimeNSFct2[1] = { TimeNSParams2RB };
52 int TimeNSBeginParam2[1] = { 0 };
53  */
54 
55 // ========================================================================
56 // coletti, without g_\delta \ast u
57 // ========================================================================
58 
59 void TimeNSParamsVelo_GradVelo(double *in, double *out);
60 int TimeNSN_FESpacesVelo_GradVelo = 1;
61 int TimeNSN_FctVelo_GradVelo = 2;
62 int TimeNSN_ParamFctVelo_GradVelo = 1;
63 int TimeNSN_FEValuesVelo_GradVelo = 6;
64 int TimeNSN_ParamsVelo_GradVelo = 6;
65 int TimeNSFEFctIndexVelo_GradVelo[6] = { 0, 1, 0, 1, 0, 1 };
66 MultiIndex2D TimeNSFEMultiIndexVelo_GradVelo[6] = { D00, D00, D10, D10, D01, D01 };
67 ParamFct *TimeNSFctVelo_GradVelo[1] = { TimeNSParamsVelo_GradVelo };
68 int TimeNSBeginParamVelo_GradVelo[1] = { 0 };
69 
70 // ========================================================================
71 // coletti, without g_\delta \ast u, in ALE
72 // ========================================================================
73 void TimeNSParamsVelo_GradVelo_ALE(double *in, double *out);
74 int TimeNSN_FESpacesVelo_GradVelo_ALE = 2;
75 int TimeNSN_FctVelo_GradVelo_ALE = 4;
76 int TimeNSN_ParamFctVelo_GradVelo_ALE = 1;
77 int TimeNSN_FEValuesVelo_GradVelo_ALE = 8;
78 int TimeNSN_ParamsVelo_GradVelo_ALE = 8;
79 int TimeNSFEFctIndexVelo_GradVelo_ALE[8] = { 0, 1, 0, 1, 0, 1, 2, 3 };
80 MultiIndex2D TimeNSFEMultiIndexVelo_GradVelo_ALE[8] = { D00, D00, D10, D10, D01, D01, D00, D00};
81 ParamFct *TimeNSFctVelo_GradVelo_ALE[1] = { TimeNSParamsVelo_GradVelo_ALE };
82 int TimeNSBeginParamVelo_GradVelo_ALE[1] = { 0 };
83 
84 // ========================================================================
85 // velocity, gradient and convolution of velocity
86 // ========================================================================
87 
88 void TimeNSParamsVelo_GradVelo_ConvVelo(double *in, double *out);
89 int TimeNSN_FESpacesVelo_GradVelo_ConvVelo = 2;
90 int TimeNSN_FctVelo_GradVelo_ConvVelo = 4;
91 int TimeNSN_ParamFctVelo_GradVelo_ConvVelo = 1;
92 int TimeNSN_FEValuesVelo_GradVelo_ConvVelo = 8;
93 int TimeNSN_ParamsVelo_GradVelo_ConvVelo = 8;
94 int TimeNSFEFctIndexVelo_GradVelo_ConvVelo[8] = { 0, 1, 0, 1, 0, 1, 2, 3 };
95 MultiIndex2D TimeNSFEMultiIndexVelo_GradVelo_ConvVelo[8] = { D00, D00, D10,
96  D10, D01, D01,
97  D00, D00 };
98 ParamFct *TimeNSFctVelo_GradVelo_ConvVelo[1] = { TimeNSParamsVelo_GradVelo_ConvVelo };
99 int TimeNSBeginParamVelo_GradVelo_ConvVelo[1] = { 0 };
100 
101 // ========================================================================
102 // Coletti,
103 // turbulent viscosity \|u - g_\delta \ast u\|_2
104 // ========================================================================
105 void TimeNSParamsVelo_GradVeloNuT4(double *in, double *out);
106 int TimeNSN_FESpacesVelo_GradVeloNuT4 = 2;
107 int TimeNSN_FctVelo_GradVeloNuT4 = 4;
108 int TimeNSN_ParamFctVelo_GradVeloNuT4 = 1;
109 int TimeNSN_FEValuesVelo_GradVeloNuT4 = 8;
110 int TimeNSN_ParamsVelo_GradVeloNuT4 = 8;
111 int TimeNSFEFctIndexVelo_GradVeloNuT4[8] = { 0, 1, 0, 1, 0, 1, 2, 3 };
112 MultiIndex2D TimeNSFEMultiIndexVelo_GradVeloNuT4[8] = { D00, D00, D10, D10, D01, D01, D00, D00 };
113 ParamFct *TimeNSFctVelo_GradVeloNuT4[1] = { TimeNSParamsVelo_GradVeloNuT4 };
114 int TimeNSBeginParamVelo_GradVeloNuT4[1] = { 0 };
115 
116 // ========================================================================
117 // Galdi/Layton with convolution, without g_\delta \ast u
118 // ========================================================================
119 void TimeNSParamsGL00Convolution(double *in, double *out);
120 int TimeNSN_FESpacesGL00Convolution = 2;
121 int TimeNSN_FctGL00Convolution = 5;
122 int TimeNSN_ParamFctGL00Convolution = 1;
123 int TimeNSN_FEValuesGL00Convolution = 9;
124 int TimeNSN_ParamsGL00Convolution = 9;
125 int TimeNSFEFctIndexGL00Convolution[9] = { 0, 1, 0, 1, 0, 1, 2, 3, 4 };
126 MultiIndex2D TimeNSFEMultiIndexGL00Convolution[9] = { D00, D00, D10, D10, D01, D01,
127  D00, D00, D00};
128 ParamFct *TimeNSFctGL00Convolution[1] = { TimeNSParamsGL00Convolution };
129 int TimeNSBeginParamGL00Convolution[1] = { 0 };
130 
131 // ========================================================================
132 // Galdi/Layton with convolution, rhs assembling, without g_\delta \ast u
133 // ========================================================================
134 /*void TimeNSParamsRHSGL00Convolution(double *in, double *out);
135 int TimeNSN_FESpacesRHSGL00Convolution = 2;
136 int TimeNSN_FctRHSGL00Convolution = 5;
137 int TimeNSN_ParamFctRHSGL00Convolution = 1;
138 int TimeNSN_FEValuesRHSGL00Convolution = 9;
139 int TimeNSN_ParamsRHSGL00Convolution = 7;
140 int TimeNSFEFctIndexRHSGL00Convolution[9] = { 0, 1, 0, 1, 0, 1, 2, 3, 4 };
141 MultiIndex2D TimeNSFEMultiIndexRHSGL00Convolution[9] =
142 { D00, D00, D10, D10, D01, D01, D00, D00, D00};
143 ParamFct *TimeNSFctRHSGL00Convolution[1] = { TimeNSParamsRHSGL00Convolution };
144 int TimeNSBeginParamRHSGL00Convolution[1] = { 0 }; */
145 
146 void TimeNSParamsRHSLES(double *in, double *out);
147 int TimeNSN_FESpacesRHSGL00Convolution = 2;
148 int TimeNSN_FctRHSGL00Convolution = 5;
149 int TimeNSN_ParamFctRHSGL00Convolution = 1;
150 int TimeNSN_FEValuesRHSGL00Convolution = 3;
151 int TimeNSN_ParamsRHSGL00Convolution = 3;
152 int TimeNSFEFctIndexRHSGL00Convolution[3] = { 2, 3, 4 };
153 MultiIndex2D TimeNSFEMultiIndexRHSGL00Convolution[3] =
154 { D00, D00, D00};
155 ParamFct *TimeNSFctRHSGL00Convolution[1] = { TimeNSParamsRHSLES };
156 int TimeNSBeginParamRHSGL00Convolution[1] = { 0 };
157 
158 // ========================================================================
159 // Galdi/Layton with convolution, rhs assembling,
160 // turbulent viscosity \|u - g_\delta \ast u\|_2
161 // ========================================================================
162 void TimeNSParamsRHSGL00ConvolutionNuT4(double *in, double *out);
163 int TimeNSN_FESpacesRHSGL00ConvolutionNuT4 = 3;
164 int TimeNSN_FctRHSGL00ConvolutionNuT4 = 7;
165 int TimeNSN_ParamFctRHSGL00ConvolutionNuT4 = 1;
166 int TimeNSN_FEValuesRHSGL00ConvolutionNuT4 = 11;
167 int TimeNSN_ParamsRHSGL00ConvolutionNuT4 = 11;
168 int TimeNSFEFctIndexRHSGL00ConvolutionNuT4[11] = { 0, 1, 0, 1, 0, 1, 2, 3, 4, 5, 6 };
169 MultiIndex2D TimeNSFEMultiIndexRHSGL00ConvolutionNuT4[11] =
170 { D00, D00, D10, D10, D01, D01, D00, D00, D00, D00, D00};
171 ParamFct *TimeNSFctRHSGL00ConvolutionNuT4[1] = { TimeNSParamsRHSGL00ConvolutionNuT4 };
172 int TimeNSBeginParamRHSGL00ConvolutionNuT4[1] = { 0 };
173 
174 // ========================================================================
175 // parameters for Galdi/Layton model with auxiliary problem
176 // ========================================================================
177 
178 int TimeNSN_FESpacesGL00AuxProblem = 1;
179 int TimeNSN_FctGL00AuxProblem = 5;
180 int TimeNSN_ParamFctGL00AuxProblem = 1;
181 int TimeNSN_FEValuesGL00AuxProblem = 3;
182 int TimeNSN_ParamsGL00AuxProblem = 3;
183 int TimeNSFEFctIndexGL00AuxProblem[3] = { 2, 3, 4};
184 MultiIndex2D TimeNSFEMultiIndexGL00AuxProblem[3] = { D00, D00, D00};
185 ParamFct *TimeNSFctGL00AuxProblem[1] = { TimeNSParamsRHSLES };
186 int TimeNSBeginParamGL00AuxProblem[1] = { 0 };
187 
188 // ========================================================================
189 // parameters for Galdi/Layton model with auxiliary problem
190 // turbulent viscosity \|u - g_\delta \ast u\|_2
191 // ========================================================================
192 
193 void TimeNSParamsGL00AuxProblemNuT4(double *in, double *out);
194 int TimeNSN_FESpacesGL00AuxProblemNuT4 = 2;
195 int TimeNSN_FctGL00AuxProblemNuT4 = 7;
196 int TimeNSN_ParamFctGL00AuxProblemNuT4 = 1;
197 int TimeNSN_FEValuesGL00AuxProblemNuT4 = 11;
198 int TimeNSN_ParamsGL00AuxProblemNuT4 = 11;
199 int TimeNSFEFctIndexGL00AuxProblemNuT4[11] = { 0, 1, 0, 1, 0, 1, 2, 3, 4, 5, 6 };
200 MultiIndex2D TimeNSFEMultiIndexGL00AuxProblemNuT4[11] = { D00, D00, D10, D10, D01, D01,
201  D00, D00, D00, D00, D00 };
202 ParamFct *TimeNSFctGL00AuxProblemNuT4[1] = { TimeNSParamsGL00AuxProblemNuT4 };
203 int TimeNSBeginParamGL00AuxProblemNuT4[1] = { 0 };
204 
205 void TimeNSParamsGL00AuxProblemPaper2(double *in, double *out);
206 int TimeNSN_FESpacesGL00AuxProblemPaper2 = 1;
207 int TimeNSN_FctGL00AuxProblemPaper2 = 8;
208 int TimeNSN_ParamFctGL00AuxProblemPaper2 = 1;
209 int TimeNSN_FEValuesGL00AuxProblemPaper2 = 13;
210 int TimeNSN_ParamsGL00AuxProblemPaper2 = 11;
211 int TimeNSFEFctIndexGL00AuxProblemPaper2[13] = { 0, 1, 0, 1, 0, 1, 2, 3, 4, 5, 6, 6, 7};
212 MultiIndex2D TimeNSFEMultiIndexGL00AuxProblemPaper2[13] = { D00, D00, D10, D10, D01, D01,
213  D00, D00, D00, D10, D10, D01, D01};
214 ParamFct *TimeNSFctGL00AuxProblemPaper2[1] = { TimeNSParamsGL00AuxProblemPaper2 };
215 int TimeNSBeginParamGL00AuxProblemPaper2[1] = { 0 };
216 
217 // ========================================================================
218 // parameters: gradient(u1), gradient(u2)
219 // ========================================================================
220 void TimeNSParamsGrad(double *in, double *out);
221 
222 int TimeNSN_FESpacesGrad = 1;
223 int TimeNSN_FctGrad = 2;
224 int TimeNSN_ParamFctGrad = 1;
225 int TimeNSN_FEValuesGrad = 6;
226 int TimeNSN_ParamsGrad = 4;
227 int TimeNSFEFctIndexGrad[6] = { 0, 1, 0, 1, 0, 1 };
228 MultiIndex2D TimeNSFEMultiIndexGrad[6] = { D00, D00, D10, D10, D01, D01 };
229 ParamFct *TimeNSFctGrad[1] = { TimeNSParamsGrad };
230 int TimeNSBeginParamGrad[1] = { 0 };
231 
232 // ========================================================================
233 // parameters for VMS
234 // ========================================================================
235 void TimeNSParams_VMS_SmallRhs2D(double *in, double *out);
236 
237 int TimeNSN_FESpaces_VMS_SmallRhs = 3;
238 int TimeNSN_Fct_VMS_SmallRhs = 5;
239 int TimeNSN_ParamFct_VMS_SmallRhs = 1;
240 int TimeNSN_FEValues_VMS_SmallRhs = 13;
241 int TimeNSN_Params_VMS_SmallRhs = 13;
242 int TimeNSFEFctIndex_VMS_SmallRhs[13] = { 0, 1, 0, 1, 0, 1, 2, 3,
243  2, 3, 2, 3, 4};
244 MultiIndex2D TimeNSFEMultiIndex_VMS_SmallRhs[13] = { D00, D00,
245  D10, D10,
246  D01, D01,
247  D00, D00,
248  D10, D10,
249  D01, D01,
250  D00 };
251 
252 ParamFct *TimeNSFct_VMS_SmallRhs[1] = { TimeNSParams_VMS_SmallRhs2D };
253 int TimeNSBeginParam_VMS_SmallRhs[1] = { 0 };
254 
255 void TimeNSParams_VMS_LargeRhs2D(double *in, double *out);
256 
257 int TimeNSN_FESpaces_VMS_LargeRhs = 3;
258 int TimeNSN_Fct_VMS_LargeRhs = 5;
259 int TimeNSN_ParamFct_VMS_LargeRhs = 1;
260 int TimeNSN_FEValues_VMS_LargeRhs = 13;
261 int TimeNSN_Params_VMS_LargeRhs = 13;
262 int TimeNSFEFctIndex_VMS_LargeRhs[13] = { 0, 1, 0, 1, 0, 1, 2, 3,
263  2, 3, 2, 3, 4};
264 MultiIndex2D TimeNSFEMultiIndex_VMS_LargeRhs[13] = { D00, D00,
265  D10, D10,
266  D01, D01,
267  D00, D00,
268  D10, D10,
269  D01, D01,
270  D00 };
271 
272 ParamFct *TimeNSFct_VMS_LargeRhs[1] = { TimeNSParams_VMS_LargeRhs2D };
273 int TimeNSBeginParam_VMS_LargeRhs[1] = { 0 };
274 
275 // ========================================================================
276 // parameters: low order : u1old, u2old, higher order : u1old, u2old
277 // ========================================================================
278 void TimeNSParams_NLGalerkin_VMS_1_2D(double *in, double *out);
279 
280 int TimeNSN_FESpaces_NLGalerkin_VMS_1 = 2;
281 int TimeNSN_Fct_NLGalerkin_VMS_1 = 4;
282 int TimeNSN_ParamFct_NLGalerkin_VMS_1 = 1;
283 int TimeNSN_FEValues_NLGalerkin_VMS_1 = 4;
284 int TimeNSN_Params_NLGalerkin_VMS_1 = 4;
285 int TimeNSFEFctIndex_NLGalerkin_VMS_1[4] = { 0, 1, 2, 3 };
286 MultiIndex2D TimeNSFEMultiIndex_NLGalerkin_VMS_1[4] = { D00, D00, D00, D00 };
287 ParamFct *TimeNSFct_NLGalerkin_VMS_1[1] = { TimeNSParams_NLGalerkin_VMS_1_2D };
288 int TimeNSBeginParam_NLGalerkin_VMS_1[1] = { 0 };
289 
290 // ========================================================================
291 // right-hand side ONLY, defect correction type 1, u2
292 // ========================================================================
293 
294 void TimeNSParamsVelo_GradVeloOld2(double *in, double *out);
295 int TimeNSN_FESpacesVelo_GradVeloOld2 = 1;
296 int TimeNSN_FctVelo_GradVeloOld2 = 6;
297 int TimeNSN_ParamFctVelo_GradVeloOld2 = 1;
298 int TimeNSN_FEValuesVelo_GradVeloOld2 = 10;
299 int TimeNSN_ParamsVelo_GradVeloOld2 = 10;
300 int TimeNSFEFctIndexVelo_GradVeloOld2[10] = { 0, 1, 0, 1, 0, 1, 2, 3, 4, 5 };
301 MultiIndex2D TimeNSFEMultiIndexVelo_GradVeloOld2[10] = { D00, D00, D10, D10, D01, D01,
302  D00, D00, D00, D00};
303 ParamFct *TimeNSFctVelo_GradVeloOld2[1] = { TimeNSParamsVelo_GradVeloOld2 };
304 int TimeNSBeginParamVelo_GradVeloOld2[1] = { 0 };
305 
306 // ========================================================================
307 // parameters: x, y, u1old, u2old
308 // ========================================================================
309 
310 void TimeNSParamsVeloPos(double *in, double *out);
311 
312 int TimeNSN_FESpacesVeloPos = 1;
313 int TimeNSN_FctVeloPos = 2;
314 int TimeNSN_ParamFctVeloPos = 1;
315 int TimeNSN_FEValuesVeloPos = 2;
316 int TimeNSN_ParamsVeloPos = 4;
317 int TimeNSFEFctIndexVeloPos[2] = { 0, 1 };
318 MultiIndex2D TimeNSFEMultiIndexVeloPos[2] = { D00, D00 };
319 ParamFct *TimeNSFctVeloPos[1] = { TimeNSParamsVeloPos };
320 int TimeNSBeginParamVeloPos[1] = { 0 };
321 
322 // ======================================================================
323 // parameters u1old, u2old, gridv_x, gridv_y
324 // ======================================================================
325 void MovingTNSParams(double *in, double *out);
326 
327 int MovingTNSN_FESpaces = 2;
328 int MovingTNSN_Fct = 4;
329 int MovingTNSN_ParamFct = 1;
330 int MovingTNSN_FEValues = 4;
331 int MovingTNSN_Params = 3;
332 int MovingTNSFEFctIndex[4] = { 0, 1, 2, 3 };
333 MultiIndex2D MovingTNSFEMultiIndex[4] = { D00, D00, D00, D00 };
334 ParamFct *MovingTNSFct[1] = { MovingTNSParams };
335 int MovingTNSBeginParam[1] = { 0 };
336 
337 
338 
339 // ======================================================================
340 // parameters u1old, u2old, gridv_x, gridv_y
341 // for axial symmetric case
342 // ======================================================================
343 void MovingTNSParams_Axial3D(double *in, double *out);
344 
345 int MovingTNSN_FESpaces_Axial3D = 2;
346 int MovingTNSN_Fct_Axial3D = 4;
347 int MovingTNSN_ParamFct_Axial3D = 1;
348 int MovingTNSN_FEValues_Axial3D = 4;
349 int MovingTNSN_Params_Axial3D = 4;
350 int MovingTNSFEFctIndex_Axial3D[4] = { 0, 1, 2, 3 };
351 MultiIndex2D MovingTNSFEMultiIndex_Axial3D[4] = { D00, D00, D00, D00 };
352 ParamFct *MovingTNSFct_Axial3D[1] = { MovingTNSParams_Axial3D };
353 int MovingTNSBeginParam_Axial3D[1] = { 0 };
354 
355 
356 // ======================================================================
357 // parameters u1old, u2old, gridv_x, gridv_y
358 // for axial symmetric case
359 // ======================================================================
360 void MovingTNSParams_Axial3D_HeatLine(double *in, double *out);
361 
362 int MovingTNSN_FESpaces_Axial3D_HeatLine = 3;
363 int MovingTNSN_Fct_Axial3D_HeatLine = 7;
364 int MovingTNSN_ParamFct_Axial3D_HeatLine = 1;
365 int MovingTNSN_FEValues_Axial3D_HeatLine = 11;
366 int MovingTNSN_Params_Axial3D_HeatLine = 8;
367 int MovingTNSFEFctIndex_Axial3D_HeatLine[11] = { 0, 0, 0, 1, 2, 3, 4, 1, 2, 3, 4};
368 MultiIndex2D MovingTNSFEMultiIndex_Axial3D_HeatLine[11] = { D00, D10, D01, D00, D00, D00, D00, D01, D10, D01, D10};
369 ParamFct *MovingTNSFct_Axial3D_HeatLine[1] = { MovingTNSParams_Axial3D_HeatLine };
370 int MovingTNSBeginParam_Axial3D_HeatLine[1] = { 0 };
371 
372 
373 // ======================================================================
374 // parameters for heatline
375 // ======================================================================
376 void ParamsFct_HeatLine(double *in, double *out);
377 
378 int N_FESpaces_HeatLine = 2;
379 int N_FEFct_HeatLine = 5;
380 int N_ParamFct_HeatLine = 1;
381 int N_FEValues_HeatLine = 7;
382 int N_Parameters_HeatLine = 7;
383 int FEFctIndex_HeatLine[7] = { 0, 0, 0, 1, 2, 1, 2};
384 MultiIndex2D FEValueMultiIndex_HeatLine[7] = {D00, D10, D01, D00, D00, D01, D10};
385 ParamFct *ParamFct_HeatLineAll[1] = { ParamsFct_HeatLine };
386 int BeginParam_HeatLine[1] = { 0 };
387 
388 // ========================================================================
389 // parameters: u1old, u2old, u1 previous, u2 previous
390 // used for : SUPG
391 // ========================================================================
392 void TimeNSParams4(double *in, double *out);
393 int TimeNSN_FESpaces4 = 1;
394 int TimeNSN_Fct4 = 4;
395 int TimeNSN_FEValues4 = 4;
396 int TimeNSN_Params4 = 4;
397 int TimeNSFEFctIndex4[4] = { 0, 1, 2, 3 }; // size: TimeNSN_FEValues2
398 MultiIndex2D TimeNSFEMultiIndex4[4] = { D00, D00, D00, D00 }; // size:TimeNSN_FEValues2
399 
400 int TimeNSN_ParamFct4 = 1;
401 ParamFct *TimeNSFct4[1] = { TimeNSParams4 }; // size: TimeNSN_ParamFct2
402 int TimeNSBeginParam4[1] = { 0 }; // size: TimeNSN_ParamFct2
403 
404 // ========================================================================
405 // boundary values for auxiliary problem in Galdi/Layton model
406 // ========================================================================
407 
408 void BoundConditionAuxProblem(int i, double t, BoundCond &cond)
409 {
410  cond = NEUMANN;
411  //cond = DIRICHLET;
412 }
413 
414 void BoundValueAuxProblem(int BdComp, double Param, double &value)
415 {
416  value = 0;
417 }
418 
419 // ========================================================================
420 // boundary values for higher order fe in VMS
421 // ========================================================================
422 
423 void ho_BoundCondition(int i, double t, BoundCond &cond)
424 {
425  cond = DIRICHLET;
426 }
427 
428 void ho_BoundValue(int BdComp, double Param, double &value)
429 {
430  value = 0;
431 }
432 #endif
433 
434 
435 
436 
437