proteus
1.8.1
C/C++/Fortran libraries
|
Go to the documentation of this file. 1 #ifndef NUMERICAL_FLUX_H
2 #define NUMERICAL_FLUX_H
23 int nElementBoundaries_element,
24 int nQuadraturePoints_elementBoundary,
27 int* interiorElementBoundaries,
28 int* elementBoundaryElements,
29 int* elementBoundaryLocalElementBoundaries,
41 int nInteriorElementBoundaries_global,
42 int nElementBoundaries_element,
43 int nQuadraturePoints_elementBoundary,
45 int* interiorElementBoundaries,
46 int* elementBoundaryElements,
47 int* elementBoundaryLocalElementBoundaries,
57 int nExteriorElementBoundaries_global,
58 int nElementBoundaries_element,
59 int nQuadraturePoints_elementBoundary,
60 int nQuadraturePoints_element,
62 int* exteriorElementBoundaries,
63 int* elementBoundaryElements,
64 int* elementBoundaryLocalElementBoundaries,
81 int nInteriorElementBoundaries_global,
82 int nElementBoundaries_element,
83 int nQuadraturePoints_elementBoundary,
85 int* interiorElementBoundaries,
86 int* elementBoundaryElements,
87 int* elementBoundaryLocalElementBoundaries,
97 int nInteriorElementBoundaries_global,
98 int nElementBoundaries_element,
99 int nQuadraturePoints_elementBoundary,
100 int nDOF_trial_element,
103 int* interiorElementBoundaries,
104 int* elementBoundaryElements,
105 int* elementBoundaryLocalElementBoundaries,
117 int nInteriorElementBoundaries_global,
118 int nElementBoundaries_element,
119 int nQuadraturePoints_elementBoundary,
121 int* interiorElementBoundaries,
122 int* elementBoundaryElements,
123 int* elementBoundaryLocalElementBoundaries,
133 int nInteriorElementBoundaries_global,
134 int nElementBoundaries_element,
135 int nQuadraturePoints_elementBoundary,
136 int nDOF_trial_element,
137 int* interiorElementBoundaries,
138 int* elementBoundaryElements,
139 int* elementBoundaryLocalElementBoundaries,
146 int nInteriorElementBoundaries_global,
147 int nElementBoundaries_element,
148 int nQuadraturePoints_elementBoundary,
150 int* interiorElementBoundaries,
151 int* elementBoundaryElements,
152 int* elementBoundaryLocalElementBoundaries,
162 int nExteriorElementBoundaries_global,
163 int nElementBoundaries_element,
164 int nQuadraturePoints_elementBoundary,
166 int* exteriorElementBoundaries,
167 int* elementBoundaryElements,
168 int* elementBoundaryLocalElementBoundaries,
177 int nInteriorElementBoundaries_global,
178 int nElementBoundaries_element,
179 int nQuadraturePoints_elementBoundary,
181 int* interiorElementBoundaries,
182 int* elementBoundaryElements,
183 int* elementBoundaryLocalElementBoundaries,
193 int nInteriorElementBoundaries_global,
194 int nElementBoundaries_element,
195 int nQuadraturePoints_elementBoundary,
196 int nDOF_trial_element,
198 int* interiorElementBoundaries,
199 int* elementBoundaryElements,
200 int* elementBoundaryLocalElementBoundaries,
210 double* fluxJacobian,
211 double* fluxJacobian_eb
214 int nExteriorElementBoundaries_global,
215 int nElementBoundaries_element,
216 int nQuadraturePoints_elementBoundary,
218 int* exteriorElementBoundaries,
219 int* elementBoundaryElements,
220 int* elementBoundaryLocalElementBoundaries,
234 double penalty_floor,
235 int nExteriorElementBoundaries_global,
236 int nQuadraturePoints_elementBoundary,
237 int nDOF_trial_element,
240 int* exteriorElementBoundaries,
241 int* elementBoundaryElements,
242 int* elementBoundaryLocalElementBoundaries,
252 double* fluxJacobian);
254 extern void setInflowFlux(
int nExteriorElementBoundaries_global,
255 int nQuadraturePoints_elementBoundary,
256 int* exteriorElementBoundaries,
261 int nElementBoundaries_element,
262 int nQuadraturePoints_elementBoundary,
263 int nDOF_trial_element,
264 int* interiorElementBoundaries,
265 int* elementBoundaryElements,
266 int* elementBoundaryLocalElementBoundaries,
270 double* fluxJacobian_2sided);
275 int nQuadraturePoints_elementBoundary,
277 int* exteriorElementBoundaries,
278 int* elementBoundaryElements,
279 int* elementBoundaryLocalElementBoundaries,
288 int nQuadraturePoints_elementBoundary,
290 int* exteriorElementBoundaries,
291 int* elementBoundaryElements,
292 int* elementBoundaryLocalElementBoundaries,
303 int nElementBoundaries_element,
304 int nQuadraturePoints_elementBoundary,
305 int nDOF_trial_element,
308 int* exteriorElementBoundaries,
309 int* elementBoundaryElements,
310 int* elementBoundaryLocalElementBoundaries,
320 double* fluxJacobian);
323 int nElementBoundaries_element,
324 int nQuadraturePoints_elementBoundary,
325 int nQuadraturePoints_element,
328 int* interiorElementBoundaries,
329 int* elementBoundaryElements,
330 int* elementBoundaryLocalElementBoundaries,
339 double* dflux_right);
342 int nQuadraturePoints_elementBoundary,
344 const int* exteriorElementBoundaries,
345 const int* elementBoundaryElements,
346 const int* elementBoundaryLocalElementBoundaries,
347 const int* isDOFBoundary_uw,
348 const int* isDOFBoundary_um,
350 const double* bc_f_m,
351 const double* bc_a_wm,
352 const double* bc_a_mw,
353 const double* bc_a_mm,
354 const double* bc_grad_phi_w,
355 const double* bc_grad_phi_m,
356 const double* bc_u_w,
357 const double* bc_u_m,
359 const double* df_m_dw,
363 const double* grad_phi_w,
364 const double* grad_phi_m,
367 const double* penalty_w,
368 const double* penalty_m,
369 double* advectiveFlux_m,
370 double* dadvectiveFlux_m_dw,
371 double* diffusiveFlux_wm,
372 double* diffusiveFlux_mw,
373 double* diffusiveFlux_mm);
375 int nQuadraturePoints_elementBoundary,
377 int nDOF_trial_element,
379 const int* exteriorElementBoundaries,
380 const int* elementBoundaryElements,
381 const int* elementBoundaryLocalElementBoundaries,
382 const int* isDOFBoundary_uw,
383 const int* isDOFBoundary_um,
386 const double* df_m_dw,
388 const double* da_wm_dw,
389 const double* da_wm_dm,
391 const double* da_mw_dw,
392 const double* da_mw_dm,
394 const double* da_mm_dw,
395 const double* da_mm_dm,
396 const double* grad_phi_w,
397 const double* grad_phi_m,
398 const double* dphi_w_w,
399 const double* dphi_w_m,
400 const double* dphi_m_w,
401 const double* dphi_m_m,
405 const double* grad_v,
406 const double* penalty_w,
407 const double* penalty_m,
408 double* fluxJacobian_ww,
409 double* fluxJacobian_wm,
410 double* fluxJacobian_mw,
411 double* fluxJacobian_mm);
414 int nQuadraturePoints_elementBoundary,
415 int nDOF_trial_element,
417 int* exteriorElementBoundaries,
418 int* elementBoundaryElements,
419 int* elementBoundaryLocalElementBoundaries,
420 int* isDOFBoundary_u,
421 int* isDOFBoundary_v,
422 int* isDOFBoundary_w,
423 int* isStressBoundary_u,
424 int* isStressBoundary_v,
425 int* isStressBoundary_w,
439 double* fluxJacobian_u_u,
440 double* fluxJacobian_u_v,
441 double* fluxJacobian_u_w,
442 double* fluxJacobian_v_u,
443 double* fluxJacobian_v_v,
444 double* fluxJacobian_v_w,
445 double* fluxJacobian_w_u,
446 double* fluxJacobian_w_v,
447 double* fluxJacobian_w_w);
451 int nExteriorElementBoundaries_global,
452 int nQuadraturePoints_elementBoundary,
463 double* diffusiveFlux);
466 int nExteriorElementBoundaries_global,
467 int nQuadraturePoints_elementBoundary,
468 int nDOF_trial_element,
481 double* fluxJacobian);
483 double penalty_floor,
484 int nExteriorElementBoundaries_global,
485 int nQuadraturePoints_elementBoundary,
489 int* exteriorElementBoundaries,
490 int* elementBoundaryElements,
491 int* elementBoundaryLocalElementBoundaries,
503 int nInteriorElementBoundaries_global,
504 int nElementBoundaries_element,
505 int nQuadraturePoints_elementBoundary,
506 int nQuadraturePoints_element,
508 int* interiorElementBoundaries,
509 int* elementBoundaryElements,
510 int* elementBoundaryLocalElementBoundaries,
514 double* lambda_bar_element,
517 double penalty_floor,
518 int nInteriorElementBoundaries_global,
519 int nElementBoundaries_element,
520 int nQuadraturePoints_elementBoundary,
524 int* interiorElementBoundaries,
525 int* elementBoundaryElements,
526 int* elementBoundaryLocalElementBoundaries,
535 double penalty_floor,
536 int nInteriorElementBoundaries_global,
537 int nElementBoundaries_element,
538 int nQuadraturePoints_elementBoundary,
539 int nDOF_trial_element,
544 int* interiorElementBoundaries,
545 int* elementBoundaryElements,
546 int* elementBoundaryLocalElementBoundaries,
555 double* fluxJacobian);
557 double penalty_floor,
558 int nExteriorElementBoundaries_global,
559 int nElementBoundaries_element,
560 int nQuadraturePoints_elementBoundary,
564 int* exteriorElementBoundaries,
565 int* elementBoundaryElements,
566 int* elementBoundaryLocalElementBoundaries,
578 double penalty_floor,
579 int nExteriorElementBoundaries_global,
580 int nElementBoundaries_element,
581 int nQuadraturePoints_elementBoundary,
582 int nDOF_trial_element,
587 int* exteriorElementBoundaries,
588 int* elementBoundaryElements,
589 int* elementBoundaryLocalElementBoundaries,
599 double* fluxJacobian);
601 int nElementBoundaries_element,
602 int nQuadraturePoints_elementBoundary,
603 int nDOF_trial_element,
608 int* exteriorElementBoundaries,
609 int* elementBoundaryElements,
610 int* elementBoundaryLocalElementBoundaries,
620 double* fluxJacobian);
622 int nElementBoundaries_element,
623 int nQuadraturePoints_elementBoundary,
627 int* interiorElementBoundaries,
628 int* elementBoundaryElements,
629 int* elementBoundaryLocalElementBoundaries,
638 int nElementBoundaries_element,
639 int nQuadraturePoints_elementBoundary,
640 int nDOF_trial_element,
644 int* interiorElementBoundaries,
645 int* elementBoundaryElements,
646 int* elementBoundaryLocalElementBoundaries,
656 double* fluxJacobian,
657 double* fluxJacobian_eb);
659 int nElementBoundaries_element,
660 int nQuadraturePoints_elementBoundary,
664 int* exteriorElementBoundaries,
665 int* elementBoundaryElements,
666 int* elementBoundaryLocalElementBoundaries,
676 int nElements_global,
677 int nElementBoundaries_element,
678 int nQuadraturePoints_element,
679 int nQuadraturePoints_elementBoundary,
683 const double * ebq_a,
690 int nQuadraturePoints_elementBoundary,
698 const int* exteriorElementBoundaries,
699 const int* elementBoundaryElements,
700 const int* elementBoundaryLocalElementBoundaries,
701 const int* isDOFBoundary_uw,
702 const int* isDOFBoundary_um,
704 const double* bc_f_m,
705 const double* bc_a_wm,
706 const double* bc_a_mw,
707 const double* bc_a_mm,
708 const double* bc_grad_phi_w,
709 const double* bc_grad_phi_m,
710 const double* bc_u_w,
711 const double* bc_u_m,
713 const double* df_m_dw,
717 const double* grad_phi_w,
718 const double* grad_phi_m,
721 const double* penalty_w,
722 const double* penalty_m,
723 double* advectiveFlux_m,
724 double* dadvectiveFlux_m_dw,
725 double* diffusiveFlux_wm,
726 double* diffusiveFlux_mw,
727 double* diffusiveFlux_mm);
729 int nQuadraturePoints_elementBoundary,
731 int nDOF_trial_element,
739 const int* exteriorElementBoundaries,
740 const int* elementBoundaryElements,
741 const int* elementBoundaryLocalElementBoundaries,
742 const int* isDOFBoundary_uw,
743 const int* isDOFBoundary_um,
746 const double* df_m_dw,
748 const double* da_wm_dw,
749 const double* da_wm_dm,
751 const double* da_mw_dw,
752 const double* da_mw_dm,
754 const double* da_mm_dw,
755 const double* da_mm_dm,
756 const double* grad_phi_w,
757 const double* grad_phi_m,
758 const double* dphi_w_w,
759 const double* dphi_w_m,
760 const double* dphi_m_w,
761 const double* dphi_m_m,
765 const double* grad_v,
766 const double* penalty_w,
767 const double* penalty_m,
768 double * fluxJacobian_ww,
769 double * fluxJacobian_wm,
770 double * fluxJacobian_mw,
771 double * fluxJacobian_mm);
773 int nQuadraturePoints_elementBoundary,
775 const int* exteriorElementBoundaries,
776 const int* elementBoundaryElements,
777 const int* elementBoundaryLocalElementBoundaries,
778 const int* isDOFBoundary_uw,
779 const int* isDOFBoundary_un,
780 int fluxBoundaryFlag_uw,
781 int fluxBoundaryFlag_un,
783 const double* bc_a_ww,
784 const double* bc_a_nn,
785 const double* bc_grad_phi_w,
786 const double* bc_grad_phi_n,
787 const double* bc_s_w,
788 const double* bc_psi_w,
789 const double* bc_psi_n,
792 const double* grad_phi_w,
793 const double* grad_phi_n,
797 const double* penalty_w,
798 const double* penalty_n,
799 double * diffusiveFlux_ww,
800 double * diffusiveFlux_nn);
802 int nQuadraturePoints_elementBoundary,
808 const int* exteriorElementBoundaries,
809 const int* elementBoundaryElements,
810 const int* elementBoundaryLocalElementBoundaries,
811 const int* isDOFBoundary_uw,
812 const int* isDOFBoundary_un,
813 int fluxBoundaryFlag_uw,
814 int fluxBoundaryFlag_un,
816 const double* bc_a_ww,
817 const double* bc_a_nn,
818 const double* bc_grad_phi_w,
819 const double* bc_grad_phi_n,
820 const double* bc_s_w,
821 const double* bc_psi_w,
822 const double* bc_psi_n,
825 const double* grad_phi_w,
826 const double* grad_phi_n,
830 const double* penalty_w,
831 const double* penalty_n,
832 double * diffusiveFlux_ww,
833 double * diffusiveFlux_nn);
835 int nQuadraturePoints_elementBoundary,
837 int nDOF_trial_element,
839 const int* exteriorElementBoundaries,
840 const int* elementBoundaryElements,
841 const int* elementBoundaryLocalElementBoundaries,
842 const int* isDOFBoundary_uw,
843 const int* isDOFBoundary_un,
844 int fluxBoundaryFlag_uw,
845 int fluxBoundaryFlag_un,
848 const double* da_ww_dw,
849 const double* da_ww_dn,
851 const double* da_nn_dw,
852 const double* da_nn_dn,
853 const double* grad_phi_w,
854 const double* grad_phi_n,
855 const double* dphi_w_w,
856 const double* dphi_w_n,
857 const double* dphi_n_w,
858 const double* dphi_n_n,
862 const double* dpsi_n_dsw,
863 const double* dpsi_n_dpsiw,
865 const double* grad_v,
866 const double* penalty_w,
867 const double* penalty_n,
868 double * fluxJacobian_ww,
869 double * fluxJacobian_wn,
870 double * fluxJacobian_nw,
871 double * fluxJacobian_nn);
873 int nQuadraturePoints_elementBoundary,
875 int nDOF_trial_element,
881 const int* exteriorElementBoundaries,
882 const int* elementBoundaryElements,
883 const int* elementBoundaryLocalElementBoundaries,
884 const int* isDOFBoundary_uw,
885 const int* isDOFBoundary_un,
886 int fluxBoundaryFlag_uw,
887 int fluxBoundaryFlag_un,
890 const double* da_ww_dw,
891 const double* da_ww_dn,
893 const double* da_nn_dw,
894 const double* da_nn_dn,
895 const double* grad_phi_w,
896 const double* grad_phi_n,
897 const double* dphi_w_w,
898 const double* dphi_w_n,
899 const double* dphi_n_w,
900 const double* dphi_n_n,
904 const double* dpsi_n_dsw,
905 const double* dpsi_n_dpsiw,
907 const double* grad_v,
908 const double* penalty_w,
909 const double* penalty_n,
910 double * fluxJacobian_ww,
911 double * fluxJacobian_wn,
912 double * fluxJacobian_nw,
913 double * fluxJacobian_nn);
915 int nQuadraturePoints_elementBoundary,
917 const int* exteriorElementBoundaries,
918 const int* elementBoundaryElements,
919 const int* elementBoundaryLocalElementBoundaries,
920 const int* isDOFBoundary_uw,
921 const int* isDOFBoundary_un,
922 int fluxBoundaryFlag_uw,
923 int fluxBoundaryFlag_un,
925 const double* bc_a_ww,
926 const double* bc_a_nn,
927 const double* bc_grad_phi_w,
928 const double* bc_grad_phi_n,
929 const double* bc_psi_w,
930 const double* bc_psi_c,
931 const double* bc_psi_n,
934 const double* grad_phi_w,
935 const double* grad_phi_n,
939 const double* penalty_w,
940 const double* penalty_n,
941 double * diffusiveFlux_ww,
942 double * diffusiveFlux_nn);
944 int nQuadraturePoints_elementBoundary,
950 const int* exteriorElementBoundaries,
951 const int* elementBoundaryElements,
952 const int* elementBoundaryLocalElementBoundaries,
953 const int* isDOFBoundary_uw,
954 const int* isDOFBoundary_un,
955 int fluxBoundaryFlag_uw,
956 int fluxBoundaryFlag_un,
958 const double* bc_a_ww,
959 const double* bc_a_nn,
960 const double* bc_grad_phi_w,
961 const double* bc_grad_phi_n,
962 const double* bc_psi_w,
963 const double* bc_psi_c,
964 const double* bc_psi_n,
967 const double* grad_phi_w,
968 const double* grad_phi_n,
972 const double* penalty_w,
973 const double* penalty_n,
974 double * diffusiveFlux_ww,
975 double * diffusiveFlux_nn);
977 int nQuadraturePoints_elementBoundary,
979 int nDOF_trial_element,
981 const int* exteriorElementBoundaries,
982 const int* elementBoundaryElements,
983 const int* elementBoundaryLocalElementBoundaries,
984 const int* isDOFBoundary_uw,
985 const int* isDOFBoundary_un,
986 int fluxBoundaryFlag_uw,
987 int fluxBoundaryFlag_un,
990 const double* da_ww_dw,
991 const double* da_ww_dn,
993 const double* da_nn_dw,
994 const double* da_nn_dn,
995 const double* grad_phi_w,
996 const double* grad_phi_n,
997 const double* dphi_w_w,
998 const double* dphi_w_n,
999 const double* dphi_n_w,
1000 const double* dphi_n_n,
1001 const double* psi_w,
1002 const double* psi_c,
1003 const double* psi_n,
1004 const double* dpsi_n_dpsiw,
1005 const double* dpsi_n_dpsic,
1007 const double* grad_v,
1008 const double* penalty_w,
1009 const double* penalty_n,
1010 double * fluxJacobian_ww,
1011 double * fluxJacobian_wn,
1012 double * fluxJacobian_nw,
1013 double * fluxJacobian_nn);
1015 int nQuadraturePoints_elementBoundary,
1017 int nDOF_trial_element,
1023 const int* exteriorElementBoundaries,
1024 const int* elementBoundaryElements,
1025 const int* elementBoundaryLocalElementBoundaries,
1026 const int* isDOFBoundary_uw,
1027 const int* isDOFBoundary_un,
1028 int fluxBoundaryFlag_uw,
1029 int fluxBoundaryFlag_un,
1032 const double* da_ww_dw,
1033 const double* da_ww_dn,
1035 const double* da_nn_dw,
1036 const double* da_nn_dn,
1037 const double* grad_phi_w,
1038 const double* grad_phi_n,
1039 const double* dphi_w_w,
1040 const double* dphi_w_n,
1041 const double* dphi_n_w,
1042 const double* dphi_n_n,
1043 const double* psi_w,
1044 const double* psi_c,
1045 const double* psi_n,
1046 const double* dpsi_n_dpsiw,
1047 const double* dpsi_n_dpsic,
1049 const double* grad_v,
1050 const double* penalty_w,
1051 const double* penalty_n,
1052 double * fluxJacobian_ww,
1053 double * fluxJacobian_wn,
1054 double * fluxJacobian_nw,
1055 double * fluxJacobian_nn);
1058 int nElementBoundaries_element,
1059 int nQuadraturePoints_elementBoundary,
1063 int* interiorElementBoundaries,
1064 int* elementBoundaryElements,
1065 int* elementBoundaryLocalElementBoundaries,
1072 int nQuadraturePoints_elementBoundary,
1084 int nElementBoundaries_element,
1085 int nQuadraturePoints_elementBoundary,
1089 int* interiorElementBoundaries,
1090 int* elementBoundaryElements,
1091 int* elementBoundaryLocalElementBoundaries,
1100 int nQuadraturePoints_elementBoundary,
1115 int nElementBoundaries_element,
1116 int nQuadraturePoints_elementBoundary,
1120 int* interiorElementBoundaries,
1121 int* elementBoundaryElements,
1122 int* elementBoundaryLocalElementBoundaries,
1129 int nQuadraturePoints_elementBoundary,
1141 int nQuadraturePoints_elementBoundary,
1143 int* exteriorElementBoundaries,
1144 int* elementBoundaryElements,
1145 int* elementBoundaryLocalElementBoundaries,
1146 int *isDOFBoundary_u,
1147 int *isDOFBoundary_v,
1148 int *isDOFBoundary_w,
1158 double* stressFlux_u,
1159 double* stressFlux_v,
1160 double* stressFlux_w);
1162 int nQuadraturePoints_elementBoundary,
1164 int* exteriorElementBoundaries,
1165 int* elementBoundaryElements,
1166 int* elementBoundaryLocalElementBoundaries,
1167 int* isDOFBoundary_p,
1168 int* isDOFBoundary_u,
1169 int* isDOFBoundary_v,
1170 int* isDOFBoundary_w,
1183 double* dflux_mass_du,
1184 double* dflux_mass_dv,
1185 double* dflux_mass_dw,
1186 double* dflux_umom_dp,
1187 double* dflux_vmom_dp,
1188 double* dflux_wmom_dp,
1191 int nQuadraturePoints_elementBoundary,
1193 int* exteriorElementBoundaries,
1194 int* elementBoundaryElements,
1195 int* elementBoundaryLocalElementBoundaries,
1196 int* isDOFBoundary_p,
1197 int* isDOFBoundary_u,
1198 int* isDOFBoundary_v,
1199 int* isDOFBoundary_w,
1230 double* dflux_mass_du,
1231 double* dflux_mass_dv,
1232 double* dflux_mass_dw,
1233 double* dflux_umom_dp,
1234 double* dflux_umom_du,
1235 double* dflux_umom_dv,
1236 double* dflux_umom_dw,
1237 double* dflux_vmom_dp,
1238 double* dflux_vmom_du,
1239 double* dflux_vmom_dv,
1240 double* dflux_vmom_dw,
1241 double* dflux_wmom_dp,
1242 double* dflux_wmom_du,
1243 double* dflux_wmom_dv,
1244 double* dflux_wmom_dw,
1247 double penalty_floor,
1248 int nExteriorElementBoundaries_global,
1249 int nQuadraturePoints_elementBoundary,
1250 int nDOF_trial_element,
1255 int* exteriorElementBoundaries,
1256 int* elementBoundaryElements,
1257 int* elementBoundaryLocalElementBoundaries,
1267 double* fluxJacobian);
1270 int nExteriorElementBoundaries_global,
1271 int nQuadraturePoints_elementBoundary,
1272 int nQuadraturePoints_element,
1274 int* exteriorElementBoundaries,
1275 int* elementBoundaryElements,
1276 int* elementBoundaryLocalElementBoundaries,
1290 int nExteriorElementBoundaries_global,
1291 int nQuadraturePoints_elementBoundary,
1292 int nQuadraturePoints_element,
1294 int* exteriorElementBoundaries,
1295 int* elementBoundaryElements,
1296 int* elementBoundaryLocalElementBoundaries,
1307 int nExteriorElementBoundaries_global,
1308 int nElementBoundaries_element,
1309 int nQuadraturePoints_elementBoundary,
1310 int nQuadraturePoints_element,
1312 int* exteriorElementBoundaries,
1313 int* elementBoundaryElements,
1314 int* elementBoundaryLocalElementBoundaries,
1322 double* lambda_bar_element,
1325 double penalty_floor,
1326 int nExteriorElementBoundaries_global,
1327 int nElementBoundaries_element,
1328 int nQuadraturePoints_elementBoundary,
1330 int* exteriorElementBoundaries,
1331 int* elementBoundaryElements,
1332 int* elementBoundaryLocalElementBoundaries,
1336 double* bc_grad_phi,
1345 double penalty_floor,
1346 int nExteriorElementBoundaries_global,
1347 int nQuadraturePoints_elementBoundary,
1349 int* exteriorElementBoundaries,
1350 int* elementBoundaryElements,
1351 int* elementBoundaryLocalElementBoundaries,
1355 double* bc_grad_phi,
1363 int nElementBoundaries_element,
1364 int nQuadraturePoints_elementBoundary,
1366 int* exteriorElementBoundaries,
1367 int* elementBoundaryElements,
1368 int* elementBoundaryLocalElementBoundaries,
1372 double* bc_grad_phi,
1380 int nElementBoundaries_element,
1381 int nQuadraturePoints_elementBoundary,
1385 int* exteriorElementBoundaries,
1386 int* elementBoundaryElements,
1387 int* elementBoundaryLocalElementBoundaries,
1391 double* bc_grad_phi,
1399 int nQuadraturePoints_elementBoundary,
1401 int* exteriorElementBoundaries,
1402 int* elementBoundaryElements,
1403 int* elementBoundaryLocalElementBoundaries,
1407 double* bc_grad_phi,
1415 int nQuadraturePoints_elementBoundary,
1419 int* exteriorElementBoundaries,
1420 int* elementBoundaryElements,
1421 int* elementBoundaryLocalElementBoundaries,
1425 double* bc_grad_phi,
1433 double penalty_floor,
1434 int nExteriorElementBoundaries_global,
1435 int nElementBoundaries_element,
1436 int nQuadraturePoints_elementBoundary,
1437 int nDOF_trial_element,
1440 int* exteriorElementBoundaries,
1441 int* elementBoundaryElements,
1442 int* elementBoundaryLocalElementBoundaries,
1452 double* fluxJacobian);
1455 int nQuadraturePoints_elementBoundary,
1456 int nDOF_trial_element,
1459 int* exteriorElementBoundaries,
1460 int* elementBoundaryElements,
1461 int* elementBoundaryLocalElementBoundaries,
1471 double* fluxJacobian);
1473 int nQuadraturePoints_elementBoundary,
1474 int nDOF_trial_element,
1479 int* exteriorElementBoundaries,
1480 int* elementBoundaryElements,
1481 int* elementBoundaryLocalElementBoundaries,
1491 double* fluxJacobian);
1493 int nElementBoundaries_element,
1494 int nQuadraturePoints_elementBoundary,
1496 int* exteriorElementBoundaries,
1497 int* elementBoundaryElements,
1498 int* elementBoundaryLocalElementBoundaries,
1511 int nQuadraturePoints_elementBoundary,
1513 int* exteriorElementBoundaries,
1514 int* elementBoundaryElements,
1515 int* elementBoundaryLocalElementBoundaries,
1528 int nElementBoundaries_element,
1529 int nQuadraturePoints_elementBoundary,
1531 int* exteriorElementBoundaries,
1532 int* elementBoundaryElements,
1533 int* elementBoundaryLocalElementBoundaries,
1546 int nQuadraturePoints_elementBoundary,
1548 int* exteriorElementBoundaries,
1549 int* elementBoundaryElements,
1550 int* elementBoundaryLocalElementBoundaries,
1563 int nElementBoundaries_element,
1564 int nQuadraturePoints_elementBoundary,
1566 int* exteriorElementBoundaries,
1567 int* elementBoundaryElements,
1568 int* elementBoundaryLocalElementBoundaries,
1569 int* isDOFBoundary_p,
1570 int* isDOFBoundary_u,
1571 int* isDOFBoundary_v,
1589 double* dfluxpv_dp);
1591 int nElementBoundaries_element,
1592 int nQuadraturePoints_elementBoundary,
1594 int* exteriorElementBoundaries,
1595 int* elementBoundaryElements,
1596 int* elementBoundaryLocalElementBoundaries,
1597 int* isDOFBoundary_p,
1598 int* isDOFBoundary_u,
1599 int* isDOFBoundary_v,
1618 double* dflux_mass_du,
1619 double* dflux_mass_dv,
1620 double* dflux_umom_dp,
1621 double* dflux_umom_du,
1622 double* dflux_umom_dv,
1623 double* dflux_vmom_dp,
1624 double* dflux_vmom_du,
1625 double* dflux_vmom_dv);
1627 int nQuadraturePoints_elementBoundary,
1629 int* exteriorElementBoundaries,
1630 int* elementBoundaryElements,
1631 int* elementBoundaryLocalElementBoundaries,
1632 int* isDOFBoundary_p,
1633 int* isDOFBoundary_u,
1634 int* isDOFBoundary_v,
1656 double* dflux_mass_dp,
1657 double* dflux_mass_du,
1658 double* dflux_mass_dv,
1659 double* dflux_umom_dp,
1660 double* dflux_umom_du,
1661 double* dflux_umom_dv,
1662 double* dflux_vmom_dp,
1663 double* dflux_vmom_du,
1664 double* dflux_vmom_dv,
1667 int nQuadraturePoints_elementBoundary,
1669 int* exteriorElementBoundaries,
1670 int* elementBoundaryElements,
1671 int* elementBoundaryLocalElementBoundaries,
1672 int* isDOFBoundary_p,
1673 int* isDOFBoundary_u,
1674 int* isDOFBoundary_v,
1692 double* dfluxpv_dp);
1694 int nElementBoundaries_element,
1695 int nQuadraturePoints_elementBoundary,
1697 int* exteriorElementBoundaries,
1698 int* elementBoundaryElements,
1699 int* elementBoundaryLocalElementBoundaries,
1700 int* isDOFBoundary_p,
1701 int* isDOFBoundary_u,
1702 int* isDOFBoundary_v,
1703 int* isDOFBoundary_w,
1728 double* dfluxpw_dp);
1730 int nQuadraturePoints_elementBoundary,
1732 int* exteriorElementBoundaries,
1733 int* elementBoundaryElements,
1734 int* elementBoundaryLocalElementBoundaries,
1735 int* isDOFBoundary_p,
1736 int* isDOFBoundary_u,
1737 int* isDOFBoundary_v,
1738 int* isDOFBoundary_w,
1763 double* dfluxpw_dp);
1765 int nElementBoundaries_element,
1766 int nQuadraturePoints_elementBoundary,
1768 int* exteriorElementBoundaries,
1769 int* elementBoundaryElements,
1770 int* elementBoundaryLocalElementBoundaries,
1783 int nQuadraturePoints_elementBoundary,
1785 int* exteriorElementBoundaries,
1786 int* elementBoundaryElements,
1787 int* elementBoundaryLocalElementBoundaries,
1800 int nElementBoundaries_element,
1801 int nQuadraturePoints_elementBoundary,
1802 int nDOF_trial_element,
1803 int* exteriorElementBoundaries,
1804 int* elementBoundaryElements,
1805 int* elementBoundaryLocalElementBoundaries,
1809 double* fluxJacobian);
1811 int nQuadraturePoints_elementBoundary,
1812 int nDOF_trial_element,
1813 int* exteriorElementBoundaries,
1814 int* elementBoundaryElements,
1815 int* elementBoundaryLocalElementBoundaries,
1819 double* fluxJacobian);
1821 int nElementBoundaries_element,
1822 int nQuadraturePoints_elementBoundary,
1823 int nDOF_trial_element,
1824 int* exteriorElementBoundaries,
1825 int* elementBoundaryElements,
1826 int* elementBoundaryLocalElementBoundaries,
1830 double* fluxJacobian);
1832 int nQuadraturePoints_elementBoundary,
1833 int nDOF_trial_element,
1834 int* exteriorElementBoundaries,
1835 int* elementBoundaryElements,
1836 int* elementBoundaryLocalElementBoundaries,
1840 double* fluxJacobian);
1842 int nElementBoundaries_element,
1843 int nQuadraturePoints_elementBoundary,
1845 int* exteriorElementBoundaries,
1846 int* elementBoundaryElements,
1847 int* elementBoundaryLocalElementBoundaries,
1857 int nElementBoundaries_element,
1858 int nQuadraturePoints_elementBoundary,
1862 int* exteriorElementBoundaries,
1863 int* elementBoundaryElements,
1864 int* elementBoundaryLocalElementBoundaries,
1874 int nExteriorElementBoundaries_global,
1875 int nElementBoundaries_element,
1876 int nQuadraturePoints_elementBoundary,
1877 int nDOF_trial_element,
1879 int* exteriorElementBoundaries,
1880 int* elementBoundaryElements,
1881 int* elementBoundaryLocalElementBoundaries,
1891 double* fluxJacobian,
1892 double* fluxJacobian_eb);
1894 int nExteriorElementBoundaries_global,
1895 int nElementBoundaries_element,
1896 int nQuadraturePoints_elementBoundary,
1897 int nDOF_trial_element,
1901 int* exteriorElementBoundaries,
1902 int* elementBoundaryElements,
1903 int* elementBoundaryLocalElementBoundaries,
1913 double* fluxJacobian,
1914 double* fluxJacobian_eb);
1916 int nExteriorElementBoundaries_global,
1917 int nElementBoundaries_element,
1918 int nQuadraturePoints_elementBoundary,
1919 int nDOF_trial_element,
1921 int* exteriorElementBoundaries,
1922 int* elementBoundaryElements,
1923 int* elementBoundaryLocalElementBoundaries,
1933 double* fluxJacobian_exterior,
1934 double* fluxJacobian_eb);
1936 int nExteriorElementBoundaries_global,
1937 int nElementBoundaries_element,
1938 int nQuadraturePoints_elementBoundary,
1939 int nDOF_trial_element,
1943 int* exteriorElementBoundaries,
1944 int* elementBoundaryElements,
1945 int* elementBoundaryLocalElementBoundaries,
1955 double* fluxJacobian_exterior,
1956 double* fluxJacobian_eb);
1958 int nElementBoundaries_element,
1959 int nQuadraturePoints_elementBoundary,
1962 int* exteriorElementBoundaries,
1963 int* elementBoundaryElements,
1964 int* elementBoundaryLocalElementBoundaries,
1977 int nQuadraturePoints_elementBoundary,
1980 int* exteriorElementBoundaries,
1981 int* elementBoundaryElements,
1982 int* elementBoundaryLocalElementBoundaries,
1995 int nQuadraturePoints_elementBoundary,
1997 int* exteriorElementBoundaries,
1998 int* elementBoundaryElements,
1999 int* elementBoundaryLocalElementBoundaries,
2000 int* isDOFBoundary_sw,
2001 int* isDOFBoundary_psiw,
2007 double* bc_dfw_dpsiw,
2010 double* bc_dfn_dpsiw,
2021 double* dfluxw_dpsiw,
2024 double* dfluxn_dpsiw);
2026 int nQuadraturePoints_elementBoundary,
2028 const int* exteriorElementBoundaries,
2029 const int* elementBoundaryElements,
2030 const int* elementBoundaryLocalElementBoundaries,
2031 const int* isDOFBoundary_u,
2034 const double* bc_grad_phi,
2035 const double* bc_psi_w,
2036 const double* bc_psi_n,
2038 const double* grad_phi,
2039 const double* psi_w,
2040 const double* psi_n,
2041 const double* penalty,
2042 double* diffusiveFlux);
2044 int nQuadraturePoints_elementBoundary,
2048 const int* exteriorElementBoundaries,
2049 const int* elementBoundaryElements,
2050 const int* elementBoundaryLocalElementBoundaries,
2051 const int* isDOFBoundary_u,
2054 const double* bc_grad_phi,
2055 const double* bc_psi_w,
2056 const double* bc_psi_n,
2058 const double* grad_phi,
2059 const double* psi_w,
2060 const double* psi_n,
2061 const double* penalty,
2062 double* diffusiveFlux);
2064 double penalty_floor,
2065 int nExteriorElementBoundaries_global,
2066 int nQuadraturePoints_elementBoundary,
2067 int nDOF_trial_element,
2072 int* exteriorElementBoundaries,
2073 int* elementBoundaryElements,
2074 int* elementBoundaryLocalElementBoundaries,
2076 int* fluxBoundaryFlag,
2085 double* fluxJacobian);
2087 int nQuadraturePoints_elementBoundary,
2089 int* exteriorElementBoundaries,
2090 int* elementBoundaryElements,
2091 int* elementBoundaryLocalElementBoundaries,
2092 int *isDOFBoundary_p,
2093 int *isDOFBoundary_u,
2094 int *isDOFBoundary_v,
2105 double* dflux_mass_du,
2106 double* dflux_mass_dv,
2107 double* dflux_umom_dp,
2108 double* dflux_vmom_dp,
2111 int nInteriorElementBoundaries_global,
2112 int nElementBoundaries_element,
2113 int nQuadraturePoints_elementBoundary,
2114 int nQuadraturePoints_element,
2116 int* interiorElementBoundaries,
2117 int* elementBoundaryElements,
2118 int* elementBoundaryLocalElementBoundaries,
2126 double* dflux_right);
void updateExteriorNumericalDiffusiveFluxJacobian_free(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void calculateGlobalExteriorNumericalStressFlux(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_u, int *isDOFBoundary_v, int *isDOFBoundary_w, double *n, double *bc_u, double *bc_v, double *bc_w, double *sigma, double *u, double *v, double *w, double *penalty, double *stressFlux_u, double *stressFlux_v, double *stressFlux_w)
void updateInteriorNumericalDiffusiveFluxJacobian_LDG_upwind(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *dphi, double *V, double *DV, double *DV_eb, double *v, double *penalty, double *fluxJacobian, double *fluxJacobian_eb)
Update the advective flux at at interior element boundaries.
void calculateGlobalExteriorNumericalAdvectiveFlux_NoBC(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *inflowFlag, double *n, double *f, double *df, double *flux, double *dflux_left)
Update the advective flux at exterior element boundaries.
void calculateExteriorNumericalAdvectiveFluxRusanovWithEigenvalueBound(double safetyFactor, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *u, double *f, double *lambda_bar_element, double *flux)
void updateExteriorNumericalDiffusiveFluxJacobian(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
Update the diffusive flux Jacobian at exterior element boundary quadrature points.
void calculateGlobalExteriorNumericalAdvectiveFluxStokesP2D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, double *n, double *bc_f, double *bc_fpu, double *bc_fpv, double *f, double *fpu, double *fpv, double *df_du, double *df_dv, double *dfpu_dp, double *dfpv_dp, double *flux, double *fluxpu, double *fluxpv, double *dflux_du, double *dflux_dv, double *dfluxpu_dp, double *dfluxpv_dp)
Calculate the advective flux at at exterior element boundaries.
void updateGlobalExteriorNumericalDiffusiveFluxJacobian(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
Update the diffusive flux Jacobian at exterior element boundary quadrature points.
void calculateExteriorNumericalAdvectiveFluxStokesP2D(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, double *n, double *bc_f, double *bc_fpu, double *bc_fpv, double *f, double *fpu, double *fpv, double *df_du, double *df_dv, double *dfpu_dp, double *dfpv_dp, double *flux, double *fluxpu, double *fluxpv, double *dflux_du, double *dflux_dv, double *dfluxpu_dp, double *dfluxpv_dp)
Calculate the advective flux at at exterior element boundaries.
void calculateGlobalExteriorNumericalFluxDarcyFCPP_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr_ww, int *colind_ww, int *rowptr_nn, int *colind_nn, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *bc_a_ww, const double *bc_a_nn, const double *bc_grad_phi_w, const double *bc_grad_phi_n, const double *bc_psi_w, const double *bc_psi_c, const double *bc_psi_n, const double *a_ww, const double *a_nn, const double *grad_phi_w, const double *grad_phi_n, const double *psi_w, const double *psi_c, const double *psi_n, const double *penalty_w, const double *penalty_n, double *diffusiveFlux_ww, double *diffusiveFlux_nn)
void calculateGlobalExteriorNumericalDiffusiveFlux(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
Calculate the diffusive flux at exterior element boundary quadrature points.
void calculateGlobalExteriorNumericalFluxDarcyFC_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr_ww, int *colind_ww, int *rowptr_nn, int *colind_nn, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *bc_a_ww, const double *bc_a_nn, const double *bc_grad_phi_w, const double *bc_grad_phi_n, const double *bc_s_w, const double *bc_psi_w, const double *bc_psi_n, const double *a_ww, const double *a_nn, const double *grad_phi_w, const double *grad_phi_n, const double *s_w, const double *psi_w, const double *psi_n, const double *penalty_w, const double *penalty_n, double *diffusiveFlux_ww, double *diffusiveFlux_nn)
void calculateGlobalExteriorNumericalFluxDarcySplitPressure(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_u, const double *n, const double *bc_a, const double *bc_grad_phi, const double *bc_psi_w, const double *bc_psi_n, const double *a, const double *grad_phi, const double *psi_w, const double *psi_n, const double *penalty, double *diffusiveFlux)
void calculateGlobalExteriorNumericalFluxDarcyFC_diffusiveFluxJacobian_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, int *rowptr_ww, int *colind_ww, int *rowptr_nn, int *colind_nn, const int *l2g, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *a_ww, const double *da_ww_dw, const double *da_ww_dn, const double *a_nn, const double *da_nn_dw, const double *da_nn_dn, const double *grad_phi_w, const double *grad_phi_n, const double *dphi_w_w, const double *dphi_w_n, const double *dphi_n_w, const double *dphi_n_n, const double *s_w, const double *psi_w, const double *psi_n, const double *dpsi_n_dsw, const double *dpsi_n_dpsiw, const double *v, const double *grad_v, const double *penalty_w, const double *penalty_n, double *fluxJacobian_ww, double *fluxJacobian_wn, double *fluxJacobian_nw, double *fluxJacobian_nn)
void calculateExteriorNumericalDiffusiveFlux_free_sd(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
void updateGlobalExteriorNumericalDiffusiveFluxJacobian_sd(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void updateInteriorNumericalDiffusiveFluxJacobian_LDG_upwind_sd(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *dphi, double *V, double *DV, double *DV_eb, double *v, double *penalty, double *fluxJacobian, double *fluxJacobian_eb)
void calculateExteriorLesaintRaviartNumericalFlux(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int speedEvalFlag, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_H, double *bc_dH, double *u, double *H, double *dH, double *flux, double *dflux)
void updateGlobalExteriorNumericalDiffusiveFluxJacobian_free(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void calculateGlobalExteriorNumericalAdvectiveFlux(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *flux, double *dflux)
Calculate the advective flux at at exterior element boundaries.
void calculateExteriorNumericalDiffusiveFlux_LDG_upwind(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *a, double *phi_bc, double *phi, double *V, double *penalty, double *flux)
Calculate the advective flux at at interior element boundaries.
void calculateGlobalExteriorNumericalFluxDarcyFC(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *bc_a_ww, const double *bc_a_nn, const double *bc_grad_phi_w, const double *bc_grad_phi_n, const double *bc_s_w, const double *bc_psi_w, const double *bc_psi_n, const double *a_ww, const double *a_nn, const double *grad_phi_w, const double *grad_phi_n, const double *s_w, const double *psi_w, const double *psi_n, const double *penalty_w, const double *penalty_n, double *diffusiveFlux_ww, double *diffusiveFlux_nn)
void calculateGlobalExteriorNumericalDiffusiveFlux_LDG_upwind_sd(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *a, double *phi_bc, double *phi, double *V, double *penalty, double *flux)
void updateExteriorNumericalAdvectiveFluxJacobian_free(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *inflowFlag, double *dflux_left, double *v, double *fluxJacobian)
void calculateInteriorNumericalAdvectiveFluxConvexOneSonicPoint(double sonicPoint, double sonicFlux, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *f, double *df, double *flux, double *dflux_left, double *dflux_right)
Calculate the advective flux at at interior element boundaries for simple scalar nonlinear hyperbolic...
void updateExteriorNumericalStressFluxJacobian(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_u, int *isDOFBoundary_v, int *isDOFBoundary_w, int *isStressBoundary_u, int *isStressBoundary_v, int *isStressBoundary_w, double *n, double *dstress_u_u, double *dstress_u_v, double *dstress_u_w, double *dstress_v_u, double *dstress_v_v, double *dstress_v_w, double *dstress_w_u, double *dstress_w_v, double *dstress_w_w, double *v, double *grad_v, double *penalty, double *fluxJacobian_u_u, double *fluxJacobian_u_v, double *fluxJacobian_u_w, double *fluxJacobian_v_u, double *fluxJacobian_v_v, double *fluxJacobian_v_w, double *fluxJacobian_w_u, double *fluxJacobian_w_v, double *fluxJacobian_w_w)
void updateExteriorNumericalDiffusiveFluxJacobian_LDG_upwind(int *isDiffusiveFluxBoundary, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *dphi, double *V, double *DV, double *DV_eb, double *v, double *penalty, double *fluxJacobian, double *fluxJacobian_eb)
update the flux Jacobian with the advective flux contribution at at exterior element boundaries
double df(double C, double b, double a, int q, int r)
void calculateInteriorNumericalFluxShallowWater_2D(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, double h_eps, double tol_u, double g, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *h, double *hu, double *hv, double *flux_h, double *flux_hu, double *flux_hv)
void calculateGlobalExteriorNumericalFluxDarcyFCFF_diffusiveFluxJacobian(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, const int *l2g, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_um, const double *n, const double *f_m, const double *df_m_dw, const double *a_wm, const double *da_wm_dw, const double *da_wm_dm, const double *a_mw, const double *da_mw_dw, const double *da_mw_dm, const double *a_mm, const double *da_mm_dw, const double *da_mm_dm, const double *grad_phi_w, const double *grad_phi_m, const double *dphi_w_w, const double *dphi_w_m, const double *dphi_m_w, const double *dphi_m_m, const double *u_w, const double *u_m, const double *v, const double *grad_v, const double *penalty_w, const double *penalty_m, double *fluxJacobian_ww, double *fluxJacobian_wm, double *fluxJacobian_mw, double *fluxJacobian_mm)
void calculateExteriorNumericalDiffusiveFlux_free(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
void calculateInteriorNumericalAdvectiveFluxRusanov(double safetyFactor, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *f, double *df, double *df_element, double *flux, double *dflux_left, double *dflux_right)
void updateInteriorTwoSidedNumericalFluxJacobian(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *dflux_left, double *dflux_right, double *v, double *fluxJacobian_2sided)
Calculate the two-sided flux jacobian at at interior element boundaries.
void calculateGlobalExteriorNumericalAdvectiveFlux_DarcyFC(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_sw, int *isDOFBoundary_psiw, double *n, double *bc_sw, double *bc_psiw, double *bc_fw, double *bc_dfw_dsw, double *bc_dfw_dpsiw, double *bc_fn, double *bc_dfn_dsw, double *bc_dfn_dpsiw, double *sw, double *psiw, double *fw, double *dfw_dsw, double *dfw_dpsiw, double *fn, double *dfn_dsw, double *dfn_dpsiw, double *fluxw, double *dfluxw_dsw, double *dfluxw_dpsiw, double *fluxn, double *dfluxn_dsw, double *dfluxn_dpsiw)
Calculate the advective (gravity) flux at at exterior element boundaries for Darcy FC does not upwind...
void calculateInteriorNumericalFluxShallowWaterHLL_1D(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, double h_eps, double tol_u, double g, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *h, double *hu, double *flux_h, double *flux_hu)
void calculateGlobalExteriorInflowNumericalAdvectiveFlux(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *inflowFlag, double *inflowFlux, double *n, double *f, double *df, double *flux, double *dflux_left)
Update the advective flux at exterior inflow element boundaries.
void calculateGlobalExteriorNumericalAdvectiveFlux_free(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *flux, double *dflux)
void calculateGlobalExteriorNumericalFluxDarcyFCFF_diffusiveFluxJacobian_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, int *rowptr_wm, int *colind_wm, int *rowptr_mw, int *colind_mw, int *rowptr_mm, int *colind_mm, const int *l2g, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_um, const double *n, const double *f_m, const double *df_m_dw, const double *a_wm, const double *da_wm_dw, const double *da_wm_dm, const double *a_mw, const double *da_mw_dw, const double *da_mw_dm, const double *a_mm, const double *da_mm_dw, const double *da_mm_dm, const double *grad_phi_w, const double *grad_phi_m, const double *dphi_w_w, const double *dphi_w_m, const double *dphi_m_w, const double *dphi_m_m, const double *u_w, const double *u_m, const double *v, const double *grad_v, const double *penalty_w, const double *penalty_m, double *fluxJacobian_ww, double *fluxJacobian_wm, double *fluxJacobian_mw, double *fluxJacobian_mm)
void calculateExteriorNumericalAdvectiveFlux_NoBC(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *inflowFlag, double *n, double *f, double *df, double *flux, double *dflux_left)
Update the advective flux at exterior element boundaries.
void calculateExteriorNumericalFluxRichards_sd(int *rowptr, int *colind, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *isSeepageFace, int *isDOFBoundary, double *n, double *bc_u, double *K, double *grad_psi, double *u, double *K_rho_g, double *penalty, double *diffusiveFlux)
void calculateGlobalExteriorNumericalDiffusiveFlux_sd(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
void updateGlobalExteriorNumericalAdvectiveFluxJacobian(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *inflowFlag, double *dflux_left, double *v, double *fluxJacobian)
Calculate the advective flux at global exterior element boundaries.
void calculateGlobalExteriorNumericalAdvectiveFluxStokes2D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, double *n, double *bc_p, double *bc_f_mass, double *p, double *f_mass, double *df_mass_du, double *df_mass_dv, double *flux_mass, double *flux_umom, double *flux_vmom, double *dflux_mass_du, double *dflux_mass_dv, double *dflux_umom_dp, double *dflux_vmom_dp, double *velocity)
Apply basic pressure boundary penalty term for Stokes.
void calculateInteriorNumericalAdvectiveFluxRusanovWithEigenvalueBound(double safetyFactor, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *f, double *lambda_bar_element, double *flux)
void updateExteriorNumericalDiffusiveFluxJacobian_sd(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void updateGlobalExteriorNumericalDiffusiveFluxJacobian_LDG_upwind(int *isDiffusiveFluxBoundary, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *dphi, double *V, double *DV, double *DV_eb, double *v, double *penalty, double *fluxJacobian_exterior, double *fluxJacobian_eb)
update the flux Jacobian with the advective flux contribution at at exterior element boundaries
void calculateInteriorNumericalAdvectiveFlux(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *f, double *df, double *flux, double *dflux_left, double *dflux_right)
Calculate the advective flux at at interior element boundaries.
void updateGlobalExteriorNumericalDiffusiveFluxJacobian_free_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void updateGlobalExteriorNumericalDiffusiveFluxWithUpwindingJacobian_sd(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *fluxBoundaryFlag, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void calculateInteriorNumericalDiffusiveFlux_LDG_upwind(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *a, double *phi, double *V, double *penalty, double *flux)
Calculate the advective flux at at interior element boundaries.
void calculateInteriorNumericalDiffusiveFlux(int scale_penalty, double penalty_floor, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *grad_phi, double *u, double *penalty, double *flux)
Calculate the diffusive flux at interior element boundary quadrature points.
void calculateGlobalExteriorNumericalFluxDarcySplitPressure_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, const int *rowptr, const int *colind, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_u, const double *n, const double *bc_a, const double *bc_grad_phi, const double *bc_psi_w, const double *bc_psi_n, const double *a, const double *grad_phi, const double *psi_w, const double *psi_n, const double *penalty, double *diffusiveFlux)
void calculateGlobalExteriorNumericalFluxDarcyFCPP(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *bc_a_ww, const double *bc_a_nn, const double *bc_grad_phi_w, const double *bc_grad_phi_n, const double *bc_psi_w, const double *bc_psi_c, const double *bc_psi_n, const double *a_ww, const double *a_nn, const double *grad_phi_w, const double *grad_phi_n, const double *psi_w, const double *psi_c, const double *psi_n, const double *penalty_w, const double *penalty_n, double *diffusiveFlux_ww, double *diffusiveFlux_nn)
void calculateGlobalExteriorNumericalAdvectiveFluxRusanovWithEigenvalueBound(double safetyFactor, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *u, double *f, double *lambda_bar, double *flux)
void calculateGlobalExteriorNumericalAdvectiveFluxNavierStokes2D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, double *n, double *bc_p, double *bc_f_mass, double *bc_f_umom, double *bc_f_vmom, double *p, double *oneByRho, double *f_mass, double *f_umom, double *f_vmom, double *df_mass_du, double *df_mass_dv, double *df_umom_dp, double *df_umom_du, double *df_umom_dv, double *df_vmom_dp, double *df_vmom_du, double *df_vmom_dv, double *flux_mass, double *flux_umom, double *flux_vmom, double *dflux_mass_dp, double *dflux_mass_du, double *dflux_mass_dv, double *dflux_umom_dp, double *dflux_umom_du, double *dflux_umom_dv, double *dflux_vmom_dp, double *dflux_vmom_du, double *dflux_vmom_dv, double *velocity)
void calculateGlobalExteriorNumericalDiffusiveFlux_free(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
void calculateExteriorNumericalAdvectiveFluxNavierStokes2D(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, double *n, double *bc_p, double *bc_f_mass, double *bc_f_umom, double *bc_f_vmom, double *p, double *f_mass, double *f_umom, double *f_vmom, double *df_mass_du, double *df_mass_dv, double *df_umom_du, double *df_umom_dv, double *df_vmom_du, double *df_vmom_dv, double *flux_mass, double *flux_umom, double *flux_vmom, double *dflux_mass_du, double *dflux_mass_dv, double *dflux_umom_dp, double *dflux_umom_du, double *dflux_umom_dv, double *dflux_vmom_dp, double *dflux_vmom_du, double *dflux_vmom_dv)
void calculateGlobalExteriorNumericalAdvectiveFluxRusanov(double safetyFactor, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *df_element, double *flux, double *dflux)
void calculateGlobalExteriorNumericalFluxDarcyFCFF(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_um, const double *n, const double *bc_f_m, const double *bc_a_wm, const double *bc_a_mw, const double *bc_a_mm, const double *bc_grad_phi_w, const double *bc_grad_phi_m, const double *bc_u_w, const double *bc_u_m, const double *f_m, const double *df_m_dw, const double *a_wm, const double *a_mw, const double *a_mm, const double *grad_phi_w, const double *grad_phi_m, const double *u_w, const double *u_m, const double *penalty_w, const double *penalty_m, double *advectiveFlux_m, double *dadvectiveFlux_m_dw, double *diffusiveFlux_wm, double *diffusiveFlux_mw, double *diffusiveFlux_mm)
void calculateInteriorNumericalAdvectiveFlux_average(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *f, double *df, double *flux, double *dflux_left, double *dflux_right)
Calculate the advective flux at at interior element boundaries.
void updateInteriorNumericalDiffusiveFluxJacobian_sd(int scale_penalty, double penalty_floor, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void calculateGlobalExteriorNumericalAdvectiveFluxNavierStokes3D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, int *isDOFBoundary_w, double *n, double *bc_p, double *bc_f_mass, double *bc_f_umom, double *bc_f_vmom, double *bc_f_wmom, double *p, double *f_mass, double *f_umom, double *f_vmom, double *f_wmom, double *df_mass_du, double *df_mass_dv, double *df_mass_dw, double *df_umom_dp, double *df_umom_du, double *df_umom_dv, double *df_umom_dw, double *df_vmom_dp, double *df_vmom_du, double *df_vmom_dv, double *df_vmom_dw, double *df_wmom_dp, double *df_wmom_du, double *df_wmom_dv, double *df_wmom_dw, double *flux_mass, double *flux_umom, double *flux_vmom, double *flux_wmom, double *dflux_mass_du, double *dflux_mass_dv, double *dflux_mass_dw, double *dflux_umom_dp, double *dflux_umom_du, double *dflux_umom_dv, double *dflux_umom_dw, double *dflux_vmom_dp, double *dflux_vmom_du, double *dflux_vmom_dv, double *dflux_vmom_dw, double *dflux_wmom_dp, double *dflux_wmom_du, double *dflux_wmom_dv, double *dflux_wmom_dw, double *velocity)
void calculateExteriorNumericalDiffusiveFlux(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
Calculate the diffusive flux at exterior element boundary quadrature points.
void updateExteriorNumericalDiffusiveFluxJacobian_free_sd(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
void updateGlobalExteriorNumericalDiffusiveFluxJacobian_LDG_upwind_sd(int *isDiffusiveFluxBoundary, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *dphi, double *V, double *DV, double *DV_eb, double *v, double *penalty, double *fluxJacobian_exterior, double *fluxJacobian_eb)
void calculateGlobalExteriorNumericalFluxDarcyFCPP_diffusiveFluxJacobian(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, const int *l2g, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *a_ww, const double *da_ww_dw, const double *da_ww_dn, const double *a_nn, const double *da_nn_dw, const double *da_nn_dn, const double *grad_phi_w, const double *grad_phi_n, const double *dphi_w_w, const double *dphi_w_n, const double *dphi_n_w, const double *dphi_n_n, const double *psi_w, const double *psi_c, const double *psi_n, const double *dpsi_n_dpsiw, const double *dpsi_n_dpsic, const double *v, const double *grad_v, const double *penalty_w, const double *penalty_n, double *fluxJacobian_ww, double *fluxJacobian_wn, double *fluxJacobian_nw, double *fluxJacobian_nn)
void calculateGlobalExteriorLesaintRaviartNumericalFlux(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int speedEvalFlag, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_H, double *bc_dH, double *u, double *H, double *dH, double *flux, double *dflux)
void calculateExteriorNumericalFluxShallowWater_1D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, double h_eps, double tol_u, double g, double *n, double *h_lv, double *hu_lv, double *h_rv, double *hu_rv, double *flux_h, double *flux_hu)
void calculateInteriorLesaintRaviartNumericalFlux(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int speedEvalFlag, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *H, double *dH, double *flux, double *dflux_left, double *dflux_right)
void calculateExteriorNumericalAdvectiveFluxStokesP3D(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, int *isDOFBoundary_w, double *n, double *bc_f, double *bc_fpu, double *bc_fpv, double *bc_fpw, double *f, double *fpu, double *fpv, double *fpw, double *df_du, double *df_dv, double *df_dw, double *dfpu_dp, double *dfpv_dp, double *dfpw_dp, double *flux, double *fluxpu, double *fluxpv, double *fluxpw, double *dflux_du, double *dflux_dv, double *dflux_dw, double *dfluxpu_dp, double *dfluxpv_dp, double *dfluxpw_dp)
Calculate the advective flux at at exterior element boundaries.
void updateInteriorNumericalDiffusiveFluxJacobian(int scale_penalty, double penalty_floor, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *l2g, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *grad_phi, double *dphi, double *v, double *grad_v, double *penalty, double *fluxJacobian)
Calculate the diffusive flux Jacobian at interior element boundary quadrature points.
void calculateExteriorNumericalAdvectiveFlux_free(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *flux, double *dflux)
void calculateGlobalExteriorNumericalFluxDarcyFC_diffusiveFluxJacobian(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, const int *l2g, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *a_ww, const double *da_ww_dw, const double *da_ww_dn, const double *a_nn, const double *da_nn_dw, const double *da_nn_dn, const double *grad_phi_w, const double *grad_phi_n, const double *dphi_w_w, const double *dphi_w_n, const double *dphi_n_w, const double *dphi_n_n, const double *s_w, const double *psi_w, const double *psi_n, const double *dpsi_n_dsw, const double *dpsi_n_dpsiw, const double *v, const double *grad_v, const double *penalty_w, const double *penalty_n, double *fluxJacobian_ww, double *fluxJacobian_wn, double *fluxJacobian_nw, double *fluxJacobian_nn)
void calculateExteriorNumericalAdvectiveFlux_average(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *flux, double *dflux)
Calculate the advective flux at at exterior element boundaries.
void calculateInteriorNumericalDiffusiveFlux_LDG_upwind_sd(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *a, double *phi, double *V, double *penalty, double *flux)
void calculateInteriorNumericalDiffusiveFlux_sd(int scale_penalty, double penalty_floor, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *grad_phi, double *u, double *penalty, double *flux)
void calculateInteriorNumericalFluxShallowWater_1D(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, double h_eps, double tol_u, double g, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *h, double *hu, double *flux_h, double *flux_hu)
void calculateGlobalExteriorNumericalFluxDarcyFCFF_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr_wm, int *colind_wm, int *rowptr_mw, int *colind_mw, int *rowptr_mm, int *colind_mm, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_um, const double *n, const double *bc_f_m, const double *bc_a_wm, const double *bc_a_mw, const double *bc_a_mm, const double *bc_grad_phi_w, const double *bc_grad_phi_m, const double *bc_u_w, const double *bc_u_m, const double *f_m, const double *df_m_dw, const double *a_wm, const double *a_mw, const double *a_mm, const double *grad_phi_w, const double *grad_phi_m, const double *u_w, const double *u_m, const double *penalty_w, const double *penalty_m, double *advectiveFlux_m, double *dadvectiveFlux_m_dw, double *diffusiveFlux_wm, double *diffusiveFlux_mw, double *diffusiveFlux_mm)
void calculateExteriorNumericalDiffusiveFlux_LDG_upwind_sd(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *a, double *phi_bc, double *phi, double *V, double *penalty, double *flux)
void calculateExteriorNumericalAdvectiveFluxRusanov(double safetyFactor, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *df_element, double *flux, double *dflux)
void calculateDiffusionMatrixSplittings_LDG_sd(int aSplit, int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nQuadraturePoints_elementBoundary, int nSpace, const int *rowptr, const int *colind, const double *ebq_a, const double *q_a, double *eb_aHat, double *eb_aTilde, double *aHat, double *aTilde)
void calculateExteriorNumericalDiffusiveFlux_sd(int scale_penalty, double penalty_floor, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
void setInflowFlux(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int *exteriorElementBoundaries, double *inflowFlux, double *flux)
Set the advective flux boundary condition at exterior element boundaries from the current exterior fl...
void updateExteriorNumericalDiffusiveFluxJacobian_LDG_upwind_sd(int *isDiffusiveFluxBoundary, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *a, double *da, double *dphi, double *V, double *DV, double *DV_eb, double *v, double *penalty, double *fluxJacobian, double *fluxJacobian_eb)
void calculateGlobalExteriorNumericalDiffusiveFlux_LDG_upwind(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *a, double *phi_bc, double *phi, double *V, double *penalty, double *flux)
Calculate the advective flux at at global exterior element boundaries.
void calculateGlobalExteriorNumericalDiffusiveFlux_free_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, double *n, double *bc_a, double *bc_grad_phi, double *bc_u, double *a, double *grad_phi, double *u, double *penalty, double *flux)
void calculateExteriorNumericalAdvectiveFlux(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *flux, double *dflux)
Calculate the advective flux at at exterior element boundaries.
void calculateGlobalExteriorNumericalAdvectiveFluxStokes3D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, int *isDOFBoundary_w, double *n, double *bc_p, double *bc_f_mass, double *p, double *f_mass, double *df_mass_du, double *df_mass_dv, double *df_mass_dw, double *flux_mass, double *flux_umom, double *flux_vmom, double *flux_wmom, double *dflux_mass_du, double *dflux_mass_dv, double *dflux_mass_dw, double *dflux_umom_dp, double *dflux_vmom_dp, double *dflux_wmom_dp, double *velocity)
void calculateInteriorChengShuNumericalFlux(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int speedEvalFlag, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *u, double *H, double *dH, double *H_element, double *dH_element, double *flux, double *dflux_left, double *dflux_right)
void calculateGlobalExteriorNumericalFluxDarcyFCPP_diffusiveFluxJacobian_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, int *rowptr_ww, int *colind_ww, int *rowptr_nn, int *colind_nn, const int *l2g, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const int *isDOFBoundary_uw, const int *isDOFBoundary_un, int fluxBoundaryFlag_uw, int fluxBoundaryFlag_un, const double *n, const double *a_ww, const double *da_ww_dw, const double *da_ww_dn, const double *a_nn, const double *da_nn_dw, const double *da_nn_dn, const double *grad_phi_w, const double *grad_phi_n, const double *dphi_w_w, const double *dphi_w_n, const double *dphi_n_w, const double *dphi_n_n, const double *psi_w, const double *psi_c, const double *psi_n, const double *dpsi_n_dpsiw, const double *dpsi_n_dpsic, const double *v, const double *grad_v, const double *penalty_w, const double *penalty_n, double *fluxJacobian_ww, double *fluxJacobian_wn, double *fluxJacobian_nw, double *fluxJacobian_nn)
void calculateGlobalExteriorNumericalAdvectiveFluxStokesP3D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary_p, int *isDOFBoundary_u, int *isDOFBoundary_v, int *isDOFBoundary_w, double *n, double *bc_f, double *bc_fpu, double *bc_fpv, double *bc_fpw, double *f, double *fpu, double *fpv, double *fpw, double *df_du, double *df_dv, double *df_dw, double *dfpu_dp, double *dfpv_dp, double *dfpw_dp, double *flux, double *fluxpu, double *fluxpv, double *fluxpw, double *dflux_du, double *dflux_dv, double *dflux_dw, double *dfluxpu_dp, double *dfluxpv_dp, double *dfluxpw_dp)
Calculate the advective flux at at exterior element boundaries.
void updateExteriorNumericalAdvectiveFluxJacobian(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *inflowFlag, double *dflux_left, double *v, double *fluxJacobian)
Calculate the advective flux at exterior element boundaries.
void updateInteriorNumericalAdvectiveFluxJacobian(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *dflux_left, double *dflux_right, double *v, double *fluxJacobian)
Calculate the advective flux at at interior element boundaries.
void calculateExteriorNumericalFluxShallowWaterHLL_1D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, double h_eps, double tol_u, double g, double *n, double *h_lv, double *hu_lv, double *h_rv, double *hu_rv, double *flux_h, double *flux_hu)
void calculateGlobalExteriorNumericalAdvectiveFlux_average(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *isDOFBoundary, int *inflowFlag, double *n, double *bc_u, double *bc_f, double *bc_df, double *u, double *f, double *df, double *flux, double *dflux)
Calculate the advective flux at at exterior element boundaries.
void calculateExteriorNumericalFluxShallowWater_2D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, double h_eps, double tol_u, double g, double *n, double *h_lq, double *hu_lq, double *hv_lq, double *h_rq, double *hu_rq, double *hv_rq, double *flux_h, double *flux_hu, double *flux_hv)
void updateGlobalExteriorNumericalAdvectiveFluxJacobian_free(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *inflowFlag, double *dflux_left, double *v, double *fluxJacobian)
void calculateExteriorNumericalFluxJacobianRichards_sd(int *rowptr, int *colind, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nSpace, int *isDOFBoundary, double *n, double *bc_u, double *K, double *dK, double *grad_psi, double *grad_v, double *u, double *dK_rho_g, double *v, double *penalty, double *fluxJacobian)