7 #ifndef __TIMECONVDIFF3D__
8 #define __TIMECONVDIFF3D__
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 };
24 void MatrixMRhsAssemble(
double Mult,
double *coeff,
double *param,
26 double **OrigValues,
int *N_BaseFuncts,
27 double ***LocMatrices,
double **LocRhs);
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 };
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 };
42 void MatrixMRhsAssemble_SUPG(
double Mult,
double *coeff,
double *param,
44 double **OrigValues,
int *N_BaseFuncts,
45 double ***LocMatrices,
double **LocRhs);
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 };
59 void MatricesAKRhsAssemble_SUPG(
double Mult,
double *coeff,
double *param,
61 double **OrigValues,
int *N_BaseFuncts,
62 double ***LocMatrices,
double **LocRhs);
64 void RhsAssemble_SUPG(
double Mult,
double *coeff,
double *param,
66 double **OrigValues,
int *N_BaseFuncts,
67 double ***LocMatrices,
double **LocRhs);
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 };
81 void MatrixARhsAssemble(
double Mult,
double *coeff,
double *param,
83 double **OrigValues,
int *N_BaseFuncts,
84 double ***LocMatrices,
double **LocRhs);
86 void MatrixAUpwindRhsAssemble(
double Mult,
double *coeff,
double *param,
88 double **OrigValues,
int *N_BaseFuncts,
89 double ***LocMatrices,
double **LocRhs);
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;
101 int RhsSpace_Rhs[1] = { 0 };
103 void RhsAssemble(
double Mult,
double *coeff,
double *param,
105 double **OrigValues,
int *N_BaseFuncts,
106 double ***LocMatrices,
double **LocRhs);
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 };
120 void RhsAssemble_SUPG(
double Mult,
double *coeff,
double *param,
122 double **OrigValues,
int *N_BaseFuncts,
123 double ***LocMatrices,
double **LocRhs);
128 int N_Terms_MatrixMAGroupFEMRhs;
129 MultiIndex3D Derivatives_MatrixMAGroupFEMRhs[4];
130 int SpacesNumbers_MatrixMAGroupFEMRhs[4];
131 int N_Matrices_MatrixMAGroupFEMRhs;
132 int RowSpace_MatrixMAGroupFEMRhs[2];
133 int ColumnSpace_MatrixMAGroupFEMRhs[2];
134 int N_Rhs_MatrixMAGroupFEMRhs;
135 int RhsSpace_MatrixMAGroupFEMRhs[1];
137 void MatrixMAGroupFEMAssemble(
double Mult,
double *coeff,
double *param,
139 double **OrigValues,
int *N_BaseFuncts,
140 double ***LocMatrices,
double **LocRhs);
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];
154 void MatrixGroupFEMAssemble(
double Mult,
double *coeff,
double *param,
156 double **OrigValues,
int *N_BaseFuncts,
157 double ***LocMatrices,
double **LocRhs);
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;
171 void MatrixMAssemble_Bulk3D(
double Mult,
double *coeff,
double *param,
173 double **OrigValues,
int *N_BaseFuncts,
174 double ***LocMatrices,
double **LocRhs);
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;
189 void MatricesA_Assemble_SUPG_Bulk3D(
double Mult,
double *coeff,
double *param,
191 double **OrigValues,
int *N_BaseFuncts,
192 double ***LocMatrices,
double **LocRhs);
194 int N_Matrices_MatricesA_Galerkin_Bulk = 1;
195 int RowSpace_MatricesA_Galerkin_Bulk[1] = { 0 };
196 int ColumnSpace_MatricesA_Galerkin_Bulk[1] = { 0 };
198 void MatricesA_Assemble_Bulk3D(
double Mult,
double *coeff,
double *param,
200 double **OrigValues,
int *N_BaseFuncts,
201 double ***LocMatrices,
double **LocRhs);
203 void MatricesA_Assemble_Galerkin_Bulk3D(
double Mult,
double *coeff,
double *param,
205 double **OrigValues,
int *N_BaseFuncts,
206 double ***LocMatrices,
double **LocRhs);
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 };
221 void Rhs_Assemble_SUPG_Bulk3D(
double Mult,
double *coeff,
double *param,
223 double **OrigValues,
int *N_BaseFuncts,
224 double ***LocMatrices,
double **LocRhs);
226 int N_Terms_Rhs_Galerkin_Bulk = 1;
227 MultiIndex3D Derivatives_Rhs_Galerkin_Bulk[1] = { D000 };
228 int SpacesNumbers_Rhs_Galerkin_Bulk[1] = { 0 };
230 void Rhs_Assemble_Bulk3D(
double Mult,
double *coeff,
double *param,
232 double **OrigValues,
int *N_BaseFuncts,
233 double ***LocMatrices,
double **LocRhs);
238 void TimeCDParamsVeloField(
double *in,
double *out);
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 };
254 void TimeCDParamsSOLD(
double *in,
double *out);
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};
265 ParamFct *TimeCDParamsSOLDFct[1] = { TimeCDParamsSOLD };
266 int TimeCDParamsSOLDBeginParam[1] = { 0 };
272 void TimeCDParamsSolution(
double *in,
double *out);
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 };
288 void TimeCDParamsBulk(
double *in,
double *out);
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 };
300 void TimeCDParamsBulk_Cc(
double *in,
double *out);
302 int TimeCDParamsBulk_CcN_FESpaces = 5;
303 int TimeCDParamsBulk_CcN_Fct = 7;
304 int TimeCDParamsBulk_CcN_ParamFct = 1;
305 int TimeCDParamsBulk_CcN_FEValues = 7;
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 };
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;
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;
343 int N_Matrices_MatricesA_Galerkin_Urea = 1;
344 int RowSpace_MatricesA_Galerkin_Urea[1] = { 0 };
345 int ColumnSpace_MatricesA_Galerkin_Urea[1] = { 0 };
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 };
361 int N_Terms_Rhs_Galerkin_Urea = 1;
362 MultiIndex3D Derivatives_Rhs_Galerkin_Urea[1] = { D000 };
363 int SpacesNumbers_Rhs_Galerkin_Urea[1] = { 0 };
367 void TimeCDParamsUrea(
double *in,
double *out);
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 };
379 void TimeCDParamsUrea_conc(
double *in,
double *out);
381 int TimeCDParamsUrea_concN_FESpaces = 4;
382 int TimeCDParamsUrea_concN_Fct = 6;
383 int TimeCDParamsUrea_concN_ParamFct = 1;
384 int TimeCDParamsUrea_concN_FEValues = 6;
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 };
391 void TimeCDParamsUrea_temp(
double *in,
double *out);
393 int TimeCDParamsUrea_tempN_FESpaces = 4;
394 int TimeCDParamsUrea_tempN_Fct = 6;
395 int TimeCDParamsUrea_tempN_ParamFct = 1;
396 int TimeCDParamsUrea_tempN_FEValues = 6;
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 };
403 void TimeCDParamsUrea_conc2(
double *in,
double *out);
405 int TimeCDParamsUrea_concN_FESpaces2 = 4;
406 int TimeCDParamsUrea_concN_Fct2 = 7;
407 int TimeCDParamsUrea_concN_ParamFct2 = 1;
408 int TimeCDParamsUrea_concN_FEValues2 = 7;
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 };
415 void TimeCDParamsUrea_temp2(
double *in,
double *out);
417 int TimeCDParamsUrea_tempN_FESpaces2 = 4;
418 int TimeCDParamsUrea_tempN_Fct2 = 7;
419 int TimeCDParamsUrea_tempN_ParamFct2 = 1;
420 int TimeCDParamsUrea_tempN_FEValues2 = 7;
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 };
428 void TimeCDParamsUrea_conc_mat(
double *in,
double *out);
430 int TimeCDParamsUrea_conc_matN_FESpaces = 1;
431 int TimeCDParamsUrea_conc_matN_Fct = 3;
432 int TimeCDParamsUrea_conc_matN_ParamFct = 1;
433 int TimeCDParamsUrea_conc_matN_FEValues = 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 };
440 #endif // __TIMECONVDIFF3D__