ParMooN
 All Classes Functions Variables Friends Pages
TCD3D.h
1 // ======================================================================
2 // TCD3D.h
3 //
4 // common declaration for time dependent convection diffusion problems
5 // ======================================================================
6 
7 #ifndef __TIMECONVDIFF3D__
8 #define __TIMECONVDIFF3D__
9 
10 // MultiIndex3D AllDerivatives[4] = { D000, D100, D010, D001 };
11 
12 // ======================================================================
13 // definitions for assembling the mass matrix and rhs
14 // ======================================================================
15 int N_Terms_MatrixMRhs = 1;
16 MultiIndex3D Derivatives_MatrixMRhs[1] = { D000 };
17 int SpacesNumbers_MatrixMRhs[1] = { 0 };
18 int N_Matrices_MatrixMRhs = 1;
19 int RowSpace_MatrixMRhs[1] = { 0 };
20 int ColumnSpace_MatrixMRhs[1] = { 0 };
21 int N_Rhs_MatrixMRhs = 1;
22 int RhsSpace_MatrixMRhs[1] = { 0 };
23 
24 void MatrixMRhsAssemble(double Mult, double *coeff, double *param,
25  double hK,
26  double **OrigValues, int *N_BaseFuncts,
27  double ***LocMatrices, double **LocRhs);
28 
29 int N_Terms_MatrixMRhs_SUPG = 4;
30 MultiIndex3D Derivatives_MatrixMRhs_SUPG[4] = { D100, D010, D001, D000 };
31 int SpacesNumbers_MatrixMRhs_SUPG[4] = { 0, 0, 0, 0 };
32 int N_Matrices_MatrixMRhs_SUPG = 1;
33 int RowSpace_MatrixMRhs_SUPG[1] = { 0 };
34 int ColumnSpace_MatrixMRhs_SUPG[1] = { 0 };
35 int N_Rhs_MatrixMRhs_SUPG = 1;
36 int RhsSpace_MatrixMRhs_SUPG[1] = { 0 };
37 
38 int N_Matrices_MatricesAKRhs_SOLD = 3;
39 int RowSpace_MatricesAKRhs_SOLD[3] = { 0, 0, 0 };
40 int ColumnSpace_MatricesAKRhs_SOLD[3] = { 0, 0, 0 };
41 
42 void MatrixMRhsAssemble_SUPG(double Mult, double *coeff, double *param,
43  double hK,
44  double **OrigValues, int *N_BaseFuncts,
45  double ***LocMatrices, double **LocRhs);
46 
47 // ======================================================================
48 // definitions for assembling the matrices A, K and rhs
49 // ======================================================================
50 int N_Terms_MatricesAKRhs_SUPG = 4;
51 MultiIndex3D Derivatives_MatricesAKRhs_SUPG[4] = { D100, D010, D001, D000 };
52 int SpacesNumbers_MatricesAKRhs_SUPG[4] = { 0, 0, 0, 0 };
53 int N_Matrices_MatricesAKRhs_SUPG = 2;
54 int RowSpace_MatricesAKRhs_SUPG[2] = { 0, 0 };
55 int ColumnSpace_MatricesAKRhs_SUPG[2] = { 0, 0 };
56 int N_Rhs_MatricesAKRhs_SUPG = 1;
57 int RhsSpace_MatricesAKRhs_SUPG[1] = { 0 };
58 
59 void MatricesAKRhsAssemble_SUPG(double Mult, double *coeff, double *param,
60  double hK,
61  double **OrigValues, int *N_BaseFuncts,
62  double ***LocMatrices, double **LocRhs);
63 
64 void RhsAssemble_SUPG(double Mult, double *coeff, double *param,
65  double hK,
66  double **OrigValues, int *N_BaseFuncts,
67  double ***LocMatrices, double **LocRhs);
68 
69 // ======================================================================
70 // definitions for assembling the matrix A and rhs
71 // ======================================================================
72 int N_Terms_MatrixARhs = 4;
73 MultiIndex3D Derivatives_MatrixARhs[4] = { D100, D010, D001, D000 };
74 int SpacesNumbers_MatrixARhs[4] = { 0, 0, 0, 0 };
75 int N_Matrices_MatrixARhs = 1;
76 int RowSpace_MatrixARhs[1] = { 0 };
77 int ColumnSpace_MatrixARhs[1] = { 0 };
78 int N_Rhs_MatrixARhs = 1;
79 int RhsSpace_MatrixARhs[1] = { 0 };
80 
81 void MatrixARhsAssemble(double Mult, double *coeff, double *param,
82  double hK,
83  double **OrigValues, int *N_BaseFuncts,
84  double ***LocMatrices, double **LocRhs);
85 
86 void MatrixAUpwindRhsAssemble(double Mult, double *coeff, double *param,
87  double hK,
88  double **OrigValues, int *N_BaseFuncts,
89  double ***LocMatrices, double **LocRhs);
90 
91 // ======================================================================
92 // definitions for assembling the rhs
93 // ======================================================================
94 int N_Terms_Rhs = 1;
95 MultiIndex3D Derivatives_Rhs[1] = { D000 };
96 int SpacesNumbers_Rhs[1] = { 0 };
97 int N_Matrices_Rhs = 0;
98 int *RowSpace_Rhs = NULL;
99 int *ColumnSpace_Rhs = NULL;
100 int N_Rhs_Rhs = 1;
101 int RhsSpace_Rhs[1] = { 0 };
102 
103 void RhsAssemble(double Mult, double *coeff, double *param,
104  double hK,
105  double **OrigValues, int *N_BaseFuncts,
106  double ***LocMatrices, double **LocRhs);
107 
108 // ======================================================================
109 // definitions for assembling the rhs
110 // ======================================================================
111 int N_Terms_Rhs_SUPG = 4;
112 MultiIndex3D Derivatives_Rhs_SUPG[4] = { D100, D010, D001, D000 };
113 int SpacesNumbers_Rhs_SUPG[4] = { 0, 0, 0, 0 };
114 int N_Matrices_Rhs_SUPG = 0;
115 int *RowSpace_Rhs_SUPG = NULL;
116 int *ColumnSpace_Rhs_SUPG = NULL;
117 int N_Rhs_Rhs_SUPG = 1;
118 int RhsSpace_Rhs_SUPG[1] = { 0 };
119 
120 void RhsAssemble_SUPG(double Mult, double *coeff, double *param,
121  double hK,
122  double **OrigValues, int *N_BaseFuncts,
123  double ***LocMatrices, double **LocRhs);
124 
125 // ======================================================================
126 // definitions for assembling the matrix M, A group fem-fct
127 // ======================================================================
128 int N_Terms_MatrixMAGroupFEMRhs;// = 4;
129 MultiIndex3D Derivatives_MatrixMAGroupFEMRhs[4];// = { D100, D010, D001, D000 };
130 int SpacesNumbers_MatrixMAGroupFEMRhs[4];// = { 0, 0, 0, 0 };
131 int N_Matrices_MatrixMAGroupFEMRhs;// = 2;
132 int RowSpace_MatrixMAGroupFEMRhs[2];// = { 0, 0};
133 int ColumnSpace_MatrixMAGroupFEMRhs[2];// = { 0, 0};
134 int N_Rhs_MatrixMAGroupFEMRhs;// = 1;
135 int RhsSpace_MatrixMAGroupFEMRhs[1];// = { 0 };
136 
137 void MatrixMAGroupFEMAssemble(double Mult, double *coeff, double *param,
138  double hK,
139  double **OrigValues, int *N_BaseFuncts,
140  double ***LocMatrices, double **LocRhs);
141 
142 // ======================================================================
143 // definitions for assembling the matrix C1, C2, C3, R for group fem-fct
144 // ======================================================================
145 int N_Terms_MatrixGroupFEMRhs;
146 MultiIndex3D Derivatives_MatrixGroupFEMRhs[4];
147 int SpacesNumbers_MatrixGroupFEMRhs[4];
148 int N_Matrices_MatrixGroupFEMRhs;
149 int RowSpace_MatrixGroupFEMRhs[4];
150 int ColumnSpace_MatrixGroupFEMRhs[4];
151 int N_Rhs_MatrixGroupFEMRhs;
152 int RhsSpace_MatrixGroupFEMRhs[1];
153 
154 void MatrixGroupFEMAssemble(double Mult, double *coeff, double *param,
155  double hK,
156  double **OrigValues, int *N_BaseFuncts,
157  double ***LocMatrices, double **LocRhs);
158 
159 // ======================================================================
160 // definitions for assembling the mass matrix for bulk problem
161 // ======================================================================
162 int N_Terms_MatrixM_Bulk = 1;
163 MultiIndex3D Derivatives_MatrixM_Bulk[1] = { D000 };
164 int SpacesNumbers_MatrixM_Bulk[1] = { 0 };
165 int N_Matrices_MatrixM_Bulk = 1;
166 int RowSpace_MatrixM_Bulk[1] = { 0 };
167 int ColumnSpace_MatrixM_Bulk[1] = { 0 };
168 int N_Rhs_MatrixM_Bulk = 0;
169 int *RhsSpace_MatrixM_Bulk = NULL;
170 
171 void MatrixMAssemble_Bulk3D(double Mult, double *coeff, double *param,
172  double hK,
173  double **OrigValues, int *N_BaseFuncts,
174  double ***LocMatrices, double **LocRhs);
175 
176 // ======================================================================
177 // definitions for assembling the matrices A for bulk problem
178 // ======================================================================
179 
180 int N_Terms_MatricesA_SUPG_Bulk = 4;
181 MultiIndex3D Derivatives_MatricesA_SUPG_Bulk[4] = { D100, D010, D001, D000 };
182 int SpacesNumbers_MatricesA_SUPG_Bulk[4] = { 0, 0, 0, 0 };
183 int N_Matrices_MatricesA_SUPG_Bulk = 2;
184 int RowSpace_MatricesA_SUPG_Bulk[2] = { 0, 0 };
185 int ColumnSpace_MatricesA_SUPG_Bulk[2] = { 0, 0 };
186 int N_Rhs_MatricesA_SUPG_Bulk = 0;
187 int *RhsSpace_MatricesA_SUPG_Bulk = NULL;
188 
189 void MatricesA_Assemble_SUPG_Bulk3D(double Mult, double *coeff, double *param,
190  double hK,
191  double **OrigValues, int *N_BaseFuncts,
192  double ***LocMatrices, double **LocRhs);
193 
194 int N_Matrices_MatricesA_Galerkin_Bulk = 1;
195 int RowSpace_MatricesA_Galerkin_Bulk[1] = { 0 };
196 int ColumnSpace_MatricesA_Galerkin_Bulk[1] = { 0 };
197 
198 void MatricesA_Assemble_Bulk3D(double Mult, double *coeff, double *param,
199  double hK,
200  double **OrigValues, int *N_BaseFuncts,
201  double ***LocMatrices, double **LocRhs);
202 
203 void MatricesA_Assemble_Galerkin_Bulk3D(double Mult, double *coeff, double *param,
204  double hK,
205  double **OrigValues, int *N_BaseFuncts,
206  double ***LocMatrices, double **LocRhs);
207 
208 // ======================================================================
209 // definitions for assembling the rhs for bulk problem
210 // ======================================================================
211 
212 int N_Terms_Rhs_SUPG_Bulk = 4;
213 MultiIndex3D Derivatives_Rhs_SUPG_Bulk[4] = { D100, D010, D001, D000 };
214 int SpacesNumbers_Rhs_SUPG_Bulk[4] = { 0, 0, 0, 0 };
215 int N_Matrices_Rhs_SUPG_Bulk = 0;
216 int *RowSpace_Rhs_SUPG_Bulk = NULL;
217 int *ColumnSpace_Rhs_SUPG_Bulk = NULL;
218 int N_Rhs_Rhs_SUPG_Bulk = 1;
219 int RhsSpace_Rhs_SUPG_Bulk[1] = { 0 };
220 
221 void Rhs_Assemble_SUPG_Bulk3D(double Mult, double *coeff, double *param,
222  double hK,
223  double **OrigValues, int *N_BaseFuncts,
224  double ***LocMatrices, double **LocRhs);
225 
226 int N_Terms_Rhs_Galerkin_Bulk = 1;
227 MultiIndex3D Derivatives_Rhs_Galerkin_Bulk[1] = { D000 };
228 int SpacesNumbers_Rhs_Galerkin_Bulk[1] = { 0 };
229 
230 void Rhs_Assemble_Bulk3D(double Mult, double *coeff, double *param,
231  double hK,
232  double **OrigValues, int *N_BaseFuncts,
233  double ***LocMatrices, double **LocRhs);
234 
235 // ======================================================================
236 // parameter routine settings
237 // ======================================================================
238 void TimeCDParamsVeloField(double *in, double *out);
239 
240 int TimeCDParamsVeloFieldN_FESpaces = 1;
241 int TimeCDParamsVeloFieldN_Fct = 3;
242 int TimeCDParamsVeloFieldN_ParamFct = 1;
243 int TimeCDParamsVeloFieldN_FEValues = 3;
244 int TimeCDParamsVeloFieldN_Params = 3;
245 int TimeCDParamsVeloFieldFEFctIndex[3] = { 0, 1, 2 };
246 MultiIndex3D TimeCDParamsVeloFieldFEMultiIndex[3] = { D000, D000, D000};
247 ParamFct *TimeCDParamsVeloFieldFct[1] = { TimeCDParamsVeloField };
248 int TimeCDParamsVeloFieldBeginParam[1] = { 0 };
249 
250 // ======================================================================
251 // parameter routine settings
252 // SOLD methods
253 // ======================================================================
254 void TimeCDParamsSOLD(double *in, double *out);
255 
256 int TimeCDParamsSOLDN_FESpaces = 1;
257 int TimeCDParamsSOLDN_Fct = 2;
258 int TimeCDParamsSOLDN_ParamFct = 1;
259 int TimeCDParamsSOLDN_FEValues = 8;
260 int TimeCDParamsSOLDN_Params = 8;
261 int TimeCDParamsSOLDFEFctIndex[8] = { 0, 0, 0, 0, 1, 1, 1, 1};
262 MultiIndex3D TimeCDParamsSOLDFEMultiIndex[8] = { D000, D100, D010, D001,
263  D000, D100, D010, D001};
264 
265 ParamFct *TimeCDParamsSOLDFct[1] = { TimeCDParamsSOLD };
266 int TimeCDParamsSOLDBeginParam[1] = { 0 };
267 
268 // ======================================================================
269 // parameter routine settings
270 // for explicit reaction
271 // ======================================================================
272 void TimeCDParamsSolution(double *in, double *out);
273 
274 int TimeCDParamsSolutionN_FESpaces = 1;
275 int TimeCDParamsSolutionN_Fct = 1;
276 int TimeCDParamsSolutionN_ParamFct = 1;
277 int TimeCDParamsSolutionN_FEValues = 1;
278 int TimeCDParamsSolutionN_Params = 1;
279 int TimeCDParamsSolutionFEFctIndex[1] = { 0 };
280 MultiIndex3D TimeCDParamsSolutionFEMultiIndex[8] = { D000 };
281 ParamFct *TimeCDParamsSolutionFct[1] = { TimeCDParamsSolution };
282 int TimeCDParamsSolutionBeginParam[1] = { 0 };
283 
284 // ======================================================================
285 // parameters for bulk problem
286 // ======================================================================
287 
288 void TimeCDParamsBulk(double *in, double *out);
289 
290 int TimeCDParamsBulkN_FESpaces = 2;
291 int TimeCDParamsBulkN_Fct = 4;
292 int TimeCDParamsBulkN_ParamFct = 1;
293 int TimeCDParamsBulkN_FEValues = 4;
294 int TimeCDParamsBulkN_Params = 4;
295 int TimeCDParamsBulkFEFctIndex[4] = { 0, 1, 2, 3 };
296 MultiIndex3D TimeCDParamsBulkFEMultiIndex[4] = { D000, D000, D000, D000 };
297 ParamFct *TimeCDParamsBulkFct[1] = { TimeCDParamsBulk };
298 int TimeCDParamsBulkBeginParam[1] = { 0 };
299 
300 void TimeCDParamsBulk_Cc(double *in, double *out);
301 
302 int TimeCDParamsBulk_CcN_FESpaces = 5; // velocity, C_a (C_b), integral_c_C
303 int TimeCDParamsBulk_CcN_Fct = 7; // u_1, u_2, u_3, C_a, C_b, C_c, integral_c_C
304 int TimeCDParamsBulk_CcN_ParamFct = 1; // number of ParamRout
305 int TimeCDParamsBulk_CcN_FEValues = 7; // u_1, u_2, u_3, C_a, C_b, C_c_old, integral_c_C
306 int TimeCDParamsBulk_CcN_Params = 7;
307 int TimeCDParamsBulk_CcFEFctIndex[7] = { 0, 1, 2, 3, 4, 5, 6 };
308 MultiIndex3D TimeCDParamsBulk_CcFEMultiIndex[7] = { D000, D000, D000, D000, D000, D000, D000 };
309 ParamFct *TimeCDParamsBulk_CcFct[1] = { TimeCDParamsBulk_Cc };
310 int TimeCDParamsBulk_CcBeginParam[1] = { 0 };
311 
312 
313 
314 
315 // ======================================================================
316 //
317 // definitions for assembling the mass matrix for urea synthesis
318 //
319 // ======================================================================
320 
321 int N_Terms_MatrixM_Urea = 1;
322 MultiIndex3D Derivatives_MatrixM_Urea[1] = { D000 };
323 int SpacesNumbers_MatrixM_Urea[1] = { 0 };
324 int N_Matrices_MatrixM_Urea = 1;
325 int RowSpace_MatrixM_Urea[1] = { 0 };
326 int ColumnSpace_MatrixM_Urea[1] = { 0 };
327 int N_Rhs_MatrixM_Urea = 0;
328 int *RhsSpace_MatrixM_Urea = NULL;
329 
330 // ======================================================================
331 // definitions for assembling the matrices A for urea problem
332 // ======================================================================
333 
334 int N_Terms_MatricesA_SUPG_Urea = 4;
335 MultiIndex3D Derivatives_MatricesA_SUPG_Urea[4] = { D100, D010, D001, D000 };
336 int SpacesNumbers_MatricesA_SUPG_Urea[4] = { 0, 0, 0, 0 };
337 int N_Matrices_MatricesA_SUPG_Urea = 2;
338 int RowSpace_MatricesA_SUPG_Urea[2] = { 0, 0 };
339 int ColumnSpace_MatricesA_SUPG_Urea[2] = { 0, 0 };
340 int N_Rhs_MatricesA_SUPG_Urea = 0;
341 int *RhsSpace_MatricesA_SUPG_Urea = NULL;
342 
343 int N_Matrices_MatricesA_Galerkin_Urea = 1;
344 int RowSpace_MatricesA_Galerkin_Urea[1] = { 0 };
345 int ColumnSpace_MatricesA_Galerkin_Urea[1] = { 0 };
346 
347 // ======================================================================
348 // definitions for assembling the rhs for bulk problem
349 // ======================================================================
350 
351 int N_Terms_Rhs_SUPG_Urea = 4;
352 MultiIndex3D Derivatives_Rhs_SUPG_Urea[4] = { D100, D010, D001, D000 };
353 int SpacesNumbers_Rhs_SUPG_Urea[4] = { 0, 0, 0, 0 };
354 int N_Matrices_Rhs_SUPG_Urea = 0;
355 int *RowSpace_Rhs_SUPG_Urea = NULL;
356 int *ColumnSpace_Rhs_SUPG_Urea = NULL;
357 int N_Rhs_Rhs_SUPG_Urea = 1;
358 int RhsSpace_Rhs_SUPG_Urea[1] = { 0 };
359 // assembling routine same as in BULK
360 
361 int N_Terms_Rhs_Galerkin_Urea = 1;
362 MultiIndex3D Derivatives_Rhs_Galerkin_Urea[1] = { D000 };
363 int SpacesNumbers_Rhs_Galerkin_Urea[1] = { 0 };
364 // assembling routine same as in BULK
365 
366 
367 void TimeCDParamsUrea(double *in, double *out);
368 
369 int TimeCDParamsUreaN_FESpaces = 1;
370 int TimeCDParamsUreaN_Fct = 3;
371 int TimeCDParamsUreaN_ParamFct = 1;
372 int TimeCDParamsUreaN_FEValues = 3;
373 int TimeCDParamsUreaN_Params = 3;
374 int TimeCDParamsUreaFEFctIndex[3] = { 0, 1, 2};
375 MultiIndex3D TimeCDParamsUreaFEMultiIndex[3] = { D000, D000, D000 };
376 ParamFct *TimeCDParamsUreaFct[1] = { TimeCDParamsUrea };
377 int TimeCDParamsUreaBeginParam[1] = { 0 };
378 
379 void TimeCDParamsUrea_conc(double *in, double *out);
380 
381 int TimeCDParamsUrea_concN_FESpaces = 4; // conc, velocity, temp, integral_conce
382 int TimeCDParamsUrea_concN_Fct = 6; // u_1, u_2, u_3, conc, temp, integral_conce
383 int TimeCDParamsUrea_concN_ParamFct = 1; // number of ParamRout
384 int TimeCDParamsUrea_concN_FEValues = 6; // u_1, u_2, u_3, conc, temp integral_c_C
385 int TimeCDParamsUrea_concN_Params = 6;
386 int TimeCDParamsUrea_concFEFctIndex[6] = { 0, 1, 2, 3, 4, 5};
387 MultiIndex3D TimeCDParamsUrea_concFEMultiIndex[6] = { D000, D000, D000, D000, D000, D000};
388 ParamFct *TimeCDParamsUrea_concFct[1] = { TimeCDParamsUrea_conc };
389 int TimeCDParamsUrea_concBeginParam[1] = { 0 };
390 
391 void TimeCDParamsUrea_temp(double *in, double *out);
392 
393 int TimeCDParamsUrea_tempN_FESpaces = 4; // conc, velocity, temp, integral_conce
394 int TimeCDParamsUrea_tempN_Fct = 6; // u_1, u_2, u_3, conc, temp, integral_conce
395 int TimeCDParamsUrea_tempN_ParamFct = 1; // number of ParamRout
396 int TimeCDParamsUrea_tempN_FEValues = 6; // u_1, u_2, u_3, conc, temp integral_c_C
397 int TimeCDParamsUrea_tempN_Params = 6;
398 int TimeCDParamsUrea_tempFEFctIndex[6] = { 0, 1, 2, 3, 4, 5};
399 MultiIndex3D TimeCDParamsUrea_tempFEMultiIndex[6] = { D000, D000, D000, D000, D000, D000};
400 ParamFct *TimeCDParamsUrea_tempFct[1] = { TimeCDParamsUrea_temp };
401 int TimeCDParamsUrea_tempBeginParam[1] = { 0 };
402 
403 void TimeCDParamsUrea_conc2(double *in, double *out);
404 
405 int TimeCDParamsUrea_concN_FESpaces2 = 4; // conc, velocity, temp, integral_conce
406 int TimeCDParamsUrea_concN_Fct2 = 7; // u_1, u_2, u_3, conc, temp, integral_conce
407 int TimeCDParamsUrea_concN_ParamFct2 = 1; // number of ParamRout
408 int TimeCDParamsUrea_concN_FEValues2 = 7; // u_1, u_2, u_3, conc, temp integral_c_C
409 int TimeCDParamsUrea_concN_Params2 = 7;
410 int TimeCDParamsUrea_concFEFctIndex2[7] = { 0, 1, 2, 3, 4, 5, 6};
411 MultiIndex3D TimeCDParamsUrea_concFEMultiIndex2[7] = { D000, D000, D000, D000, D000, D000, D000};
412 ParamFct *TimeCDParamsUrea_concFct2[1] = { TimeCDParamsUrea_conc2 };
413 int TimeCDParamsUrea_concBeginParam2[1] = { 0 };
414 
415 void TimeCDParamsUrea_temp2(double *in, double *out);
416 
417 int TimeCDParamsUrea_tempN_FESpaces2 = 4; // conc, velocity, temp, integral_conce
418 int TimeCDParamsUrea_tempN_Fct2 = 7; // u_1, u_2, u_3, conc, temp, integral_conce
419 int TimeCDParamsUrea_tempN_ParamFct2 = 1; // number of ParamRout
420 int TimeCDParamsUrea_tempN_FEValues2 = 7; // u_1, u_2, u_3, conc, temp integral_c_C
421 int TimeCDParamsUrea_tempN_Params2 = 7;
422 int TimeCDParamsUrea_tempFEFctIndex2[7] = { 0, 1, 2, 3, 4, 5, 6};
423 MultiIndex3D TimeCDParamsUrea_tempFEMultiIndex2[7] = { D000, D000, D000, D000, D000, D000, D000};
424 ParamFct *TimeCDParamsUrea_tempFct2[1] = { TimeCDParamsUrea_temp2 };
425 int TimeCDParamsUrea_tempBeginParam2[1] = { 0 };
426 
427 
428 void TimeCDParamsUrea_conc_mat(double *in, double *out);
429 
430 int TimeCDParamsUrea_conc_matN_FESpaces = 1; // velocity
431 int TimeCDParamsUrea_conc_matN_Fct = 3; // u_1, u_2, u_3
432 int TimeCDParamsUrea_conc_matN_ParamFct = 1; // number of ParamRout
433 int TimeCDParamsUrea_conc_matN_FEValues = 3; // u_1, u_2, u_3
434 int TimeCDParamsUrea_conc_matN_Params = 3;
435 int TimeCDParamsUrea_conc_matFEFctIndex[3] = { 0, 1, 2};
436 MultiIndex3D TimeCDParamsUrea_conc_matFEMultiIndex[3] = { D000, D000, D000};
437 ParamFct *TimeCDParamsUrea_conc_matFct[1] = { TimeCDParamsUrea_conc_mat };
438 int TimeCDParamsUrea_conc_matBeginParam[1] = { 0 };
439 
440 #endif // __TIMECONVDIFF3D__