7 #ifndef __TNSE3D_FIXPO__
8 #define __TNSE3D_FIXPO__
17 static int TimeNSType1N_Terms = 5;
18 static MultiIndex3D TimeNSType1Derivatives[5] = { D100, D010, D001, D000, D000 };
19 static int TimeNSType1SpaceNumbers[5] = { 0, 0, 0, 0, 1 };
20 static int TimeNSType1N_Matrices = 5;
21 static int TimeNSType1RowSpace[5] = { 0, 0, 1, 1, 1 };
22 static int TimeNSType1ColumnSpace[5] = { 0, 0, 0, 0, 0 };
23 static int TimeNSType1N_Rhs = 3;
24 static int TimeNSType1RhsSpace[3] = { 0, 0, 0 };
29 void TimeNSType1Galerkin3D(
double Mult,
double *coeff,
30 double *param,
double hK,
31 double **OrigValues,
int *N_BaseFuncts,
32 double ***LocMatrices,
double **LocRhs);
41 void TimeNSType1Upwind3D(
double Mult,
double *coeff,
42 double *param,
double hK,
43 double **OrigValues,
int *N_BaseFuncts,
44 double ***LocMatrices,
double **LocRhs);
49 void TimeNSType1Smagorinsky3D(
double Mult,
double *coeff,
50 double *param,
double hK,
51 double **OrigValues,
int *N_BaseFuncts,
52 double ***LocMatrices,
double **LocRhs);
57 void TimeNSType1ClassicalLES3D(
double Mult,
double *coeff,
58 double *param,
double hK,
59 double **OrigValues,
int *N_BaseFuncts,
60 double ***LocMatrices,
double **LocRhs);
65 void TimeNSType1GL00Convolution3D(
double Mult,
double *coeff,
66 double *param,
double hK,
67 double **OrigValues,
int *N_BaseFuncts,
68 double ***LocMatrices,
double **LocRhs);
73 static int TimeNSType1GL00AuxProblemN_Matrices = 6;
74 static int TimeNSType1GL00AuxProblemRowSpace[6] = { 0, 0, 2, 1, 1, 1 };
75 static int TimeNSType1GL00AuxProblemColumnSpace[6] = { 0, 0, 2, 0, 0, 0 };
77 void TimeNSType1GL00AuxProblem3D(
double Mult,
double *coeff,
78 double *param,
double hK,
79 double **OrigValues,
int *N_BaseFuncts,
80 double ***LocMatrices,
double **LocRhs);
90 static int TimeNSType2N_Terms = 5;
91 static MultiIndex3D TimeNSType2Derivatives[5] = { D100, D010, D001, D000, D000 };
92 static int TimeNSType2SpaceNumbers[5] = { 0, 0, 0, 0, 1 };
93 static int TimeNSType2N_Matrices = 8;
94 static int TimeNSType2RowSpace[8] = { 0, 0, 1, 1, 1, 0, 0, 0 };
95 static int TimeNSType2ColumnSpace[8] = { 0, 0, 0, 0, 0, 1, 1, 1 };
96 static int TimeNSType2N_Rhs = 3;
97 static int TimeNSType2RhsSpace[3] = { 0, 0, 0 };
102 void TimeNSType2Galerkin3D(
double Mult,
double *coeff,
103 double *param,
double hK,
104 double **OrigValues,
int *N_BaseFuncts,
105 double ***LocMatrices,
double **LocRhs);
114 void TimeNSType2Upwind3D(
double Mult,
double *coeff,
115 double *param,
double hK,
116 double **OrigValues,
int *N_BaseFuncts,
117 double ***LocMatrices,
double **LocRhs);
122 void TimeNSType2Smagorinsky3D(
double Mult,
double *coeff,
123 double *param,
double hK,
124 double **OrigValues,
int *N_BaseFuncts,
125 double ***LocMatrices,
double **LocRhs);
130 void TimeNSType2ClassicalLES3D(
double Mult,
double *coeff,
131 double *param,
double hK,
132 double **OrigValues,
int *N_BaseFuncts,
133 double ***LocMatrices,
double **LocRhs);
138 void TimeNSType2GL00Convolution3D(
double Mult,
double *coeff,
139 double *param,
double hK,
140 double **OrigValues,
int *N_BaseFuncts,
141 double ***LocMatrices,
double **LocRhs);
147 static int TimeNSType2GL00AuxProblemN_Matrices = 9;
148 static int TimeNSType2GL00AuxProblemRowSpace[9] = { 0, 0, 2, 1, 1, 1, 0, 0, 0 };
149 static int TimeNSType2GL00AuxProblemColumnSpace[9] = { 0, 0, 2, 0, 0, 0, 1, 1, 1 };
151 void TimeNSType2GL00AuxProblem3D(
double Mult,
double *coeff,
152 double *param,
double hK,
153 double **OrigValues,
int *N_BaseFuncts,
154 double ***LocMatrices,
double **LocRhs);
162 static int TimeNSType3N_Terms = 5;
163 static MultiIndex3D TimeNSType3Derivatives[5] = { D100, D010, D001, D000, D000 };
164 static int TimeNSType3SpaceNumbers[5] = { 0, 0, 0, 0, 1 };
165 static int TimeNSType3N_Matrices = 15;
166 static int TimeNSType3RowSpace[15] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
168 static int TimeNSType3ColumnSpace[15] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
170 static int TimeNSType3N_Rhs = 3;
171 static int TimeNSType3RhsSpace[3] = { 0, 0, 0 };
176 void TimeNSType3Galerkin3D(
double Mult,
double *coeff,
177 double *param,
double hK,
178 double **OrigValues,
int *N_BaseFuncts,
179 double ***LocMatrices,
double **LocRhs);
184 void TimeNSType3GalerkinDD3D(
double Mult,
double *coeff,
185 double *param,
double hK,
186 double **OrigValues,
int *N_BaseFuncts,
187 double ***LocMatrices,
double **LocRhs);
196 void TimeNSType3Upwind3D(
double Mult,
double *coeff,
197 double *param,
double hK,
198 double **OrigValues,
int *N_BaseFuncts,
199 double ***LocMatrices,
double **LocRhs);
204 void TimeNSType3UpwindDD3D(
double Mult,
double *coeff,
205 double *param,
double hK,
206 double **OrigValues,
int *N_BaseFuncts,
207 double ***LocMatrices,
double **LocRhs);
212 void TimeNSType3Smagorinsky3D(
double Mult,
double *coeff,
213 double *param,
double hK,
214 double **OrigValues,
int *N_BaseFuncts,
215 double ***LocMatrices,
double **LocRhs);
220 void TimeNSType3SmagorinskyDD3D(
double Mult,
double *coeff,
221 double *param,
double hK,
222 double **OrigValues,
int *N_BaseFuncts,
223 double ***LocMatrices,
double **LocRhs);
228 void TimeNSType3ClassicalLES3D(
double Mult,
double *coeff,
229 double *param,
double hK,
230 double **OrigValues,
int *N_BaseFuncts,
231 double ***LocMatrices,
double **LocRhs);
236 void TimeNSType3ClassicalLESDD3D(
double Mult,
double *coeff,
237 double *param,
double hK,
238 double **OrigValues,
int *N_BaseFuncts,
239 double ***LocMatrices,
double **LocRhs);
244 void TimeNSType3GL00Convolution3D(
double Mult,
double *coeff,
245 double *param,
double hK,
246 double **OrigValues,
int *N_BaseFuncts,
247 double ***LocMatrices,
double **LocRhs);
252 void TimeNSType3GL00ConvolutionDD3D(
double Mult,
double *coeff,
253 double *param,
double hK,
254 double **OrigValues,
int *N_BaseFuncts,
255 double ***LocMatrices,
double **LocRhs);
260 static int TimeNSType3GL00AuxProblemN_Matrices = 16;
261 static int TimeNSType3GL00AuxProblemRowSpace[16] = { 0, 0, 0, 0, 0, 0,
264 static int TimeNSType3GL00AuxProblemColumnSpace[16] = { 0, 0, 0, 0, 0, 0,
268 void TimeNSType3GL00AuxProblem3D(
double Mult,
double *coeff,
269 double *param,
double hK,
270 double **OrigValues,
int *N_BaseFuncts,
271 double ***LocMatrices,
double **LocRhs);
276 void TimeNSType3GL00AuxProblemDD3D(
double Mult,
double *coeff,
277 double *param,
double hK,
278 double **OrigValues,
int *N_BaseFuncts,
279 double ***LocMatrices,
double **LocRhs);
288 static int TimeNSType4N_Terms = 5;
289 static MultiIndex3D TimeNSType4Derivatives[5] = { D100, D010, D001, D000, D000 };
290 static int TimeNSType4SpaceNumbers[5] = { 0, 0, 0, 0, 1 };
291 static int TimeNSType4N_Matrices = 18;
292 static int TimeNSType4RowSpace[18] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
294 static int TimeNSType4ColumnSpace[18] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
296 static int TimeNSType4N_Rhs = 3;
297 static int TimeNSType4RhsSpace[3] = { 0, 0, 0 };
302 void TimeNSType4Galerkin3D(
double Mult,
double *coeff,
303 double *param,
double hK,
304 double **OrigValues,
int *N_BaseFuncts,
305 double ***LocMatrices,
double **LocRhs);
310 void TimeNSType4GalerkinDD3D(
double Mult,
double *coeff,
311 double *param,
double hK,
312 double **OrigValues,
int *N_BaseFuncts,
313 double ***LocMatrices,
double **LocRhs);
322 void TimeNSType4Upwind3D(
double Mult,
double *coeff,
323 double *param,
double hK,
324 double **OrigValues,
int *N_BaseFuncts,
325 double ***LocMatrices,
double **LocRhs);
330 void TimeNSType4UpwindDD3D(
double Mult,
double *coeff,
331 double *param,
double hK,
332 double **OrigValues,
int *N_BaseFuncts,
333 double ***LocMatrices,
double **LocRhs);
338 void TimeNSType4Smagorinsky3D(
double Mult,
double *coeff,
339 double *param,
double hK,
340 double **OrigValues,
int *N_BaseFuncts,
341 double ***LocMatrices,
double **LocRhs);
346 void TimeNSType4SmagorinskyDD3D(
double Mult,
double *coeff,
347 double *param,
double hK,
348 double **OrigValues,
int *N_BaseFuncts,
349 double ***LocMatrices,
double **LocRhs);
354 void TimeNSType4ClassicalLES3D(
double Mult,
double *coeff,
355 double *param,
double hK,
356 double **OrigValues,
int *N_BaseFuncts,
357 double ***LocMatrices,
double **LocRhs);
362 void TimeNSType4ClassicalLESDD3D(
double Mult,
double *coeff,
363 double *param,
double hK,
364 double **OrigValues,
int *N_BaseFuncts,
365 double ***LocMatrices,
double **LocRhs);
370 void TimeNSType4GL00Convolution3D(
double Mult,
double *coeff,
371 double *param,
double hK,
372 double **OrigValues,
int *N_BaseFuncts,
373 double ***LocMatrices,
double **LocRhs);
378 void TimeNSType4GL00ConvolutionDD3D(
double Mult,
double *coeff,
379 double *param,
double hK,
380 double **OrigValues,
int *N_BaseFuncts,
381 double ***LocMatrices,
double **LocRhs);
386 static int TimeNSType4GL00AuxProblemN_Matrices = 19;
387 static int TimeNSType4GL00AuxProblemRowSpace[19] =
388 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 1, 0, 0, 0 };
389 static int TimeNSType4GL00AuxProblemColumnSpace[19] =
390 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 1, 1 };
392 void TimeNSType4GL00AuxProblem3D(
double Mult,
double *coeff,
393 double *param,
double hK,
394 double **OrigValues,
int *N_BaseFuncts,
395 double ***LocMatrices,
double **LocRhs);
400 void TimeNSType4GL00AuxProblemDD3D(
double Mult,
double *coeff,
401 double *param,
double hK,
402 double **OrigValues,
int *N_BaseFuncts,
403 double ***LocMatrices,
double **LocRhs);
408 static int TimeNSType4VMS_ProjectionN_Terms = 6;
409 static MultiIndex3D TimeNSType4VMS_ProjectionDerivatives[6] = { D100, D010, D001, D000, D000, D000 };
410 static int TimeNSType4VMS_ProjectionSpaceNumbers[6] = { 0, 0, 0, 0, 1, 2 };
411 static int TimeNSType4VMS_ProjectionN_Matrices = 25;
412 static int TimeNSType4VMS_ProjectionRowSpace[25] = { 0, 0, 0, 0, 0, 0,
417 static int TimeNSType4VMS_ProjectionColumnSpace[25] = { 0, 0, 0, 0, 0, 0,
422 void TimeNSType4VMS_ProjectionDD3D(
double Mult,
double *coeff,
423 double *param,
double hK,
424 double **OrigValues,
int *N_BaseFuncts,
425 double ***LocMatrices,
double **LocRhs);
432 void TimeNSType4VMS_ProjectionStreamlineDD3D(
double Mult,
double *coeff,
433 double *param,
double hK,
434 double **OrigValues,
int *N_BaseFuncts,
435 double ***LocMatrices,
double **LocRhs);
442 static int TimeNSVMS_Rhs_SUPGN_Terms = 7;
443 static MultiIndex3D TimeNSVMS_Rhs_SUPGDerivatives[7] = { D100, D010, D001, D000,
445 static int TimeNSVMS_Rhs_SUPGSpaceNumbers[7] = { 0, 0, 0, 0, 1, 1, 1 };
446 static int TimeNSVMS_Rhs_SUPGN_Matrices = 0;
447 static int *TimeNSVMS_Rhs_SUPGRowSpace = NULL;
448 static int *TimeNSVMS_Rhs_SUPGColumnSpace = NULL;
449 static int TimeNSVMS_Rhs_SUPGN_Rhs = 7;
450 static int TimeNSVMS_Rhs_SUPGRhsSpace[7] = { 0, 0, 0, 0, 0, 0, 1};
453 void SUPG_Param3D(
double u1,
double u2,
double u3,
double* coeff,
double* params);
455 void TimeNSType14VMS_Rhs_SUPGDD3D(
double Mult,
double *coeff,
double *param,
456 double hK,
double **OrigValues,
457 int *N_BaseFuncts,
double ***LocMatrices,
464 static int TimeNSType4VMS_SUPGN_Terms = 8;
465 static MultiIndex3D TimeNSType4VMS_SUPGDerivatives[8] = { D100, D010, D001, D000,
466 D100, D010, D001, D000 };
467 static int TimeNSType4VMS_SUPGSpaceNumbers[8] = { 0, 0, 0, 0, 1, 1, 1, 1 };
468 static int TimeNSType4VMS_SUPGN_Matrices = 28;
469 static int TimeNSType4VMS_SUPGRowSpace[28] = { 0, 0, 0, 0, 0, 0,
475 static int TimeNSType4VMS_SUPGColumnSpace[28] = {0, 0, 0, 0, 0, 0,
481 static int TimeNSType4VMS_SUPGN_Rhs = 4;
482 static int TimeNSType4VMS_SUPGRhsSpace[4] = { 0, 0, 0, 1};
484 void TimeNSType4VMS_SUPGDD3D(
double Mult,
double *coeff,
485 double *param,
double hK,
486 double **OrigValues,
int *N_BaseFuncts,
487 double ***LocMatrices,
double **LocRhs);
489 static int TimeNSType4NLVMS_SUPGN_Terms = 8;
490 static MultiIndex3D TimeNSType4NLVMS_SUPGDerivatives[8] = { D100, D010, D001, D000,
491 D100, D010, D001, D000 };
492 static int TimeNSType4NLVMS_SUPGSpaceNumbers[8] = { 0, 0, 0, 0, 1, 1, 1, 1 };
493 static int TimeNSType4NLVMS_SUPGN_Matrices = 22;
494 static int TimeNSType4NLVMS_SUPGRowSpace[22] = { 0, 0, 0, 0, 0, 0,
499 static int TimeNSType4NLVMS_SUPGColumnSpace[22] = {0, 0, 0, 0, 0, 0,
504 static int TimeNSType4NLVMS_SUPGN_Rhs = 0;
505 static int *TimeNSType4NLVMS_SUPGRhsSpace = NULL;
507 void TimeNSType4NLVMS_SUPGDD3D(
double Mult,
double *coeff,
508 double *param,
double hK,
509 double **OrigValues,
int *N_BaseFuncts,
510 double ***LocMatrices,
double **LocRhs);
517 void TimeNSType4VMS_Rhs_SUPGDD3D(
double Mult,
double *coeff,
518 double *param,
double hK,
519 double **OrigValues,
int *N_BaseFuncts,
520 double ***LocMatrices,
double **LocRhs);
526 static int TimeNSType14VMS_SUPGN_Terms =8;
527 static MultiIndex3D TimeNSType14VMS_SUPGDerivatives[8] = { D100, D010, D001, D000,
528 D100, D010, D001, D000};
529 static int TimeNSType14VMS_SUPGSpaceNumbers[11] = { 0, 0, 0, 0, 1, 1, 1, 1};
530 static int TimeNSType14VMS_SUPGN_Matrices = 37;
531 static int TimeNSType14VMS_SUPGRowSpace[37] = { 0, 0, 0, 0, 0, 0,
536 1, 1, 1, 1, 0, 0, 0};
538 static int TimeNSType14VMS_SUPGColumnSpace[37] = {0, 0, 0, 0, 0, 0,
543 1, 0, 0, 0, 1, 1, 1};
545 static int TimeNSType14VMS_SUPGN_Rhs = 7;
546 static int TimeNSType14VMS_SUPGRhsSpace[7] = { 0, 0, 0, 0, 0, 0, 1};
548 void TimeNSType14VMS_SUPGDD3D(
double Mult,
double *coeff,
549 double *param,
double hK,
550 double **OrigValues,
int *N_BaseFuncts,
551 double ***LocMatrices,
double **LocRhs);
553 static int TimeNSType14NLVMS_SUPGN_Terms = 8;
554 static MultiIndex3D TimeNSType14NLVMS_SUPGDerivatives[8] = { D100, D010, D001, D000,
555 D100, D010, D001, D000};
556 static int TimeNSType14NLVMS_SUPGSpaceNumbers[8] = { 0, 0, 0, 0, 1, 1, 1, 1};
557 static int TimeNSType14NLVMS_SUPGN_Matrices = 34;
558 static int TimeNSType14NLVMS_SUPGRowSpace[34] = { 0, 0, 0, 0, 0, 0,
565 static int TimeNSType14NLVMS_SUPGColumnSpace[34] = {0, 0, 0, 0, 0, 0,
572 static int TimeNSType14NLVMS_SUPGN_Rhs = 3;
573 static int TimeNSType14NLVMS_SUPGRhsSpace[3] = {0, 0, 0};
575 void TimeNSType14NLVMS_SUPGDD3D(
double Mult,
double *coeff,
576 double *param,
double hK,
577 double **OrigValues,
int *N_BaseFuncts,
578 double ***LocMatrices,
double **LocRhs);
583 void TimeNSType4LerayAlphaDD3D(
double Mult,
double *coeff,
584 double *param,
double hK,
585 double **OrigValues,
int *N_BaseFuncts,
586 double ***LocMatrices,
double **LocRhs);
598 static int TimeNSType1_2NLN_Terms = 4;
599 static MultiIndex3D TimeNSType1_2NLDerivatives[4] = { D100, D010, D001, D000 };
600 static int TimeNSType1_2NLSpaceNumbers[4] = { 0, 0, 0, 0 };
601 static int TimeNSType1_2NLN_Matrices = 1;
602 static int TimeNSType1_2NLRowSpace[1] = { 0 };
603 static int TimeNSType1_2NLColumnSpace[1] = { 0 };
604 static int TimeNSType1_2NLN_Rhs = 0;
605 static int *TimeNSType1_2NLRhsSpace = NULL;
615 void TimeNSType1_2NLGalerkin3D(
double Mult,
double *coeff,
616 double *param,
double hK,
617 double **OrigValues,
int *N_BaseFuncts,
618 double ***LocMatrices,
double **LocRhs);
624 void TimeNSType1_2NLUpwind3D(
double Mult,
double *coeff,
625 double *param,
double hK,
626 double **OrigValues,
int *N_BaseFuncts,
627 double ***LocMatrices,
double **LocRhs);
633 void TimeNSType1_2NLSmagorinsky3D(
double Mult,
double *coeff,
634 double *param,
double hK,
635 double **OrigValues,
int *N_BaseFuncts,
636 double ***LocMatrices,
double **LocRhs);
644 static int TimeNSType3_4NLN_Terms = 4;
645 static MultiIndex3D TimeNSType3_4NLDerivatives[4] = { D100, D010, D001, D000 };
646 static int TimeNSType3_4NLSpaceNumbers[4] = { 0, 0, 0, 0 };
647 static int TimeNSType3_4NLN_Matrices = 3;
648 static int TimeNSType3_4NLRowSpace[3] = { 0, 0, 0 };
649 static int TimeNSType3_4NLColumnSpace[3] = { 0, 0, 0 };
650 static int TimeNSType3_4NLN_Rhs = 0;
651 static int *TimeNSType3_4NLRhsSpace = NULL;
661 void TimeNSType3_4NLGalerkin3D(
double Mult,
double *coeff,
662 double *param,
double hK,
663 double **OrigValues,
int *N_BaseFuncts,
664 double ***LocMatrices,
double **LocRhs);
674 void TimeNSType3_4NLGalerkinDD3D(
double Mult,
double *coeff,
675 double *param,
double hK,
676 double **OrigValues,
int *N_BaseFuncts,
677 double ***LocMatrices,
double **LocRhs);
683 void TimeNSType3_4NLUpwind3D(
double Mult,
double *coeff,
684 double *param,
double hK,
685 double **OrigValues,
int *N_BaseFuncts,
686 double ***LocMatrices,
double **LocRhs);
692 void TimeNSType3_4NLUpwindDD3D(
double Mult,
double *coeff,
693 double *param,
double hK,
694 double **OrigValues,
int *N_BaseFuncts,
695 double ***LocMatrices,
double **LocRhs);
701 static int TimeNSType3_4NLSmagorinskyN_Matrices = 9;
702 static int TimeNSType3_4NLSmagorinskyRowSpace[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
703 static int TimeNSType3_4NLSmagorinskyColumnSpace[9] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
706 void TimeNSType3_4NLSmagorinsky3D(
double Mult,
double *coeff,
707 double *param,
double hK,
708 double **OrigValues,
int *N_BaseFuncts,
709 double ***LocMatrices,
double **LocRhs);
715 void TimeNSType3_4NLSmagorinskyDD3D(
double Mult,
double *coeff,
716 double *param,
double hK,
717 double **OrigValues,
int *N_BaseFuncts,
718 double ***LocMatrices,
double **LocRhs);
725 void TimeNSType3_4NLGalerkin3D(
double Mult,
double *coeff,
726 double *param,
double hK,
727 double **OrigValues,
int *N_BaseFuncts,
728 double ***LocMatrices,
double **LocRhs);
734 static int TimeNSType3_4NLVMS_ProjectionN_Terms = 5;
735 static MultiIndex3D TimeNSType3_4NLVMS_ProjectionDerivatives[5] = { D100, D010, D001, D000, D000 };
736 static int TimeNSType3_4NLVMS_ProjectionSpaceNumbers[5] = { 0, 0, 0, 0, 2 };
737 static int TimeNSType3_4NLVMS_ProjectionN_Matrices = 12;
738 static int TimeNSType3_4NLVMS_ProjectionRowSpace[12] = { 0, 0, 0, 0, 0, 0,
740 static int TimeNSType3_4NLVMS_ProjectionColumnSpace[12] = { 0, 0, 0, 0, 0, 0,
743 void TimeNSType3_4NLVMS_ProjectionDD3D(
double Mult,
double *coeff,
744 double *param,
double hK,
745 double **OrigValues,
int *N_BaseFuncts,
746 double ***LocMatrices,
double **LocRhs);
752 static int TimeNSType3_4NL_Adap_VMS_ProjectionN_Terms = 5;
753 static MultiIndex3D TimeNSType3_4NL_Adap_VMS_ProjectionDerivatives[5] = { D100, D010, D001, D000, D000 };
754 static int TimeNSType3_4NL_Adap_VMS_ProjectionSpaceNumbers[5] = { 0, 0, 0, 0, 2 };
755 static int TimeNSType3_4NL_Adap_VMS_ProjectionN_Matrices = 16;
756 static int TimeNSType3_4NL_Adap_VMS_ProjectionRowSpace[16] = { 0, 0, 0, 0, 0, 0,
757 0, 0, 0, 2, 0, 0, 0, 2, 2, 2};
758 static int TimeNSType3_4NL_Adap_VMS_ProjectionColumnSpace[16] = { 0, 0, 0, 0, 0, 0,
759 0, 0, 0, 2, 2, 2, 2, 0, 0, 0};
761 void TimeNSType3_4NL_Adap_VMS_ProjectionDD3D(
double Mult,
double *coeff,
762 double *param,
double hK,
763 double **OrigValues,
int *N_BaseFuncts,
764 double ***LocMatrices,
double **LocRhs);
771 void TimeNSType3_4NLVMS_ProjectionStreamlineDD3D(
double Mult,
double *coeff,
772 double *param,
double hK,
773 double **OrigValues,
int *N_BaseFuncts,
774 double ***LocMatrices,
double **LocRhs);
781 static int TimeNSType3_4NLVMS_ProjectionExplN_Terms = 4;
782 static MultiIndex3D TimeNSType3_4NLVMS_ProjectionExplDerivatives[4] = { D100, D010, D001, D000};
783 static int TimeNSType3_4NLVMS_ProjectionExplSpaceNumbers[4] = { 0, 0, 0, 1 };
784 static int TimeNSType3_4NLVMS_ProjectionExplN_Matrices = 3;
785 static int TimeNSType3_4NLVMS_ProjectionExplRowSpace[3] = {0, 0, 0 };
786 static int TimeNSType3_4NLVMS_ProjectionExplColumnSpace[3] = {1, 1, 1 };
788 void TimeNSType3_4VMS_ProjectionExpl3D(
double Mult,
double *coeff,
789 double *param,
double hK,
790 double **OrigValues,
int *N_BaseFuncts,
791 double ***LocMatrices,
double **LocRhs);
797 void TimeNSType3_4NLDivDivDD3D(
double Mult,
double *coeff,
798 double *param,
double hK,
799 double **OrigValues,
int *N_BaseFuncts,
800 double ***LocMatrices,
double **LocRhs);
811 static int TimeNSRHSN_Terms = 1;
812 static MultiIndex3D TimeNSRHSDerivatives[1] = { D000 };
813 static int TimeNSRHSSpaceNumbers[1] = { 0 };
814 static int TimeNSRHSN_Matrices = 0;
815 static int *TimeNSRHSRowSpace = NULL;
816 static int *TimeNSRHSColumnSpace = NULL;
817 static int TimeNSRHSN_Rhs = 3;
818 static int TimeNSRHSRhsSpace[3] = { 0, 0, 0 };
823 void TimeNSRHS3D(
double Mult,
double *coeff,
824 double *param,
double hK,
825 double **OrigValues,
int *N_BaseFuncts,
826 double ***LocMatrices,
double **LocRhs);
828 static int TimeNSRHSLESN_Terms = 4;
829 static MultiIndex3D TimeNSRHSLESDerivatives[4] = { D100, D010, D001, D000 };
830 static int TimeNSRHSLESSpaceNumbers[4] = { 0, 0, 0, 0 };
831 static int TimeNSRHSLESN_Matrices = 0;
832 static int *TimeNSRHSLESRowSpace = NULL;
833 static int *TimeNSRHSLESColumnSpace = NULL;
834 static int TimeNSRHSLESN_Rhs = 3;
835 static int TimeNSRHSLESRhsSpace[3] = { 0, 0, 0 };
840 void TimeNSRHSClassicalLES3D(
double Mult,
double *coeff,
841 double *param,
double hK,
842 double **OrigValues,
int *N_BaseFuncts,
843 double ***LocMatrices,
double **LocRhs);
850 void TimeNSRHSLESModel3D(
double Mult,
double *coeff,
851 double *param,
double hK,
852 double **OrigValues,
int *N_BaseFuncts,
853 double ***LocMatrices,
double **LocRhs);
860 static int TimeNSGL00AuxProblemRHSN_Terms = 1;
861 static MultiIndex3D TimeNSGL00AuxProblemRHSDerivatives[1] = { D000 };
862 static int TimeNSGL00AuxProblemRHSSpaceNumbers[1] = { 0 };
863 static int TimeNSGL00AuxProblemRHSN_Matrices = 0;
864 static int *TimeNSGL00AuxProblemRHSRowSpace = NULL;
865 static int *TimeNSGL00AuxProblemRHSColumnSpace = NULL;
866 static int TimeNSGL00AuxProblemRHSN_Rhs = 6;
867 static int TimeNSGL00AuxProblemRHSRhsSpace[6] = { 0, 0, 0, 0, 0, 0 };
869 void TimeNSGL00AuxProblemRHS3D(
double Mult,
double *coeff,
870 double *param,
double hK,
871 double **OrigValues,
int *N_BaseFuncts,
872 double ***LocMatrices,
double **LocRhs);
878 void TimeNSRHSAuxProblemU(
double Mult,
double *coeff,
879 double *param,
double hK,
880 double **OrigValues,
int *N_BaseFuncts,
881 double ***LocMatrices,
double **LocRhs);
888 static int TimeNSRFBExplRhsN_Terms = 1;
889 static MultiIndex3D TimeNSRFBExplRhsDerivatives[1] = { D000 };
890 static int TimeNSRFBExplRhsSpaceNumbers[1] = { 0 };
891 static int TimeNSRFBExplRhsN_Matrices = 0;
892 static int *TimeNSRFBExplRhsRowSpace = NULL;
893 static int *TimeNSRFBExplRhsColumnSpace = NULL;
894 static int TimeNSRFBExplRhsN_Rhs = 3;
895 static int TimeNSRFBExplRhsRhsSpace[3] = { 0, 0, 0 };
920 static int MatrixAuxiliaryProblemN_Terms = 4;
921 static MultiIndex3D MatrixAuxiliaryProblemDerivatives[4] = { D100, D010, D001, D000};
922 static int MatrixAuxiliaryProblemSpaceNumbers[4] = { 0, 0, 0, 0};
923 static int MatrixAuxiliaryProblemN_Matrices = 1;
924 static int MatrixAuxiliaryProblemRowSpace[1] = { 0 };
925 static int MatrixAuxiliaryProblemColumnSpace[1] = { 0 };
926 static int MatrixAuxiliaryProblemN_Rhs = 0;
927 static int *MatrixAuxiliaryProblemRhsSpace = NULL;
929 void MatrixAuxiliaryProblem(
double Mult,
double *coeff,
930 double *param,
double hK,
931 double **OrigValues,
int *N_BaseFuncts,
932 double ***LocMatrices,
double **LocRhs);
939 void TimeNS_VMS_SmallRhs3D(
double Mult,
double *coeff,
940 double *param,
double hK,
941 double **OrigValues,
int *N_BaseFuncts,
942 double ***LocMatrices,
double **LocRhs);
949 static int TimeNS_ho_RHSN_Terms = 4;
950 static MultiIndex3D TimeNS_ho_RHSDerivatives[4] = { D100, D010, D001, D000};
951 static int TimeNS_ho_RHSSpaceNumbers[1] = { 0 };
952 static int TimeNS_ho_RHSN_Matrices = 0;
953 static int *TimeNS_ho_RHSRowSpace = NULL;
954 static int *TimeNS_ho_RHSColumnSpace = NULL;
955 static int TimeNS_ho_RHSN_Rhs = 3;
956 static int TimeNS_ho_RHSRhsSpace[3] = { 0, 0, 0 };
958 void TimeNSType1GalerkinJ3D(
double Mult,
double *coeff,
959 double *param,
double hK,
960 double **OrigValues,
int *N_BaseFuncts,
961 double ***LocMatrices,
double **LocRhs);
963 void TimeNSGalerkinC3D(
double Mult,
double *coeff,
964 double *param,
double hK,
965 double **OrigValues,
int *N_BaseFuncts,
966 double ***LocMatrices,
double **LocRhs);
969 void TimeNSType3GalerkinJ3D(
double Mult,
double *coeff,
970 double *param,
double hK,
971 double **OrigValues,
int *N_BaseFuncts,
972 double ***LocMatrices,
double **LocRhs);