proteus 1.9.0
C/C++/Fortran libraries
Loading...
Searching...
No Matches
subgridError.h
Go to the documentation of this file.
1#ifndef SUBGRIDERROR_H
2#define SUBGRIDERROR_H
3#include <math.h>
4#include <stdio.h> /*mwf for debugging*/
5#include <assert.h>
10
16
18 int nElements_global,
19 int nQuadraturePoints_element,
20 int nDOF_trial_element,
21 double *tau,
22 double *pdeResidual,
23 double *dpdeResidual,
24 double *subgridError,
25 double *dsubgridError
26);
27extern void calculateSubgridError_ADR_generic_tau(int nElements_global,
28 int nQuadraturePoints_element,
29 int nSpace,
30 double* inverseJ,
31 double* dmt,
32 double* df,
33 double* a,
34 double* da,
35 double* grad_phi,
36 double* dphi,
37 double* dr,
38 double* pe,
39 double* cfl,
40 double* tau);
41void calculateSubgridError_ADR_generic_tau_sd(int nElements_global,
42 int nQuadraturePoints_element,
43 int nSpace,
44 int* rowptr,
45 int* colind,
46 double* inverseJ,
47 double* dmt,
48 double* df,
49 double* a,
50 double* da,
51 double* grad_phi,
52 double* dphi,
53 double* dr,
54 double* pe,
55 double* cfl,
56 double* tau);
57extern void calculateSubgridErrorNavierStokes2D_generic_tau(int nElements_global,
58 int nQuadraturePoints_element,
59 int nSpace,
60 double* inverseJ,
61 double* dmt,
62 double* dm,
63 double* f,
64 double* a,
65 double* tau0,
66 double* tau1,
67 double* cfl);
69 int nQuadraturePoints_element,
70 int nSpace,
71 double* inverseJ,
72 double* dmt,
73 double* dm,
74 double* f,
75 double* a,
76 double* tau0,
77 double* tau1,
78 double* cfl);
79void calculateSubgridErrorStokes2D_GLS_velocity_sd(int nElements_global,
80 int nQuadraturePoints_element,
81 int nDOF_trial_element,
82 int nSpace,
83 double* elementDiameter,
84 double* a,
85 double* pdeResidualU,
86 double* dpdeResidualU_dp,
87 double* dpdeResidualU_du,
88 double* pdeResidualV,
89 double* dpdeResidualV_dp,
90 double* dpdeResidualV_dv,
91 double* subgridErrorU,
92 double* dsubgridErrorU_dp,
93 double* dsubgridErrorU_du,
94 double* subgridErrorV,
95 double* dsubgridErrorV_dp,
96 double* dsubgridErrorV_dv);
98 int nElements_global,
99 int nQuadraturePoints_element,
100 int nSpace,
101 double *elementDiameter,
102 double *dmt,
103 double *df,
104 double *a,
105 double *da,
106 double *grad_phi,
107 double *dphi,
108 double *dr,
109 double *pe,
110 double *cfl,
111 double *tau
112);
114 int nElements_global,
115 int nQuadraturePoints_element,
116 int nSpace,
117 double *elementDiameter,
118 double *dmt,
119 double *df,
120 double *a,
121 double *da,
122 double *grad_phi,
123 double *dphi,
124 double *dr,
125 double *pe,
126 double *cfl,
127 double *tau
128);
130 int nElements_global,
131 int nQuadraturePoints_element,
132 int nSpace,
133 double *elementDiameter,
134 double *dmt,
135 double *df,
136 double *a,
137 double *da,
138 double *grad_phi,
139 double *dphi,
140 double *dr,
141 double *pe,
142 double *cfl,
143 double *tau
144);
146 int nElements_global,
147 int nQuadraturePoints_element,
148 int nSpace,
149 char stabilization,
150 double *elementDiameter,
151 double *dmt,
152 double *df,
153 double *a,
154 double *da,
155 double *grad_phi,
156 double *dphi,
157 double *dr,
158 double *pe,
159 double *cfl,
160 double *tau
161);
163 int nElements_global,
164 int nQuadraturePoints_element,
165 int nSpace,
166 double *elementDiameter,
167 double *dmt,
168 double *df,
169 double *cfl,
170 double *tau
171);
173 int nElements_global,
174 int nQuadraturePoints_element,
175 int nSpace,
176 double *elementDiameter,
177 double *dmt,
178 double *df,
179 double *cfl,
180 double *tau
181);
183 int nElements_global,
184 int nQuadraturePoints_element,
185 int nSpace,
186 char stabilization,
187 double *elementDiameter,
188 double *dmt,
189 double *df,
190 double *cfl,
191 double *tau
192);
194 int nElements_global,
195 int nQuadraturePoints_element,
196 int nDOF_trial_element,
197 int nSpace,
198 double *elementDiameter,
199 double *a,
200 double *pdeResidualU,
201 double *dpdeResidualU_dp,
202 double *dpdeResidualU_du,
203 double *pdeResidualV,
204 double *dpdeResidualV_dp,
205 double *dpdeResidualV_dv,
206 double *subgridErrorU,
207 double *dsubgridErrorU_dp,
208 double *dsubgridErrorU_du,
209 double *subgridErrorV,
210 double *dsubgridErrorV_dp,
211 double *dsubgridErrorV_dv
212);
214 int nElements_global,
215 int nQuadraturePoints_element,
216 int nDOF_trial_element,
217 int nSpace,
218 double *elementDiameter,
219 double *a,
220 double *pdeResidualU,
221 double *dpdeResidualU_dp,
222 double *dpdeResidualU_du,
223 double *pdeResidualV,
224 double *dpdeResidualV_dp,
225 double *dpdeResidualV_dv,
226 double *pdeResidualW,
227 double *dpdeResidualW_dp,
228 double *dpdeResidualW_dw,
229 double *subgridErrorU,
230 double *dsubgridErrorU_dp,
231 double *dsubgridErrorU_du,
232 double *subgridErrorV,
233 double *dsubgridErrorV_dp,
234 double *dsubgridErrorV_dv,
235 double *subgridErrorW,
236 double *dsubgridErrorW_dp,
237 double *dsubgridErrorW_dw
238);
239void calculateSubgridErrorStokes3D_GLS_velocity_sd(int nElements_global,
240 int nQuadraturePoints_element,
241 int nDOF_trial_element,
242 int nSpace,
243 double* elementDiameter,
244 double* a,
245 double* pdeResidualU,
246 double* dpdeResidualU_dp,
247 double* dpdeResidualU_du,
248 double* pdeResidualV,
249 double* dpdeResidualV_dp,
250 double* dpdeResidualV_dv,
251 double* pdeResidualW,
252 double* dpdeResidualW_dp,
253 double* dpdeResidualW_dw,
254 double* subgridErrorU,
255 double* dsubgridErrorU_dp,
256 double* dsubgridErrorU_du,
257 double* subgridErrorV,
258 double* dsubgridErrorV_dp,
259 double* dsubgridErrorV_dv,
260 double* subgridErrorW,
261 double* dsubgridErrorW_dp,
262 double* dsubgridErrorW_dw);
264 int nElements_global,
265 int nQuadraturePoints_element,
266 int nDOF_trial_element,
267 int nSpace,
268 double *elementDiameter,
269 double *a,
270 double *pdeResidualP,
271 double *dpdeResidualP_du,
272 double *dpdeResidualP_dv,
273 double *pdeResidualU,
274 double *dpdeResidualU_dp,
275 double *dpdeResidualU_du,
276 double *pdeResidualV,
277 double *dpdeResidualV_dp,
278 double *dpdeResidualV_dv,
279 double *subgridErrorP,
280 double *dsubgridErrorP_du,
281 double *dsubgridErrorP_dv,
282 double *subgridErrorU,
283 double *dsubgridErrorU_dp,
284 double *dsubgridErrorU_du,
285 double *subgridErrorV,
286 double *dsubgridErrorV_dp,
287 double *dsubgridErrorV_dv
288);
290 int nQuadraturePoints_element,
291 int nDOF_trial_element,
292 int nSpace,
293 double* elementDiameter,
294 double* a,
295 double* pdeResidualP,
296 double* dpdeResidualP_du,
297 double* dpdeResidualP_dv,
298 double* pdeResidualU,
299 double* dpdeResidualU_dp,
300 double* dpdeResidualU_du,
301 double* pdeResidualV,
302 double* dpdeResidualV_dp,
303 double* dpdeResidualV_dv,
304 double* subgridErrorP,
305 double* dsubgridErrorP_du,
306 double* dsubgridErrorP_dv,
307 double* subgridErrorU,
308 double* dsubgridErrorU_dp,
309 double* dsubgridErrorU_du,
310 double* subgridErrorV,
311 double* dsubgridErrorV_dp,
312 double* dsubgridErrorV_dv);
314 int nElements_global,
315 int nQuadraturePoints_element,
316 int nDOF_trial_element,
317 int nSpace,
318 double *elementDiameter,
319 double *a,
320 double *pdeResidualP,
321 double *dpdeResidualP_du,
322 double *dpdeResidualP_dv,
323 double *dpdeResidualP_dw,
324 double *pdeResidualU,
325 double *dpdeResidualU_dp,
326 double *dpdeResidualU_du,
327 double *pdeResidualV,
328 double *dpdeResidualV_dp,
329 double *dpdeResidualV_dv,
330 double *pdeResidualW,
331 double *dpdeResidualW_dp,
332 double *dpdeResidualW_dw,
333 double *subgridErrorP,
334 double *dsubgridErrorP_du,
335 double *dsubgridErrorP_dv,
336 double *dsubgridErrorP_dw,
337 double *subgridErrorU,
338 double *dsubgridErrorU_dp,
339 double *dsubgridErrorU_du,
340 double *subgridErrorV,
341 double *dsubgridErrorV_dp,
342 double *dsubgridErrorV_dv,
343 double *subgridErrorW,
344 double *dsubgridErrorW_dp,
345 double *dsubgridErrorW_dw
346);
348 int nQuadraturePoints_element,
349 int nDOF_trial_element,
350 int nSpace,
351 double* elementDiameter,
352 double* a,
353 double* pdeResidualP,
354 double* dpdeResidualP_du,
355 double* dpdeResidualP_dv,
356 double* dpdeResidualP_dw,
357 double* pdeResidualU,
358 double* dpdeResidualU_dp,
359 double* dpdeResidualU_du,
360 double* pdeResidualV,
361 double* dpdeResidualV_dp,
362 double* dpdeResidualV_dv,
363 double* pdeResidualW,
364 double* dpdeResidualW_dp,
365 double* dpdeResidualW_dw,
366 double* subgridErrorP,
367 double* dsubgridErrorP_du,
368 double* dsubgridErrorP_dv,
369 double* dsubgridErrorP_dw,
370 double* subgridErrorU,
371 double* dsubgridErrorU_dp,
372 double* dsubgridErrorU_du,
373 double* subgridErrorV,
374 double* dsubgridErrorV_dp,
375 double* dsubgridErrorV_dv,
376 double* subgridErrorW,
377 double* dsubgridErrorW_dp,
378 double* dsubgridErrorW_dw);
380 int nElements_global,
381 int nQuadraturePoints_element,
382 int nSpace,
383 double hFactor,
384 double *elementDiameter,
385 double *dmt,
386 double *dm,
387 double *f,
388 double *a,
389 double *tau0,
390 double *tau1,
391 double *cfl
392);
393void calculateSubgridErrorNavierStokes2D_GLS_tau_sd(int nElements_global,
394 int nQuadraturePoints_element,
395 int nSpace,
396 double hFactor,
397 double* elementDiameter,
398 double* dmt,
399 double* dm,
400 double* f,
401 double* a,
402 double* tau0,
403 double* tau1,
404 double* cfl);
406 int nElements_global,
407 int nQuadraturePoints_element,
408 int nSpace,
409 double *elementDiameter,
410 double *dH,
411 double *a,
412 double *tau0,
413 double *tau1
414);
416 int nElements_global,
417 int nQuadraturePoints_element,
418 int nSpace,
419 double *elementDiameter,
420 double *dH,
421 double *a,
422 double *tau0,
423 double *tau1
424);
426 int nElements_global,
427 int nQuadraturePoints_element,
428 int nDOF_trial_element,
429 int nSpace,
430 double *tau0,
431 double *tau1,
432 double *pdeResidualP,
433 double *dpdeResidualP_du,
434 double *dpdeResidualP_dv,
435 double *pdeResidualU,
436 double *dpdeResidualU_dp,
437 double *dpdeResidualU_du,
438 double *pdeResidualV,
439 double *dpdeResidualV_dp,
440 double *dpdeResidualV_dv,
441 double *subgridErrorP,
442 double *dsubgridErrorP_du,
443 double *dsubgridErrorP_dv,
444 double *subgridErrorU,
445 double *dsubgridErrorU_dp,
446 double *dsubgridErrorU_du,
447 double *subgridErrorV,
448 double *dsubgridErrorV_dp,
449 double *dsubgridErrorV_dv
450);
451
452extern void calculateSubgridErrorStokes3D_GLS_tauRes(int nElements_global,
453 int nQuadraturePoints_element,
454 int nDOF_trial_element,
455 int nSpace,
456 double* tau0,
457 double* tau1,
458 double* pdeResidualP,
459 double* dpdeResidualP_du,
460 double* dpdeResidualP_dv,
461 double* dpdeResidualP_dw,
462 double* pdeResidualU,
463 double* dpdeResidualU_dp,
464 double* dpdeResidualU_du,
465 double* pdeResidualV,
466 double* dpdeResidualV_dp,
467 double* dpdeResidualV_dv,
468 double* pdeResidualW,
469 double* dpdeResidualW_dp,
470 double* dpdeResidualW_dw,
471 double* subgridErrorP,
472 double* dsubgridErrorP_du,
473 double* dsubgridErrorP_dv,
474 double* dsubgridErrorP_dw,
475 double* subgridErrorU,
476 double* dsubgridErrorU_dp,
477 double* dsubgridErrorU_du,
478 double* subgridErrorV,
479 double* dsubgridErrorV_dp,
480 double* dsubgridErrorV_dv,
481 double* subgridErrorW,
482 double* dsubgridErrorW_dp,
483 double* dsubgridErrorW_dw);
484
485
487 int nElements_global,
488 int nQuadraturePoints_element,
489 int nDOF_trial_element,
490 int nSpace,
491 double *elementDiameter,
492 double *dm,
493 double *f,
494 double *a,
495 double *pdeResidualP,
496 double *dpdeResidualP_du,
497 double *dpdeResidualP_dv,
498 double *dpdeResidualP_dw,
499 double *pdeResidualU,
500 double *dpdeResidualU_dp,
501 double *dpdeResidualU_du,
502 double *pdeResidualV,
503 double *dpdeResidualV_dp,
504 double *dpdeResidualV_dv,
505 double *pdeResidualW,
506 double *dpdeResidualW_dp,
507 double *dpdeResidualW_dw,
508 double *subgridErrorP,
509 double *dsubgridErrorP_du,
510 double *dsubgridErrorP_dv,
511 double *dsubgridErrorP_dw,
512 double *subgridErrorU,
513 double *dsubgridErrorU_dp,
514 double *dsubgridErrorU_du,
515 double *subgridErrorV,
516 double *dsubgridErrorV_dp,
517 double *dsubgridErrorV_dv,
518 double *subgridErrorW,
519 double *dsubgridErrorW_dp,
520 double *dsubgridErrorW_dw
521);
523 int nElements_global,
524 int nQuadraturePoints_element,
525 int nDOF_trial_element,
526 int nSpace,
527 double *elementDiameter,
528 double *u,
529 double *v,
530 double *a,
531 double *pdeResidualP,
532 double *dpdeResidualP_du,
533 double *dpdeResidualP_dv,
534 double *pdeResidualU,
535 double *dpdeResidualU_dp,
536 double *dpdeResidualU_du,
537 double *pdeResidualV,
538 double *dpdeResidualV_dp,
539 double *dpdeResidualV_dv,
540 double *subgridErrorP,
541 double *dsubgridErrorP_dp,
542 double *dsubgridErrorP_du,
543 double *dsubgridErrorP_dv,
544 double *subgridErrorU,
545 double *dsubgridErrorU_dp,
546 double *dsubgridErrorU_du,
547 double *dsubgridErrorU_dv,
548 double *subgridErrorV,
549 double *dsubgridErrorV_dp,
550 double *dsubgridErrorV_du,
551 double *dsubgridErrorV_dv
552);
553extern void calculateSubgridError_Harari_tau_sd(int nElements_global,
554 int nQuadraturePoints_element,
555 int nSpace,
556 double dt,
557 int* rowptr,
558 int* colind,
559 double* elementDiameter,
560 double* a,
561 double* tau);
562extern void calculateSubgridErrorShallowWater1D(int nElements_global,
563 int nQuadraturePoints_element,
564 double g,
565 double* elementDiameter,
566 double* h,
567 double* hu,
568 double* cfl_1,
569 double* cfl_2);
570extern void calculateSubgridErrorShallowWater2D(int nElements_global,
571 int nQuadraturePoints_element,
572 double g,
573 double* elementDiameter,
574 double* h,
575 double* hu,
576 double* hv,
577 double* cfl_1,
578 double* cfl_2,
579 double* cfl_3);
580extern void calculateSubgridErrorStokes2D_1(int nElements_global,
581 int nQuadraturePoints_element,
582 int nDOF_trial_element,
583 int nSpace,
584 double* elementDiameter,
585 double* u,
586 double* v,
587 double* a,
588 double* pdeResidualP,
589 double* dpdeResidualP_du,
590 double* dpdeResidualP_dv,
591 double* pdeResidualU,
592 double* dpdeResidualU_dp,
593 double* dpdeResidualU_du,
594 double* pdeResidualV,
595 double* dpdeResidualV_dp,
596 double* dpdeResidualV_dv,
597 double* subgridErrorP,
598 double* dsubgridErrorP_dp,
599 double* dsubgridErrorP_du,
600 double* dsubgridErrorP_dv,
601 double* subgridErrorU,
602 double* dsubgridErrorU_dp,
603 double* dsubgridErrorU_du,
604 double* dsubgridErrorU_dv,
605 double* subgridErrorV,
606 double* dsubgridErrorV_dp,
607 double* dsubgridErrorV_du,
608 double* dsubgridErrorV_dv);
609extern void calculateSubgridErrorGradient_tauRes(int nElements_global,
610 int nQuadraturePoints_element,
611 int nSpace,
612 double* tau_gradient,
613 double* grad_pdeResidual,
614 double* grad_subgridError);
615extern void calculateSubgridError_ADR_Sangalli_tau_sd(int nElements_global,
616 int nQuadraturePoints_element,
617 int nSpace,
618 int* rowptr,
619 int* colind,
620 double* inverseJ,
621 double* dmt,
622 double* df,
623 double* a,
624 double* da,
625 double* grad_phi,
626 double* dphi,
627 double* dr,
628 double* pe,
629 double* cfl,
630 double* tau,
631 double* tau_gradient);
632extern void calculateSubgridError_ADR_tau_sd(int nElements_global,
633 int nQuadraturePoints_element,
634 int nSpace,
635 int* rowptr,
636 int* colind,
637 char stabilization,
638 double* elementDiameter,
639 double* dmt,
640 double* df,
641 double* a,
642 double* da,
643 double* grad_phi,
644 double* dphi,
645 double* dr,
646 double* pe,
647 double* cfl,
648 double* tau);
650 int nQuadraturePoints_element,
651 int nSpace,
652 double* inverseJ,
653 double* dmt,
654 double* dm,
655 double* f,
656 double* a,
657 double* dr,
658 double* tau0,
659 double* tau1,
660 double* cfl);
662 int nQuadraturePoints_element,
663 int nSpace,
664 double* inverseJ,
665 double* dmt,
666 double* dm,
667 double* f,
668 double* a,
669 double* dr,
670 double* tau0,
671 double* tau1,
672 double* cfl);
673extern void calculateSubgridErrorNavierStokes2D_GLS_tauRes(int nElements_global,
674 int nQuadraturePoints_element,
675 int nDOF_trial_element,
676 int nSpace,
677 double* tau0,
678 double* tau1,
679 double* pdeResidualP,
680 double* dpdeResidualP_du,
681 double* dpdeResidualP_dv,
682 double* pdeResidualU,
683 double* dpdeResidualU_dp,
684 double* dpdeResidualU_du,
685 double* dpdeResidualU_dv,
686 double* pdeResidualV,
687 double* dpdeResidualV_dp,
688 double* dpdeResidualV_du,
689 double* dpdeResidualV_dv,
690 double* subgridErrorP,
691 double* dsubgridErrorP_du,
692 double* dsubgridErrorP_dv,
693 double* subgridErrorU,
694 double* dsubgridErrorU_dp,
695 double* dsubgridErrorU_du,
696 double* dsubgridErrorU_dv,
697 double* subgridErrorV,
698 double* dsubgridErrorV_dp,
699 double* dsubgridErrorV_du,
700 double* dsubgridErrorV_dv);
701extern void calculateSubgridErrorStokes3D_GLS_tauRes(int nElements_global,
702 int nQuadraturePoints_element,
703 int nDOF_trial_element,
704 int nSpace,
705 double* tau0,
706 double* tau1,
707 double* pdeResidualP,
708 double* dpdeResidualP_du,
709 double* dpdeResidualP_dv,
710 double* dpdeResidualP_dw,
711 double* pdeResidualU,
712 double* dpdeResidualU_dp,
713 double* dpdeResidualU_du,
714 double* pdeResidualV,
715 double* dpdeResidualV_dp,
716 double* dpdeResidualV_dv,
717 double* pdeResidualW,
718 double* dpdeResidualW_dp,
719 double* dpdeResidualW_dw,
720 double* subgridErrorP,
721 double* dsubgridErrorP_du,
722 double* dsubgridErrorP_dv,
723 double* dsubgridErrorP_dw,
724 double* subgridErrorU,
725 double* dsubgridErrorU_dp,
726 double* dsubgridErrorU_du,
727 double* subgridErrorV,
728 double* dsubgridErrorV_dp,
729 double* dsubgridErrorV_dv,
730 double* subgridErrorW,
731 double* dsubgridErrorW_dp,
732 double* dsubgridErrorW_dw);
734 int nQuadraturePoints_element,
735 int nDOF_trial_element,
736 int nSpace,
737 double* elementDiameter,
738 double* dm,
739 double* f,
740 double* a,
741 double* pdeResidualP,
742 double* dpdeResidualP_du,
743 double* dpdeResidualP_dv,
744 double* dpdeResidualP_dw,
745 double* pdeResidualU,
746 double* dpdeResidualU_dp,
747 double* dpdeResidualU_du,
748 double* pdeResidualV,
749 double* dpdeResidualV_dp,
750 double* dpdeResidualV_dv,
751 double* pdeResidualW,
752 double* dpdeResidualW_dp,
753 double* dpdeResidualW_dw,
754 double* subgridErrorP,
755 double* dsubgridErrorP_du,
756 double* dsubgridErrorP_dv,
757 double* dsubgridErrorP_dw,
758 double* subgridErrorU,
759 double* dsubgridErrorU_dp,
760 double* dsubgridErrorU_du,
761 double* subgridErrorV,
762 double* dsubgridErrorV_dp,
763 double* dsubgridErrorV_dv,
764 double* subgridErrorW,
765 double* dsubgridErrorW_dp,
766 double* dsubgridErrorW_dw);
767extern void calculateSubgridErrorStokes2D_1_sd(int nElements_global,
768 int nQuadraturePoints_element,
769 int nDOF_trial_element,
770 int nSpace,
771 double* elementDiameter,
772 double* u,
773 double* v,
774 double* a,
775 double* pdeResidualP,
776 double* dpdeResidualP_du,
777 double* dpdeResidualP_dv,
778 double* pdeResidualU,
779 double* dpdeResidualU_dp,
780 double* dpdeResidualU_du,
781 double* pdeResidualV,
782 double* dpdeResidualV_dp,
783 double* dpdeResidualV_dv,
784 double* subgridErrorP,
785 double* dsubgridErrorP_dp,
786 double* dsubgridErrorP_du,
787 double* dsubgridErrorP_dv,
788 double* subgridErrorU,
789 double* dsubgridErrorU_dp,
790 double* dsubgridErrorU_du,
791 double* dsubgridErrorU_dv,
792 double* subgridErrorV,
793 double* dsubgridErrorV_dp,
794 double* dsubgridErrorV_du,
795 double* dsubgridErrorV_dv);
796extern void calculateSubgridErrorNavierStokes3D_GLS_tauRes(int nElements_global,
797 int nQuadraturePoints_element,
798 int nDOF_trial_element,
799 int nSpace,
800 double* tau0,
801 double* tau1,
802 double* pdeResidualP,
803 double* dpdeResidualP_du,
804 double* dpdeResidualP_dv,
805 double* dpdeResidualP_dw,
806 double* pdeResidualU,
807 double* dpdeResidualU_dp,
808 double* dpdeResidualU_du,
809 double* dpdeResidualU_dv,
810 double* dpdeResidualU_dw,
811 double* pdeResidualV,
812 double* dpdeResidualV_dp,
813 double* dpdeResidualV_du,
814 double* dpdeResidualV_dv,
815 double* dpdeResidualV_dw,
816 double* pdeResidualW,
817 double* dpdeResidualW_dp,
818 double* dpdeResidualW_du,
819 double* dpdeResidualW_dv,
820 double* dpdeResidualW_dw,
821 double* subgridErrorP,
822 double* dsubgridErrorP_du,
823 double* dsubgridErrorP_dv,
824 double* dsubgridErrorP_dw,
825 double* subgridErrorU,
826 double* dsubgridErrorU_dp,
827 double* dsubgridErrorU_du,
828 double* dsubgridErrorU_dv,
829 double* dsubgridErrorU_dw,
830 double* subgridErrorV,
831 double* dsubgridErrorV_dp,
832 double* dsubgridErrorV_du,
833 double* dsubgridErrorV_dv,
834 double* dsubgridErrorV_dw,
835 double* subgridErrorW,
836 double* dsubgridErrorW_dp,
837 double* dsubgridErrorW_du,
838 double* dsubgridErrorW_dv,
839 double* dsubgridErrorW_dw);
841#endif
Double f
Definition Headers.h:64
Double u
Definition Headers.h:89
Double v
Definition Headers.h:95
Double pe
Definition Headers.h:75
double df(double C, double b, double a, int q, int r)
void calculateSubgridErrorNavierStokes2D_generic_tau(int nElements_global, int nQuadraturePoints_element, int nSpace, double *inverseJ, double *dmt, double *dm, double *f, double *a, double *tau0, double *tau1, double *cfl)
void calculateSubgridErrorShallowWater1D(int nElements_global, int nQuadraturePoints_element, double g, double *elementDiameter, double *h, double *hu, double *cfl_1, double *cfl_2)
void calculateSubgridErrorNavierStokes2D_generic_withBodyForce_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, double *inverseJ, double *dmt, double *dm, double *f, double *a, double *dr, double *tau0, double *tau1, double *cfl)
void calculateSubgridErrorNavierStokes3D_GLS_velocity_pressure(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *dm, double *f, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *dpdeResidualP_dw, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_dw, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *dsubgridErrorP_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_dw)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_ADR_tau_1(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_ADR_generic_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, int *rowptr, int *colind, double *inverseJ, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau)
void calculateSubgridErrorStokes2D_1(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *u, double *v, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *subgridErrorP, double *dsubgridErrorP_dp, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *dsubgridErrorU_dv, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_du, double *dsubgridErrorV_dv)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_ADR_Sangalli_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, int *rowptr, int *colind, double *inverseJ, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau, double *tau_gradient)
void calculateSubgridErrorStokes3D_GLS_velocity(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_dw)
Calculate the subgrid error for velocity in 3D Stokes equation with a GLS-like formula.
void calculateSubgridErrorStokes3D_GLS_velocity_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_dw)
void calculateSubgridErrorNavierStokes2D_generic_withBodyForce_tau(int nElements_global, int nQuadraturePoints_element, int nSpace, double *inverseJ, double *dmt, double *dm, double *f, double *a, double *dr, double *tau0, double *tau1, double *cfl)
void calculateSubgridError_ADR_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, int *rowptr, int *colind, char stabilization, double *elementDiameter, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau)
void calculateSubgridErrorNavierStokes3D_GLS_tauRes(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *tau0, double *tau1, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *dpdeResidualP_dw, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *dpdeResidualU_dv, double *dpdeResidualU_dw, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_du, double *dpdeResidualV_dv, double *dpdeResidualV_dw, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_du, double *dpdeResidualW_dv, double *dpdeResidualW_dw, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *dsubgridErrorP_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *dsubgridErrorU_dv, double *dsubgridErrorU_dw, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_du, double *dsubgridErrorV_dv, double *dsubgridErrorV_dw, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_du, double *dsubgridErrorW_dv, double *dsubgridErrorW_dw)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridErrorStokes2D_1_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *u, double *v, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *subgridErrorP, double *dsubgridErrorP_dp, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *dsubgridErrorU_dv, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_du, double *dsubgridErrorV_dv)
void calculateSubgridErrorNavierStokes2D_GLS_tau(int nElements_global, int nQuadraturePoints_element, int nSpace, double hFactor, double *elementDiameter, double *dmt, double *dm, double *f, double *a, double *tau0, double *tau1, double *cfl)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridErrorStokes3D_GLS_velocity_pressure(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *dpdeResidualP_dw, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_dw, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *dsubgridErrorP_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_dw)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridErrorStokes2D_GLS_velocity_pressure_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv)
void calculateSubgridError_ADR_generic_tau(int nElements_global, int nQuadraturePoints_element, int nSpace, double *inverseJ, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau)
void calculateSubgridErrorStokes2D_GLS_tauRes(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *tau0, double *tau1, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_tauRes(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, double *tau, double *pdeResidual, double *dpdeResidual, double *subgridError, double *dsubgridError)
Calculate the ASGS subgrid error given tau and the strong residual.
void calculateSubgridErrorStokes_GLS_tau(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *pfac, double *a, double *tau0, double *tau1)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridErrorStokes3D_GLS_velocity_pressure_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *dpdeResidualP_dw, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_dw, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *dsubgridErrorP_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_dw)
void calculateSubgridErrorStokes2D_GLS_velocity(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv)
Calculate the subgrid error for velocity in 2D Stokes equation with a GLS-like formula.
void calculateSubgridError_ADR_tau_2(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_ADR_tau(int nElements_global, int nQuadraturePoints_element, int nSpace, char stabilization, double *elementDiameter, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation.
void calculateSubgridErrorNavierStokes2D_GLS_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, double hFactor, double *elementDiameter, double *dmt, double *dm, double *f, double *a, double *tau0, double *tau1, double *cfl)
void calculateSubgridErrorNavierStokes3D_GLS_velocity_pressure_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *dm, double *f, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *dpdeResidualP_dw, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_dw, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *dsubgridErrorP_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_dw)
void calculateSubgridErrorShallowWater2D(int nElements_global, int nQuadraturePoints_element, double g, double *elementDiameter, double *h, double *hu, double *hv, double *cfl_1, double *cfl_2, double *cfl_3)
void calculateSubgridErrorNavierStokes2D_GLS_tauRes(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *tau0, double *tau1, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *dpdeResidualU_dv, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_du, double *dpdeResidualV_dv, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *dsubgridErrorU_dv, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_du, double *dsubgridErrorV_dv)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_A_tau(int nElements_global, int nQuadraturePoints_element, int nSpace, char stabilization, double *elementDiameter, double *dmt, double *df, double *cfl, double *tau)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation.
void calculateSubgridErrorStokes3D_GLS_tauRes(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *tau0, double *tau1, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *dpdeResidualP_dw, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *pdeResidualW, double *dpdeResidualW_dp, double *dpdeResidualW_dw, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *dsubgridErrorP_dw, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv, double *subgridErrorW, double *dsubgridErrorW_dp, double *dsubgridErrorW_dw)
3D version of Stokes GLS tau
void calculateSubgridErrorNavierStokes2D_generic_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, double *inverseJ, double *dmt, double *dm, double *f, double *a, double *tau0, double *tau1, double *cfl)
void calculateSubgridError_Harari_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, double dt, int *rowptr, int *colind, double *elementDiameter, double *a, double *tau)
void calculateSubgridError_A_tau_2(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dmt, double *df, double *cfl, double *tau)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_A_tau_1(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dmt, double *df, double *cfl, double *tau)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridError_ADR_tau_p(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dmt, double *df, double *a, double *da, double *grad_phi, double *dphi, double *dr, double *pe, double *cfl, double *tau)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridErrorStokes_GLS_tau_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *pfac, double *a, double *tau0, double *tau1)
void calculateSubgridErrorStokes2D_GLS_velocity_pressure(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualP, double *dpdeResidualP_du, double *dpdeResidualP_dv, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *subgridErrorP, double *dsubgridErrorP_du, double *dsubgridErrorP_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv)
Calculate the stabilization parameter for the scalar advection-diffusion-reaction equation using the ...
void calculateSubgridErrorStokes2D_GLS_velocity_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *elementDiameter, double *a, double *pdeResidualU, double *dpdeResidualU_dp, double *dpdeResidualU_du, double *pdeResidualV, double *dpdeResidualV_dp, double *dpdeResidualV_dv, double *subgridErrorU, double *dsubgridErrorU_dp, double *dsubgridErrorU_du, double *subgridErrorV, double *dsubgridErrorV_dp, double *dsubgridErrorV_dv)
void calculateSubgridErrorGradient_tauRes(int nElements_global, int nQuadraturePoints_element, int nSpace, double *tau_gradient, double *grad_pdeResidual, double *grad_subgridError)
Calculate the ASGS subgrid error given tau and the strong residual.