proteus
1.8.1
C/C++/Fortran libraries
|
Go to the documentation of this file.
15 extern void parametricFiniteElementSpace_getHessianValues(
int nElements_global,
int nQuadraturePoints_element,
int nDOF_element,
int nSpace_global,
double *Hessian_psi,
double *inverseJacobianArray,
double *Hessian_vArray);
16 extern void updateDiffusion2_strong(
int nElements_global,
int nQuadraturePoints_element,
int nSpace,
double *a,
double *Hess_phi,
double *strong_residual);
17 extern void updateDiffusion2_strong_sd(
int nElements_global,
int nQuadraturePoints_element,
int nSpace,
int* rowptr,
int* colind,
double* a,
double* Hess_phi,
double* strong_residual);
18 extern void updateDiffusionJacobian2_strong(
int nElements_global,
int nQuadraturePoints_element,
int nDOF_trial_element,
int nSpace,
int *l2g,
double *a,
double *da,
double *
v,
double *Hess_phi,
double *dphi,
double *Hess_v,
double *dstrong_residual);
20 int nQuadraturePoints_element,
21 int nDOF_trial_element,
32 double* dstrong_residual);
33 extern void updateDiffusion2_adjoint(
int nElements_global,
int nQuadraturePoints_element,
int nDOF_test_element,
int nSpace,
double *a,
double *Hess_w_dV,
double *Lstar_w_dV);
34 void updateDiffusion2_adjoint_sd(
int nElements_global,
int nQuadraturePoints_element,
int nDOF_test_element,
int nSpace,
int* rowptr,
int* colind,
double* a,
double* Hess_w_dV,
double* Lstar_w_dV);
35 extern void calculateWeightedShapeHessians(
int nElements_global,
int nQuadraturePoints_element,
int nDOF_test_element,
int nSpace,
double *dVR,
double *abs_det_jac,
double *Hess_w,
double *Hess_w_dV);
36 extern void calculateFiniteElementFunctionHessianValues(
int nElements_global,
int nQuadraturePoints_element,
int nDOF_trial_element,
int nComponents,
int nSpace,
int *l2g,
double *dof,
double *Hessian_v,
double *Hessian_u);
37 extern void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_2sided_CSR(
int nInteriorElementBoundaries_global,
int nElementBoundaries_element,
int nQuadraturePoints_elementBoundary,
int nDOF_test_element,
int nDOF_trial_element,
int *interiorElementBoundaries,
int *elementBoundaryElements,
int *elementBoundaryLocalElementBoundaries,
int *nFreeDOF_element_r,
int *freeLocal_r,
int *nFreeDOF_element_u,
int *freeLocal_u,
int *csrRowIndeces_ru,
int *csrColumnOffsets_eb_ru,
double *elementBoundaryFluxJacobian_2sided,
double *w_dS,
double *jac);
38 extern void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_2sided_dense(
int nInteriorElementBoundaries_global,
int nElementBoundaries_element,
int nQuadraturePoints_elementBoundary,
int nDOF_test_element,
int nDOF_trial_element,
int offset_r,
int stride_r,
int offset_u,
int stride_u,
int nFreeVDOF_global,
int *interiorElementBoundaries,
int *elementBoundaryElements,
int *elementBoundaryLocalElementBoundaries,
int *nFreeDOF_element_r,
int *freeLocal_r,
int *freeGlobal_r,
int *nFreeDOF_element_u,
int *freeLocal_u,
int *freeGlobal_u,
double *elementBoundaryFluxJacobian_2sided,
double *w_dS,
double *jac);
39 extern void updateInteriorTwoSidedElementBoundaryFlux(
int nInteriorElementBoundaries_global,
int nElementBoundaries_element,
int nQuadraturePoints_elementBoundary,
int nDOF_test_element,
int *interiorElementBoundaries,
int *elementBoundaryElements,
int *elementBoundaryLocalElementBoundaries,
double *flux,
double *w_dS,
double *residual);
40 extern void calculateCFLADR2speeds(
int nElements_global,
int nQuadraturePoints_element,
int nSpace,
double *elementDiameter,
double *dm,
double *df1,
double *df2,
double *cfl);
41 extern int checkElementBoundaryAndExteriorElementBoundaryArraysSame(
int nElementBoundaries_element,
int nExteriorElementBoundaries_global,
int nQuadraturePoints_elementBoundary,
int nValuesPerQuadraturePoint,
double tolerance,
const int *exteriorElementBoundariesArray,
const int *elementBoundaryElementsArray,
const int *elementBoundaryLocalElementBoundariesArray,
const double *ebq_val,
const double *ebqe_val,
int *firstBadIndex);
42 extern int checkGlobalElementBoundaryAndExteriorElementBoundaryArraysSame(
int nExteriorElementBoundaries_global,
int nQuadraturePoints_elementBoundary,
int nValuesPerQuadraturePoint,
double tolerance,
const int *exteriorElementBoundariesArray,
const int *elementBoundaryElementsArray,
const int *elementBoundaryLocalElementBoundariesArray,
const double *ebq_global_val,
const double *ebqe_val,
int *firstBadIndex);
43 extern void calculateExteriorElementBoundaryStress3D(
int nExteriorElementBoundaries_global,
int nQuadraturePoints_elementBoundary,
int *elementBoundaryMaterialTypes,
int *exteriorElementBoundaries,
int *elementBoundaryElements,
int *elementBoundaryLocalElementBoundaries,
double *p,
double *mom_flux_vec_u,
double *mom_flux_vec_v,
double *mom_flux_vec_w,
double *dS,
double *
n,
double *F);
44 extern void calculateExteriorElementBoundaryStress2D(
int nExteriorElementBoundaries_global,
int nQuadraturePoints_elementBoundary,
int *elementBoundaryMaterialTypes,
int *exteriorElementBoundaries,
int *elementBoundaryElements,
int *elementBoundaryLocalElementBoundaries,
double *p,
double *mom_flux_vec_u,
double *mom_flux_vec_v,
double *dS,
double *
n,
double *F);
47 int nElementBoundaries_element,
48 int nElementBoundaryQuadraturePoints_elementBoundary,
50 int nExteriorElementBoundaries_global,
51 int nInteriorElementBoundaries_global,
52 int *elementBoundaryElementsArray,
53 int *elementBoundaryLocalElementBoundariesArray,
54 int *exteriorElementBoundariesArray,
55 int *interiorElementBoundariesArray,
63 int nQuadraturePoints_element,
70 int nElementBoundaries_element,
71 int nElementBoundaryQuadraturePoints_elementBoundary,
79 int nQuadraturePoints_element,
83 double *inverseJacobianArray,
88 int nElementBoundaries_element,
89 int nElementBoundaryQuadraturePoints_elementBoundary,
94 double *inverseJacobianArray,
99 int nElementBoundaries_element,
100 int nElementBoundaryQuadraturePoints_elementBoundary,
107 int nExteriorElementBoundaries_global,
108 const int * exteriorElementBoundariesArray,
109 const int * elementBoundaryElementsArray,
110 const int * elementBoundaryLocalElementBoundariesArray,
114 int nElementBoundaryQuadraturePoints_elementBoundary,
119 int nElements_global,
120 int nQuadraturePoints_element,
129 int nElements_global,
130 int nElementBoundaries_element,
131 int nQuadraturePoints_element,
140 int nElements_global,
141 int nQuadraturePoints_element,
144 double *inverseJacobian,
151 int nElements_global,
152 int nElementBoundaries_element,
153 int nElementBoundaryQuadraturePoints_elementBoundary,
156 double *inverseJacobian,
163 int nElements_global,
164 int nQuadraturePoints_element,
169 double *jacobianArray,
170 double *jacobianDeterminantArray,
171 double *jacobianInverseArray
174 int nElements_global,
175 int nQuadraturePoints_element,
180 double *jacobianArray,
181 double *jacobianDeterminantArray,
182 double *jacobianInverseArray
185 int nElements_global,
186 int nQuadraturePoints_element,
191 double *jacobianArray,
192 double *jacobianDeterminantArray,
193 double *jacobianInverseArray
196 int nElements_global,
197 int nElementBoundaries_element,
198 int nQuadraturePoints_element,
201 double *boundaryNormals,
202 double *boundaryJacobians,
205 double *jacobianInverseArray,
206 double *metricTensorArray,
207 double *metricTensorDeterminantSqrtArray,
208 double *unitNormalArray
211 int nElements_global,
212 int nElementBoundaries_element,
213 int nQuadraturePoints_element,
216 double *boundaryNormals,
217 double *boundaryJacobians,
220 double *jacobianInverseArray,
221 double *metricTensorArray,
222 double *metricTensorDeterminantSqrtArray,
223 double *unitNormalArray
226 int nElements_global,
227 int nElementBoundaries_element,
228 int nQuadraturePoints_element,
231 double *boundaryNormals,
232 double *boundaryJacobians,
235 double *jacobianInverseArray,
236 double *metricTensorArray,
237 double *metricTensorDeterminantSqrtArray,
238 double *unitNormalArray
241 int nElements_global,
242 int nQuadraturePoints_element,
243 int nDOF_test_element,
246 double *weak_residual
249 int nElements_global,
250 int nQuadraturePoints_element,
251 int nDOF_trial_element,
252 int nDOF_test_element,
255 double *jacobian_weak_residual
258 int nQuadraturePoints_element,
259 int nDOF_trial_element,
260 int nDOF_test_element,
264 double* jacobian_weak_residual);
266 int nElements_global,
267 int nQuadraturePoints_element,
269 double *strong_residual
272 int nElements_global,
273 int nQuadraturePoints_element,
274 int nDOF_trial_element,
277 double *dstrong_residual
280 int nElements_global,
281 int nQuadraturePoints_element,
282 int nDOF_test_element,
288 int nElements_global,
289 int nQuadraturePoints_element,
290 int nDOF_test_element,
294 double *weak_residual
297 int nElements_global,
298 int nQuadraturePoints_element,
299 int nDOF_trial_element,
300 int nDOF_test_element,
303 double *v_X_grad_w_dV,
304 double *jacobian_weak_residual
307 int nQuadraturePoints_element,
308 int nDOF_trial_element,
309 int nDOF_test_element,
314 double* jacobian_weak_residual);
316 int nElements_global,
317 int nQuadraturePoints_element,
321 double *strong_residual
324 int nElements_global,
325 int nQuadraturePoints_element,
326 int nDOF_trial_element,
330 double *dstrong_residual
333 int nElements_global,
334 int nQuadraturePoints_element,
335 int nDOF_test_element,
342 int nElements_global,
343 int nQuadraturePoints_element,
344 int nDOF_test_element,
347 double *weak_residual
350 int nElements_global,
351 int nQuadraturePoints_element,
352 int nDOF_trial_element,
353 int nDOF_test_element,
356 double *grad_v_X_w_dV,
357 double *jacobian_weak_residual
360 int nQuadraturePoints_element,
361 int nDOF_trial_element,
362 int nDOF_test_element,
367 double* jacobian_weak_residual);
369 int nElements_global,
370 int nQuadraturePoints_element,
374 double *strong_residual
377 int nElements_global,
378 int nQuadraturePoints_element,
379 int nDOF_trial_element,
383 double *dstrong_residual
386 int nElements_global,
387 int nQuadraturePoints_element,
388 int nDOF_test_element,
395 int nElements_global,
396 int nQuadraturePoints_element,
397 int nDOF_test_element,
400 double *grad_phi_X_grad_w_dV,
401 double *weak_residual
404 int nQuadraturePoints_element,
405 int nDOF_test_element,
410 double* weak_residual);
412 int nQuadraturePoints_element,
413 int nDOF_test_element,
420 double* weak_residual);
422 int nElements_global,
423 int nQuadraturePoints_element,
424 int nDOF_trial_element,
425 int nDOF_test_element,
430 double *grad_phi_X_grad_w_dV,
433 double *grad_v_X_grad_w_dV,
434 double *jacobian_weak_residual
437 int nQuadraturePoints_element,
438 int nDOF_trial_element,
439 int nDOF_test_element,
449 double* jacobian_weak_residual);
451 int nQuadraturePoints_element,
452 int nDOF_trial_element,
453 int nDOF_test_element,
465 double* jacobian_weak_residual);
467 int nElements_global,
468 int nQuadraturePoints_element,
473 double *strong_residual
476 int nQuadraturePoints_element,
483 double* strong_residual);
485 int nElements_global,
486 int nQuadraturePoints_element,
487 int nDOF_trial_element,
495 double *dstrong_residual
498 int nQuadraturePoints_element,
499 int nDOF_trial_element,
509 double* dstrong_residual);
511 int nElements_global,
512 int nQuadraturePoints_element,
513 int nDOF_test_element,
521 int nQuadraturePoints_element,
522 int nDOF_test_element,
531 int nElements_global,
532 int nQuadraturePoints_element,
533 int nDOF_test_element,
536 double *weak_residual
539 int nElements_global,
540 int nQuadraturePoints_element,
541 int nDOF_trial_element,
542 int nDOF_test_element,
545 double *jacobian_weak_residual
548 int nQuadraturePoints_element,
549 int nDOF_trial_element,
550 int nDOF_test_element,
554 double* jacobian_weak_residual);
556 int nElements_global,
557 int nQuadraturePoints_element,
559 double *strong_residual
562 int nElements_global,
563 int nQuadraturePoints_element,
564 int nDOF_trial_element,
567 double *dstrong_residual
570 int nElements_global,
571 int nQuadraturePoints_element,
572 int nDOF_test_element,
578 int nElements_global,
579 int nQuadraturePoints_element,
580 int nDOF_test_element,
583 double *weak_residual
586 int nElements_global,
587 int nQuadraturePoints_element,
588 int nDOF_trial_element,
589 int nDOF_test_element,
592 double *jacobian_weak_residual
595 int nElements_global,
596 int nQuadraturePoints_element,
597 int nDOF_test_element,
600 double *grad_u_X_grad_w_dV,
601 double *weak_residual
604 int nQuadraturePoints_element,
605 int nDOF_test_element,
610 double* weak_residual);
612 int nElements_global,
613 int nQuadraturePoints_element,
614 int nDOF_trial_element,
615 int nDOF_test_element,
618 double *grad_v_X_grad_w_dV,
619 double *jacobian_weak_residual
622 int nQuadraturePoints_element,
623 int nDOF_trial_element,
624 int nDOF_test_element,
629 double* jacobian_weak_residual);
631 int nElements_global,
632 int nQuadraturePoints_element,
638 int nElements_global,
639 int nQuadraturePoints_element,
646 int nElements_global,
647 int nQuadraturePoints_element,
654 int nInteriorElementBoundaries_global,
655 int nElementBoundaries_element,
656 int nQuadraturePoints_elementBoundary,
657 int nDOF_test_element,
658 int *interiorElementBoundaries,
659 int *elementBoundaryElements,
660 int *elementBoundaryLocalElementBoundaries,
666 int nExteriorElementBoundaries_global,
667 int nElementBoundaries_element,
668 int nQuadraturePoints_elementBoundary,
669 int nDOF_test_element,
670 int *exteriorElementBoundaries,
671 int *elementBoundaryElements,
672 int *elementBoundaryLocalElementBoundaries,
678 int nElements_global,
679 int nDOF_test_element,
682 int *nFreeDOF_element_r,
685 double *elementResidual,
686 double *globalResidual
689 int nElements_global,
690 int nDOF_test_element,
691 int nDOF_trial_element,
696 int nFreeVDOF_global,
697 int *nFreeDOF_element_r,
700 int *nFreeDOF_element_u,
703 double *elementJacobian,
704 double *globalJacobian
707 int *elementNeighbors,
708 int nElements_global,
709 int nElementBoundaries_element,
710 int nDOF_test_element,
711 int nDOF_trial_element,
716 int nFreeVDOF_global,
717 int *nFreeDOF_element_r,
720 int *nFreeDOF_element_u,
723 double *elementJacobian_eb,
724 double *globalJacobian
727 int nInteriorElementBoundaries_global,
728 int nElementBoundaries_element,
729 int nQuadraturePoints_elementBoundary,
730 int nDOF_test_element,
731 int nDOF_trial_element,
736 int nFreeVDOF_global,
737 int *interiorElementBoundaries,
738 int *elementBoundaryElements,
739 int *elementBoundaryLocalElementBoundaries,
740 int *nFreeDOF_element_r,
743 int *nFreeDOF_element_u,
746 double *elementBoundaryFluxJacobian,
752 int *elementNeighbors,
753 int nElements_global,
754 int nInteriorElementBoundaries_global,
755 int nElementBoundaries_element,
756 int nQuadraturePoints_elementBoundary,
757 int nDOF_test_element,
758 int nDOF_trial_element,
763 int nFreeVDOF_global,
764 int *interiorElementBoundaries,
765 int *elementBoundaryElements,
766 int *elementBoundaryLocalElementBoundaries,
767 int *nFreeDOF_element_r,
770 int *nFreeDOF_element_u,
773 double *elementBoundaryFluxJacobian_eb,
778 int nExteriorElementBoundaries_global,
779 int nElementBoundaries_element,
780 int nQuadraturePoints_elementBoundary,
781 int nDOF_test_element,
782 int nDOF_trial_element,
787 int nFreeVDOF_global,
788 int *exteriorElementBoundaries,
789 int *elementBoundaryElements,
790 int *elementBoundaryLocalElementBoundaries,
791 int *nFreeDOF_element_r,
794 int *nFreeDOF_element_u,
797 double *elementBoundaryFluxJacobian,
803 int *elementNeighbors,
804 int nElements_global,
805 int nExteriorElementBoundaries_global,
806 int nElementBoundaries_element,
807 int nQuadraturePoints_elementBoundary,
808 int nDOF_test_element,
809 int nDOF_trial_element,
814 int nFreeVDOF_global,
815 int *exteriorElementBoundaries,
816 int *elementBoundaryElements,
817 int *elementBoundaryLocalElementBoundaries,
818 int *nFreeDOF_element_r,
821 int *nFreeDOF_element_u,
824 double *elementBoundaryFluxJacobian_eb,
829 int nElements_global,
830 int nDOF_test_element,
831 int nDOF_trial_element,
832 int *nFreeDOF_element_r,
834 int *nFreeDOF_element_u,
836 int *csrRowIndeces_ru,
837 int *csrColumnOffsets_ru,
838 double *elementJacobian,
839 double *globalJacobian
842 int *elementNeighbors,
843 int nElements_global,
844 int nElementBoundaries_element,
845 int nDOF_test_element,
846 int nDOF_trial_element,
847 int *nFreeDOF_element_r,
849 int *nFreeDOF_element_u,
851 int *csrRowIndeces_ru,
852 int *csrColumnOffsets_eb_ru,
853 double *elementJacobian_eb,
854 double *globalJacobian
857 int nInteriorElementBoundaries_global,
858 int nElementBoundaries_element,
859 int nQuadraturePoints_elementBoundary,
860 int nDOF_test_element,
861 int nDOF_trial_element,
862 int *interiorElementBoundaries,
863 int *elementBoundaryElements,
864 int *elementBoundaryLocalElementBoundaries,
865 int *nFreeDOF_element_r,
867 int *nFreeDOF_element_u,
869 int *csrRowIndeces_ru,
870 int *csrColumnOffsets_eb_ru,
871 double *elementBoundaryFluxJacobian,
876 int nExteriorElementBoundaries_global,
877 int nElementBoundaries_element,
878 int nQuadraturePoints_elementBoundary,
879 int nDOF_test_element,
880 int nDOF_trial_element,
881 int *exteriorElementBoundaries,
882 int *elementBoundaryElements,
883 int *elementBoundaryLocalElementBoundaries,
884 int *nFreeDOF_element_r,
886 int *nFreeDOF_element_u,
888 int *csrRowIndeces_ru,
889 int *csrColumnOffsets_eb_ru,
890 double *elementBoundaryFluxJacobian,
895 int *elementNeighbors,
896 int nInteriorElementBoundaries_global,
897 int nElementBoundaries_element,
898 int nQuadraturePoints_elementBoundary,
899 int nDOF_test_element,
900 int nDOF_trial_element,
901 int *interiorElementBoundaries,
902 int *elementBoundaryElements,
903 int *elementBoundaryLocalElementBoundaries,
904 int *nFreeDOF_element_r,
906 int *nFreeDOF_element_u,
908 int *csrRowIndeces_ru,
909 int *csrColumnOffsets_eb_eNebN_ru,
910 double *elementBoundaryFluxJacobian_eb,
915 int *elementNeighbors,
916 int nExteriorElementBoundaries_global,
917 int nElementBoundaries_element,
918 int nQuadraturePoints_elementBoundary,
919 int nDOF_test_element,
920 int nDOF_trial_element,
921 int *exteriorElementBoundaries,
922 int *elementBoundaryElements,
923 int *elementBoundaryLocalElementBoundaries,
924 int *nFreeDOF_element_r,
926 int *nFreeDOF_element_u,
928 int *csrRowIndeces_ru,
929 int *csrColumnOffsets_eb_eNebN_ru,
930 double *elementBoundaryFluxJacobian_eb,
935 int nElements_global,
936 int nQuadraturePoints_element,
937 int nDOF_test_element,
944 int nElements_global,
945 int nQuadraturePoints_element,
946 int nDOF_test_element,
954 int nElements_global,
955 int nQuadraturePoints_element,
956 int nDOF_trial_element,
957 int nDOF_test_element,
963 int nElements_global,
964 int nQuadraturePoints_element,
965 int nDOF_trial_element,
966 int nDOF_test_element,
970 double *v_X_grad_w_dV
973 int nElements_global,
974 int nQuadraturePoints_element,
975 int nDOF_trial_element,
976 int nDOF_test_element,
980 double *grad_v_X_w_dV
983 int nElements_global,
984 int nQuadraturePoints_element,
985 int nDOF_trial_element,
986 int nDOF_test_element,
990 double *grad_v_X_grad_w_dV
993 int nElements_global,
994 int nElementBoundaries_element,
995 int nElementBoundaryQuadraturePoints_elementBoundary,
996 int nDOF_test_element,
1003 int nElements_global,
1004 int nElementBoundaries_element,
1005 int nElementBoundaryQuadraturePoints_elementBoundary,
1006 int nDOF_trial_element,
1007 int nDOF_test_element,
1013 int nElements_global,
1014 int nElementBoundaries_element,
1015 int nElementBoundaryQuadraturePoints_elementBoundary,
1016 int nDOF_trial_element,
1017 int nDOF_test_element,
1021 double *grad_v_X_w_dS
1024 int nElements_global,
1025 int nQuadraturePoints_element,
1027 double *referenceWeights,
1031 int nElements_global,
1032 int nElementBoundaries_element,
1033 int nQuadraturePoints_elementBoundary,
1035 double *referenceWeights,
1039 int nElements_global,
1040 int nQuadraturePoints_element,
1041 int nDOF_trial_element,
1049 int nElements_global,
1050 int nQuadraturePoints_element,
1051 int nDOF_trial_element,
1060 int nElements_global,
1061 int nQuadraturePoints_element,
1062 int nDOF_trial_element,
1063 int nDOF_test_element,
1068 double *grad_v_X_grad_w_dV,
1069 double *grad_u_X_grad_w_dV
1072 int nElements_global,
1073 int nElementBoundaries_element,
1074 int nQuadraturePoints_elementBoundary,
1075 int nDOF_trial_element,
1083 int nElements_global,
1084 int nElementBoundaries_element,
1085 int nQuadraturePoints_elementBoundary,
1086 int nDOF_trial_element,
1095 int nElements_global,
1096 int nQuadraturePoints_element,
1113 int nExteriorElementBoundaries_global,
1114 int nQuadraturePoints_elementBoundary,
1115 int *exteriorElementBoundaries,
1120 int nInteriorElementBoundaries_global,
1121 int nElementBoundaries_element,
1122 int nQuadraturePoints_elementBoundary,
1124 int *interiorElementBoundaries,
1125 int *elementBoundaryElements,
1126 int *elementBoundaryLocalElementBoundaries,
1137 int nExteriorElementBoundaries_global,
1138 int nElementBoundaries_element,
1139 int nQuadraturePoints_elementBoundary,
1141 int *exteriorElementBoundaries,
1142 int *elementBoundaryElements,
1143 int *elementBoundaryLocalElementBoundaries,
1154 int nElements_global,
1155 int nInteriorElementBoundaries_global,
1156 int nExteriorElementBoundaries_global,
1157 int nElementBoundaries_element,
1158 int nQuadraturePoints_elementBoundary,
1161 int *interiorElementBoundaries,
1162 int *exteriorElementBoundaries,
1163 int *elementBoundaryElements,
1164 int *elementBoundaryLocalElementBoundaries,
1166 int *nodeStarElements,
1167 int *nodeStarElementNeighbors,
1168 int *nodeStarOffsets,
1169 int *nElements_node,
1170 double *elementResidual,
1176 double *conservationResidual,
1178 double *vConservative,
1179 double *vConservative_element
1183 int nNodes_internal,
1184 int nElements_global,
1185 int nInteriorElementBoundaries_global,
1186 int nExteriorElementBoundaries_global,
1187 int nElementBoundaries_element,
1188 int nQuadraturePoints_elementBoundary,
1191 int *interiorElementBoundaries,
1192 int *exteriorElementBoundaries,
1193 int *elementBoundaryElements,
1194 int *elementBoundaryLocalElementBoundaries,
1196 int *nodeStarElements,
1197 int *nodeStarElementNeighbors,
1198 int *nodeStarOffsets,
1199 int *nodeStarJacobianOffsets,
1200 int *nElements_node,
1204 double *starJacobian
1208 int nNodes_internal,
1209 int *nElements_node,
1210 int *nodeStarOffsets,
1211 int *nodeStarJacobianOffsets,
1218 int updateFluxValues,
1219 int nExteriorElementBoundaries_global,
1220 int nQuadraturePoints_elementBoundary,
1222 int *exteriorElementBoundaries,
1223 int *elementBoundaryElements,
1224 int *elementBoundaryLocalElementBoundaries,
1230 int nElements_global,
1231 int nQuadraturePoints_element,
1233 int computeDiffusiveTimeStepLimit,
1234 double *elementDiameter,
1244 int nElements_global,
1245 int nQuadraturePoints_element,
1247 double *elementDiameter,
1253 int nInteriorElementBoundaries_global,
1254 int nElementBoundaries_element,
1255 int nQuadraturePoints_elementBoundary,
1257 int *interiorElementBoundaries,
1258 int *elementBoundaryElements,
1259 int *elementBoundaryLocalElementBoundaries,
1265 int nElementBoundaries_element,
1266 int nQuadraturePoints_elementBoundary,
1270 int* interiorElementBoundaries,
1271 int* elementBoundaryElements,
1272 int* elementBoundaryLocalElementBoundaries,
1277 int nExteriorElementBoundaries_global,
1278 int nElementBoundaries_element,
1279 int nQuadraturePoints_elementBoundary,
1281 int *exteriorElementBoundaries,
1282 int *elementBoundaryElements,
1283 int *elementBoundaryLocalElementBoundaries,
1289 int nElementBoundaries_element,
1290 int nQuadraturePoints_elementBoundary,
1294 int* exteriorElementBoundaries,
1295 int* elementBoundaryElements,
1296 int* elementBoundaryLocalElementBoundaries,
1301 int nInteriorElementBoundaries_global,
1302 int nElementBoundaries_element,
1303 int nQuadraturePoints_elementBoundary,
1305 int *interiorElementBoundaries,
1306 int *elementBoundaryElements,
1307 int *elementBoundaryLocalElementBoundaries,
1312 int nExteriorElementBoundaries_global,
1313 int nElementBoundaries_element,
1314 int nQuadraturePoints_elementBoundary,
1316 int *exteriorElementBoundaries,
1317 int *elementBoundaryElements,
1318 int *elementBoundaryLocalElementBoundaries,
1323 int nInteriorElementBoundaries_global,
1324 int nElementBoundaries_element,
1325 int nQuadraturePoints_elementBoundary,
1326 int nQuadraturePoints_element,
1328 int *interiorElementBoundaries,
1329 int *elementBoundaryElements,
1330 int *elementBoundaryLocalElementBoundaries,
1336 int nExteriorElementBoundaries_global,
1337 int nElementBoundaries_element,
1338 int nQuadraturePoints_elementBoundary,
1339 int nQuadraturePoints_element,
1341 int *exteriorElementBoundaries,
1342 int *elementBoundaryElements,
1343 int *elementBoundaryLocalElementBoundaries,
1349 int nInteriorElementBoundaries_global,
1350 int nElementBoundaries_element,
1351 int nQuadraturePoints_elementBoundary,
1353 int *interiorElementBoundaries,
1354 int *elementBoundaryElements,
1355 int *elementBoundaryLocalElementBoundaries,
1360 int nExteriorElementBoundaries_global,
1361 int nElementBoundaries_element,
1362 int nQuadraturePoints_elementBoundary,
1364 int *exteriorElementBoundaries,
1365 int *elementBoundaryElements,
1366 int *elementBoundaryLocalElementBoundaries,
1371 int nElements_global,
1372 int nDOF_test_element,
1373 double *elementResidual,
1374 double *conservationResidual
1377 int nElements_global,
1378 int nDOF_test_element,
1379 int nElementBoundaries_element,
1380 int nQuadraturePoints_elementBoundary,
1384 double *elementResidual,
1386 double *conservationResidual
1389 int nElements_global,
1390 int nInteriorElementBoundaries_global,
1391 int nExteriorElementBoundaries_global,
1392 int nElementBoundaries_element,
1393 int nQuadraturePoints_elementBoundary,
1396 int *interiorElementBoundaries,
1397 int *exteriorElementBoundaries,
1398 int *elementBoundaryElements,
1399 int *elementBoundaryLocalElementBoundaries,
1402 double *elementResidual,
1404 double *conservationResidual
1407 int nElements_global,
1408 int nInteriorElementBoundaries_global,
1409 int nExteriorElementBoundaries_global,
1410 int nElementBoundaries_global,
1411 int nElementBoundaries_element,
1412 int nQuadraturePoints_elementBoundary,
1414 int *interiorElementBoundaries,
1415 int *exteriorElementBoundaries,
1416 int *elementBoundaryElementsArray,
1417 int *elementBoundaryLocalElementBoundariesArray,
1418 double *velocityBoundary_global,
1419 double *velocityBoundary_element
1422 int nExteriorElementBoundaries_global,
1423 int nQuadraturePoints_elementBoundary,
1425 int *exteriorElementBoundaries,
1426 int *fluxElementBoundaries,
1433 int nInteriorElementBoundaries_global,
1434 int nElementBoundaries_element,
1435 int nQuadraturePoints_elementBoundary,
1436 int *interiorElementBoundaries,
1437 int *elementBoundaryElements,
1438 int *elementBoundaryLocalElementBoundaries,
1442 double *dphi_trace_left,
1443 double *dphi_trace_right
1447 int nExteriorElementBoundaries_global,
1448 int nElementBoundaries_element,
1449 int nQuadraturePoints_elementBoundary,
1450 int *exteriorElementBoundaries,
1451 int *elementBoundaryElements,
1452 int *elementBoundaryLocalElementBoundaries,
1457 double *dphi_trace_left
1460 int nInteriorElementBoundaries_global,
1461 int nElementBoundaries_element,
1462 int nQuadraturePoints_elementBoundary,
1463 int nDOF_test_element,
1465 int *interiorElementBoundaries,
1466 int *elementBoundaryElements,
1467 int *elementBoundaryLocalElementBoundaries,
1474 int nInteriorElementBoundaries_global,
1475 int nElementBoundaries_element,
1476 int nQuadraturePoints_elementBoundary,
1477 int nDOF_test_element,
1479 int *interiorElementBoundaries,
1480 int *elementBoundaryElements,
1481 int *elementBoundaryLocalElementBoundaries,
1483 double *dphi_trace_left,
1484 double *dphi_trace_right,
1491 int nExteriorElementBoundaries_global,
1492 int nElementBoundaries_element,
1493 int nQuadraturePoints_elementBoundary,
1494 int nDOF_test_element,
1496 int *exteriorElementBoundaries,
1497 int *elementBoundaryElements,
1498 int *elementBoundaryLocalElementBoundaries,
1505 int nExteriorElementBoundaries_global,
1506 int nElementBoundaries_element,
1507 int nQuadraturePoints_elementBoundary,
1508 int nDOF_test_element,
1510 int *exteriorElementBoundaries,
1511 int *elementBoundaryElements,
1512 int *elementBoundaryLocalElementBoundaries,
1514 double *dphi_trace_left,
1521 int nElements_global,
1522 int nQuadraturePoints_element,
1523 int nDOF_test_element,
1530 int nElements_global,
1531 int nQuadraturePoints_element,
1532 int nDOF_test_element,
1540 int nElements_global,
1541 int nElementBoundaries_element,
1542 int nElementBoundaryQuadraturePoints_elementBoundary,
1545 int nQuadraturePoints_element,
1554 int nElements_global,
1555 int nElementBoundaries_element,
1556 int nElementBoundaryQuadraturePoints_elementBoundary,
1559 int nQuadraturePoints_element,
1571 int nElements_global,
1572 int nQuadraturePoints_element,
1578 int nElements_global,
1579 int nQuadraturePoints_element,
1580 int nDOF_test_element,
1585 double *weak_residual
1588 int nElements_global,
1589 int nElementBoundaries_element,
1590 int nQuadraturePoints_element,
1591 int nDOF_trial_element,
1592 int nDOF_test_element,
1601 double *jacobian_weak_residual,
1602 double *jacobian_weak_residual_eb
1605 int nElements_global,
1606 int nQuadraturePoints_element,
1610 double *elementSpatialResidual,
1614 int nQuadraturePoints_element,
1618 double* elementSpatialResidual,
1621 int nQuadraturePoints_element,
1623 double* nValueArray);
1625 int nQuadraturePoints_element,
1627 double* nValueArray);
1629 int nQuadraturePoints_element,
1631 double* elementDiameter,
1633 double* nValueArray);
1635 int nElementBoundaries_owned,
1636 int nQuadraturePoints_elementBoundary,
1638 int* exteriorElementBoundariesArray,
1640 double* nValueArray);
1643 int nElementBoundaries_owned,
1644 int nQuadraturePoints_elementBoundary,
1647 int* exteriorElementBoundaries,
1649 double* nValueArray,
1653 int nElements_global,
1654 int nElementBoundaries_element,
1655 int nQuadraturePoints_elementBoundary,
1656 int nValuesPerQuadraturePoint,
1657 const int * exteriorElementBoundaries,
1658 const int* elementBoundaryElements,
1659 const int * elementBoundaryLocalElementBoundaries,
1660 const double * ebq_val,
1665 int nElements_global,
1666 int nElementBoundaries_element,
1667 int nQuadraturePoints_elementBoundary,
1668 int nValuesPerQuadraturePoint,
1669 const int * exteriorElementBoundaries,
1670 const int* elementBoundaryElements,
1671 const int * elementBoundaryLocalElementBoundaries,
1672 const double * ebqe_val,
1677 int nQuadraturePoints_elementBoundary,
1678 int nValuesPerQuadraturePoint,
1679 const int * exteriorElementBoundaries,
1680 const int* elementBoundaryElements,
1681 const int * elementBoundaryLocalElementBoundaries,
1682 const double * ebqe_val,
1683 double * ebq_global_val);
1689 int nQuadraturePoints_elementBoundary,
1690 int nValuesPerQuadraturePoint,
1691 const int * exteriorElementBoundaries,
1692 const int* elementBoundaryElements,
1693 const int * elementBoundaryLocalElementBoundaries,
1694 const double * ebq_global_val,
1706 const int* elementNodesArray,
1707 const int* nodeElementOffsets,
1708 const int* nodeElementsArray,
1711 double* nodalAverage);
1719 const int* elementNodesArray,
1720 const int* nodeElementOffsets,
1721 const int* nodeElementsArray,
1724 double* nodalAverage);
1732 const int* elementNodesArray,
1733 const int* nodeElementOffsets,
1734 const int* nodeElementsArray,
1737 double* nodalAverage);
1744 int nElementBoundaryQuadraturePoints_elementBoundary,
1746 int nExteriorElementBoundaries_global,
1747 const int* exteriorElementBoundariesArray,
1748 const int* elementBoundaryElementsArray,
1749 const int* elementBoundaryLocalElementBoundariesArray,
1756 int nElementBoundaryQuadraturePoints_elementBoundary,
1759 int nExteriorElementBoundaries_global,
1760 const int *exteriorElementBoundariesArray,
1761 const int *elementBoundaryElementsArray,
1762 const int *elementBoundaryLocalElementBoundariesArray,
1764 double* inverseJacobianArray,
1765 double* grad_vArray);
1772 int nExteriorElementBoundaries_global,
1773 const int* exteriorElementBoundariesArray,
1774 const int* elementBoundaryElementsArray,
1775 const int* elementBoundaryLocalElementBoundariesArray,
1786 int nExteriorElementBoundaries_global,
1787 const int* exteriorElementBoundariesArray,
1788 const int* elementBoundaryElementsArray,
1789 const int* elementBoundaryLocalElementBoundariesArray,
1790 double* inverseJacobian,
1801 int nExteriorElementBoundaries_global,
1802 const int * exteriorElementBoundariesArray,
1803 const int * elementBoundaryElementsArray,
1804 const int * elementBoundaryLocalElementBoundariesArray,
1806 double* boundaryNormals,
1807 double* boundaryJacobians,
1810 double* jacobianInverseArray,
1811 double* metricTensorArray,
1812 double* metricTensorDeterminantSqrtArray,
1813 double* unitNormalArray);
1822 int nExteriorElementBoundaries_global,
1823 const int * exteriorElementBoundariesArray,
1824 const int * elementBoundaryElementsArray,
1825 const int * elementBoundaryLocalElementBoundariesArray,
1827 double* boundaryNormals,
1828 double* boundaryJacobians,
1831 double* jacobianInverseArray,
1832 double* metricTensorArray,
1833 double* metricTensorDeterminantSqrtArray,
1834 double* unitNormalArray);
1838 int nExteriorElementBoundaries_global,
1839 const int * exteriorElementBoundariesArray,
1840 const int * elementBoundaryElementsArray,
1841 const int * elementBoundaryLocalElementBoundariesArray,
1844 double* boundaryNormals,
1845 double* boundaryJacobians,
1848 double* jacobianInverseArray,
1849 double* metricTensorArray,
1850 double* metricTensorDeterminantSqrtArray,
1851 double* unitNormalArray);
1855 int nExteriorElementBoundaries_global,
1856 const int * exteriorElementBoundariesArray,
1857 const int * elementBoundaryElementsArray,
1858 const int * elementBoundaryLocalElementBoundariesArray,
1860 double* boundaryNormals,
1861 double* boundaryJacobians,
1864 double* jacobianInverseArray,
1865 double* metricTensorArray,
1866 double* metricTensorDeterminantSqrtArray,
1867 double* unitNormalArray);
1872 int nQuadraturePoints_elementBoundary,
1873 int nDOF_test_element,
1874 int* exteriorElementBoundaries,
1875 int* elementBoundaryElements,
1876 int* elementBoundaryLocalElementBoundaries,
1885 int nElements_global,
1886 int nExteriorElementBoundaries_global,
1887 int nElementBoundaries_element,
1888 int nQuadraturePoints_elementBoundary,
1889 int nDOF_test_element,
1890 int nDOF_trial_element,
1895 int nFreeVDOF_global,
1896 int* exteriorElementBoundaries,
1897 int* elementBoundaryElements,
1898 int* elementBoundaryLocalElementBoundaries,
1899 int* nFreeDOF_element_r,
1902 int* nFreeDOF_element_u,
1905 double* elementBoundaryFluxJacobian_eb,
1911 int nQuadraturePoints_elementBoundary,
1912 int nDOF_test_element,
1913 int nDOF_trial_element,
1918 int nFreeVDOF_global,
1919 int* exteriorElementBoundaries,
1920 int* elementBoundaryElements,
1921 int* elementBoundaryLocalElementBoundaries,
1922 int* nFreeDOF_element_r,
1925 int* nFreeDOF_element_u,
1928 double* elementBoundaryFluxJacobian,
1934 int nQuadraturePoints_elementBoundary,
1935 int nDOF_test_element,
1936 int nDOF_trial_element,
1937 int* exteriorElementBoundaries,
1938 int* elementBoundaryElements,
1939 int* elementBoundaryLocalElementBoundaries,
1940 int* nFreeDOF_element_r,
1942 int* nFreeDOF_element_u,
1944 int* csrRowIndeces_ru,
1945 int* csrColumnOffsets_eb_ru,
1946 double* elementBoundaryFluxJacobian,
1954 int nExteriorElementBoundaries_global,
1955 int nElementBoundaries_element,
1956 int nQuadraturePoints_elementBoundary,
1957 int nDOF_test_element,
1958 int nDOF_trial_element,
1959 int* exteriorElementBoundaries,
1960 int* elementBoundaryElements,
1961 int* elementBoundaryLocalElementBoundaries,
1962 int* nFreeDOF_element_r,
1964 int* nFreeDOF_element_u,
1966 int* csrRowIndeces_ru,
1967 int* csrColumnOffsets_eb_eNebN_ru,
1968 double* elementBoundaryFluxJacobian_eb,
1974 int nDOF_test_element,
1975 int nExteriorElementBoundaries_global,
1976 const int* exteriorElementBoundariesArray,
1977 const int* elementBoundaryElementsArray,
1978 const int* elementBoundaryLocalElementBoundariesArray,
1987 int nDOF_trial_element,
1988 int nDOF_test_element,
1989 int nExteriorElementBoundaries_global,
1990 const int* exteriorElementBoundariesArray,
1991 const int* elementBoundaryElementsArray,
1992 const int* elementBoundaryLocalElementBoundariesArray,
1999 int nDOF_trial_element,
2000 int nDOF_test_element,
2002 int nExteriorElementBoundaries_global,
2003 const int* exteriorElementBoundariesArray,
2004 const int* elementBoundaryElementsArray,
2005 const int* elementBoundaryLocalElementBoundariesArray,
2008 double* grad_v_X_w_dS);
2013 int nExteriorElementBoundaries_global,
2015 double* referenceWeights,
2020 int nDOF_trial_element,
2022 int nExteriorElementBoundaries_global,
2023 const int * exteriorElementBoundariesArray,
2024 const int * elementBoundaryElementsArray,
2025 const int * elementBoundaryLocalElementBoundariesArray,
2033 int nDOF_trial_element,
2036 int nExteriorElementBoundaries_global,
2037 const int * exteriorElementBoundariesArray,
2038 const int * elementBoundaryElementsArray,
2039 const int * elementBoundaryLocalElementBoundariesArray,
2048 int nQuadraturePoints_elementBoundary,
2050 int* exteriorElementBoundaries,
2051 int* elementBoundaryElements,
2052 int* elementBoundaryLocalElementBoundaries,
2060 int nQuadraturePoints_elementBoundary,
2062 int* exteriorElementBoundaries,
2063 int* elementBoundaryElements,
2064 int* elementBoundaryLocalElementBoundaries,
2071 int nQuadraturePoints_elementBoundary,
2073 int* exteriorElementBoundaries,
2074 int* elementBoundaryElements,
2075 int* elementBoundaryLocalElementBoundaries,
2086 const int* globalDOFids,
2087 const int* freeDOFids,
2088 const double * free_u,
2094 const int* globalDOFids,
2095 const int* freeDOFids,
2100 int nElementBoundaries_element,
2101 int nQuadraturePoints_elementBoundary,
2102 int nDOF_test_element,
2104 int* interiorElementBoundaries,
2105 int* elementBoundaryElements,
2106 int* elementBoundaryLocalElementBoundaries,
2116 int nQuadraturePoints_elementBoundary,
2117 int nDOF_test_element,
2120 int* exteriorElementBoundaries,
2121 int* elementBoundaryElements,
2122 int* elementBoundaryLocalElementBoundaries,
2133 int nElementBoundaries_element,
2134 int nQuadraturePoints_elementBoundary,
2135 int nDOF_test_element,
2136 int nDOF_trial_element,
2142 int nFreeVDOF_global,
2143 int* interiorElementBoundaries,
2144 int* elementBoundaryElements,
2145 int* elementBoundaryLocalElementBoundaries,
2146 int* nFreeDOF_element_r,
2149 int* nFreeDOF_element_u,
2161 int nQuadraturePoints_elementBoundary,
2162 int nDOF_test_element,
2163 int nDOF_trial_element,
2169 int nFreeVDOF_global,
2170 int* exteriorElementBoundaries,
2171 int* elementBoundaryElements,
2172 int* elementBoundaryLocalElementBoundaries,
2173 int* nFreeDOF_element_r,
2176 int* nFreeDOF_element_u,
2189 int nElementBoundaries_element,
2190 int nQuadraturePoints_elementBoundary,
2191 int nDOF_test_element,
2195 int* interiorElementBoundaries,
2196 int* elementBoundaryElements,
2197 int* elementBoundaryLocalElementBoundaries,
2207 int nQuadraturePoints_elementBoundary,
2208 int nDOF_test_element,
2213 int* exteriorElementBoundaries,
2214 int* elementBoundaryElements,
2215 int* elementBoundaryLocalElementBoundaries,
2226 int nElementBoundaries_element,
2227 int nQuadraturePoints_elementBoundary,
2228 int nDOF_test_element,
2229 int nDOF_trial_element,
2237 int nFreeVDOF_global,
2238 int* interiorElementBoundaries,
2239 int* elementBoundaryElements,
2240 int* elementBoundaryLocalElementBoundaries,
2241 int* nFreeDOF_element_r,
2244 int* nFreeDOF_element_u,
2256 int nQuadraturePoints_elementBoundary,
2257 int nDOF_test_element,
2258 int nDOF_trial_element,
2266 int nFreeVDOF_global,
2267 int* exteriorElementBoundaries,
2268 int* elementBoundaryElements,
2269 int* elementBoundaryLocalElementBoundaries,
2270 int* nFreeDOF_element_r,
2273 int* nFreeDOF_element_u,
2286 int nElementBoundaries_element,
2287 int nQuadraturePoints_elementBoundary,
2288 int nDOF_test_element,
2289 int nDOF_trial_element,
2297 int nFreeVDOF_global,
2298 int* interiorElementBoundaries,
2299 int* elementBoundaryElements,
2300 int* elementBoundaryLocalElementBoundaries,
2301 int* nFreeDOF_element_r,
2304 int* nFreeDOF_element_u,
2307 int* csrRowIndeces_ru,
2308 int* csrColumnOffsets_eb_ru,
2318 int nQuadraturePoints_elementBoundary,
2319 int nDOF_test_element,
2320 int nDOF_trial_element,
2328 int nFreeVDOF_global,
2329 int* exteriorElementBoundaries,
2330 int* elementBoundaryElements,
2331 int* elementBoundaryLocalElementBoundaries,
2332 int* nFreeDOF_element_r,
2335 int* nFreeDOF_element_u,
2338 int* csrRowIndeces_ru,
2339 int* csrColumnOffsets_eb_ru,
2350 int nQuadraturePoints_element,
2357 int nQuadraturePoints_element,
2363 int nElementBoundaries_element,
2364 int nQuadraturePoints_elementBoundary,
2371 int nElementBoundaries_element,
2372 int nQuadraturePoints_elementBoundary,
2378 int nQuadraturePoints_element,
2379 int nDOF_test_element,
2383 double* weak_residual_x,
2384 double* weak_residual_y,
2385 double* weak_residual_z);
2388 int nQuadraturePoints_element,
2389 int nDOF_trial_element,
2390 int nDOF_test_element,
2403 double* jacobian_weak_residual_xx,
2404 double* jacobian_weak_residual_xy,
2405 double* jacobian_weak_residual_xz,
2406 double* jacobian_weak_residual_yx,
2407 double* jacobian_weak_residual_yy,
2408 double* jacobian_weak_residual_yz,
2409 double* jacobian_weak_residual_zx,
2410 double* jacobian_weak_residual_zy,
2411 double* jacobian_weak_residual_zz);
2417 const int * functional_map_element,
2418 const double * interpolationValues,
2421 int nElementBoundaries_element,
2422 int nElementBoundaryQuadraturePoints_elementBoundary,
2425 int nQuadraturePoints_element,
void updateDiffusion_strong_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, int *rowptr, int *colind, double *da, double *grad_phi, double *grad_u, double *strong_residual)
void setExteriorGlobalElementBoundaryVelocityValues(int updateFluxValues, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *vn_in, double *v_out)
void calculateShape_X_weightedShape(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, double *v, double *w_dV, double *v_X_w_dV)
Calcualte the tensor product of trial and test functions at the quadrature points.
void calculateFiniteElementFunctionGradientTensorValues(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nComponents, int nSpace, int *l2g, double *dof, double *grad_v_X_grad_w_dV, double *grad_u_X_grad_w_dV)
Loop over all the quadrature points and calculate the tensor product of the solution gradient with th...
void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_2sided_dense(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementBoundaryFluxJacobian_2sided, double *w_dS, double *jac)
Update the global dense Jacobian from the element boundary two-sided Hamiltonflux Jacobians at interi...
void parametricMaps_getValues(int nElements_global, int nQuadraturePoints_element, int nDOF_element, int nSpace_global, double *psi, int *l2g, double *nodeArray, double *xArray)
void parametricMaps_getPermutationsGlobalExterior(int nElementBoundaryQuadraturePoints_elementBoundary, int nSpace_global, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *xiArray, int *permutations)
void copyGlobalUnknownsToFreeUnknowns(int nDOF2set, int offset, int stride, const int *globalDOFids, const int *freeDOFids, const double *u, double *free_u)
void calculateGradShape_X_weightedShapeGlobalExteriorTrace(int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_trial_element, int nDOF_test_element, int nSpace, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *grad_v, double *w_dS, double *grad_v_X_w_dS)
Calculate the tensor product of trial function gradients and test functions at the quadrature points.
void calculateConservationJacobianPWL(int nNodes_global, int nNodes_internal, int nElements_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nNodes_element, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *elementNodes, int *nodeStarElements, int *nodeStarElementNeighbors, int *nodeStarOffsets, int *nodeStarJacobianOffsets, int *nElements_node, int *internalNodes, double *w, double *normal, double *starJacobian)
void updateNumericalDiffusionJacobian(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *numDiff, double *grad_v_X_grad_w_dV, double *jacobian_weak_residual)
Loop over all the elements and update the element Jacobian with the numerical quadrature approximatio...
void parametricMaps_getJacobianValuesTrace2D(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nDOF_element, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
void updateDiffusion_weak_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, int *rowptr, int *colind, double *a, double *grad_phi, double *grad_w_dV, double *weak_residual)
void parametricMaps_getJacobianValuesGlobalExteriorTrace2D(int nQuadraturePoints_element, int nDOF_element, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
void calculateInteriorElementBoundaryVelocities(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *m, double *a, double *grad_phi, double *f, double *vAverage, double *vJump, double *mAverage, double *mJump)
void calculateGradShape_X_weightedShape(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *grad_v, double *w_dV, double *grad_v_X_w_dV)
Calculate the tensor product of trial function gradients and test functions at the quadrature points.
void copyExteriorElementBoundaryValuesFromElementBoundaryValues(int nExteriorElementBoundaries_global, int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nValuesPerQuadraturePoint, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const double *ebq_val, double *ebqe_val)
copy quantity in an elementBoundary quadrature array to one that sits only on exterior boundaries
void updateGlobalJacobianFromElementJacobian_dense(int nElements_global, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementJacobian, double *globalJacobian)
Update the global dense jacobian from the element Jacobians.
void updateInteriorElementBoundaryShockCapturingVelocity(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *numDiff, double *grad_u, double *velocity)
Calculate the velocity from shock capturing at interior element boundary quadrature points.
void parametricMaps_getInverseValuesGlobalExteriorTrace(int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace_global, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *inverseJacobian, int *l2g, double *nodeArray, double *xArray, double *xiArray)
void calculateVelocityQuadrature_MixedForm(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace, int nQuadraturePoints_element, double *A_inv, double *b, double *v, double *V, double *qv, double *qV)
void calculateWeightedShapeGlobalExteriorTrace(int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_test_element, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *dSR, double *sqrt_det_g, double *w, double *w_dS)
Weight the traces of the test function with the element boundary integration weights global exterior ...
void updateReactionJacobian_strong(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, double *dr, double *v, double *dstrong_residual)
Loop over all the elements and update the strong from of the residual at the quadrature points with t...
void calculateWeightedShapeTrace(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_test_element, double *dSR, double *sqrt_det_g, double *w, double *w_dS)
Weight the traces of the test function with the element boundary integration weights.
void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_eb_dense(int *elementNeighbors, int nElements_global, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementBoundaryFluxJacobian_eb, double *w_dS, double *jac)
Update the global dense Jacobian from the element boundary flux Jacobians at interior boundaries.
void updateHamiltonian_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, double *H, double *w_dV, double *weak_residual)
Loop over all the elements and update the element weak_residual with the numerical quadrature approxi...
void update_f_movingDomain_ebq(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, double *xt, double *m, double *f)
void estimate_mt_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *v, double *w_dV, double *elementSpatialResidual, double *mt)
double fluxDomainBoundaryIntegral(int nExteriorElementBoundaries, int nElementBoundaries_owned, int nQuadraturePoints_elementBoundary, int *flag, int *exteriorElementBoundariesArray, double *dS, double *nValueArray)
void calculateVelocityProjectionMatrixLDG(int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *vXw_dV, double *A_inv)
void updateDiffusion2_adjoint_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, int *rowptr, int *colind, double *a, double *Hess_w_dV, double *Lstar_w_dV)
void parametricMaps_getJacobianValuesGlobalExteriorTrace2D_movingDomain(int nQuadraturePoints_element, int nDOF_element, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *xtArray, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
void updateDiffusion2_strong(int nElements_global, int nQuadraturePoints_element, int nSpace, double *a, double *Hess_phi, double *strong_residual)
void updateGlobalResidualFromElementResidual(int nElements_global, int nDOF_test_element, int offset_r, int stride_r, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, double *elementResidual, double *globalResidual)
Update the global residuals from the element residuals.
void calculateConservationResidual(int nElements_global, int nDOF_test_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, double *n, double *dS_u, double *elementResidual, double *velocity, double *conservationResidual)
calculate mass conservation error as
void calculateIntegrationWeights(int nElements_global, int nQuadraturePoints_element, double *abs_det_J, double *referenceWeights, double *weights)
Calculate the physical space integration weights from the reference element weights and Jacobian dete...
void computeC0P1InterpolantNCP1(int nElements_global, int nNodes_global, int nNodes_element, int nDOF_element, int dim_dof, const int *elementNodesArray, const int *nodeElementOffsets, const int *nodeElementsArray, const int *l2g, const double *dof, double *nodalAverage)
void updateGlobalJacobianFromExteriorElementBoundaryDiffusionAdjoint_dense(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int nSpace, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, int *isDOFBoundary, double sigma, double *v, double *n, double *a, double *grad_w, double *dS, double *jac)
void updateExteriorElementBoundaryShockCapturingVelocity(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *numDiff, double *grad_u, double *velocity)
Calculate the shock capturing flux at exterior element boundary quadrature points.
void calculateExteriorElementBoundaryStress2D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int *elementBoundaryMaterialTypes, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *p, double *mom_flux_vec_u, double *mom_flux_vec_v, double *dS, double *n, double *F)
void updateGlobalJacobianFromInteriorElementBoundaryDiffusionAdjoint_dense_sd(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double sigma, double *v, double *n, double *a, double *grad_w, double *dS, double *jac)
void calculateExteriorNumericalTrace_Potential(int *isDOFBoundary, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *phi_bc, double *phi, double *dphi, double *phi_trace, double *dphi_trace_left)
Calculate the trace of the potential on interior element boundaries. Use the arithmetic average.
void updateAdvection_adjoint(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *df, double *grad_w_dV, double *Lstar_w_dV)
Loop over all the elements and update the linearized adjoint applied to the weighted test functions w...
void calculateGlobalExteriorElementBoundaryIntegrationWeights(int nQuadraturePoints_elementBoundary, int nExteriorElementBoundaries_global, double *sqrt_det_g, double *referenceWeights, double *weights)
void updateHamiltonianJacobian_strong(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *dH, double *grad_v, double *dstrong_residual)
Loop over all the elements and update the Jacobian of the strong form of the residual with the advect...
void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_eb_CSR(int *elementNeighbors, int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_eNebN_ru, double *elementBoundaryFluxJacobian_eb, double *w_dS, double *jac)
Update the global CSR Jacobian from the element boundary flux Jacobians at interior boundaries.
void parametricMaps_getPermutations(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nSpace_global, double *xiArray, int *permutations)
void updateNumericalDiffusionJacobian_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *numDiff, double *grad_v, double *grad_w_dV, double *jacobian_weak_residual)
int checkGlobalElementBoundaryAndExteriorElementBoundaryArraysSame(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nValuesPerQuadraturePoint, double tolerance, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, const double *ebq_global_val, const double *ebqe_val, int *firstBadIndex)
void updateMassJacobian_weak_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, double *dmt, double *v, double *w_dV, double *jacobian_weak_residual)
void updateGlobalJacobianFromElementJacobian_eb_CSR(int *elementNeighbors, int nElements_global, int nElementBoundaries_element, int nDOF_test_element, int nDOF_trial_element, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_ru, double *elementJacobian_eb, double *globalJacobian)
Update the global CSR jacobian from the element Jacobians.
void updateExteriorElementBoundaryDiffusionAdjoint(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *isDOFBoundary, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double sigma, double *u, double *ub, double *n, double *a, double *grad_w, double *dS, double *residual)
void updateInteriorElementBoundary_MixedForm_weakJacobian(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *dphi_trace_left, double *dphi_trace_right, double *v, double *w_dS, double *db, double *db_eb)
Update the element boundary flux on interior element boundaries.
void updateDiffusion_adjoint_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, int *rowptr, int *colind, double *da, double *grad_phi, double *grad_w_dV, double *Lstar_w_dV)
void updateInteriorElementBoundary_MixedForm_weak(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *phi_trace, double *w_dS, double *b)
Update the element boundary flux on interior element boundaries.
void parametricMaps_getInverseValues(int nElements_global, int nQuadraturePoints_element, int nDOF_element, int nSpace_global, double *inverseJacobian, int *l2g, double *nodeArray, double *xArray, double *xiArray)
void updateAdvectionJacobian_strong(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, double *df, double *grad_v, double *dstrong_residual)
Loop over all the elements and update the Jacobian of the strong form of the residual with the advect...
void updateGlobalExteriorElementBoundaryShockCapturingVelocity(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *numDiff, double *grad_u, double *velocity)
Calculate the shock capturing flux at exterior element boundary quadrature points.
void updateDiffusion_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *a, double *grad_phi_X_grad_w_dV, double *weak_residual)
Loop over all the elements and update the element weak_residual with the numerical quadrature approxi...
void calculateFiniteElementFunctionValues(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nComponents, int *l2g, double *dof, double *v, double *u)
Calculate the values of a multicomponent finite element function at the quadrature points from the de...
void updateDiffusion_MixedForm_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *a, double *qV, double *grad_w_dV, double *weak_residual)
void calculateInteriorNumericalTrace_Potential(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *phi, double *dphi, double *phi_trace, double *dphi_trace_left, double *dphi_trace_right)
Calculate the trace of the potential on interior element boundaries. Use the arithmetic average.
void updateInteriorElementBoundaryDiffusionAdjoint(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double sigma, double *u, double *n, double *a, double *grad_w, double *dS, double *residual)
void updateNumericalDiffusion_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *numDiff, double *grad_u, double *grad_w_dV, double *weak_residual)
void parametricMaps_getJacobianValuesTrace3D(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nDOF_element, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
void calculateConservationResidualDG(int nElements_global, int nDOF_test_element, double *elementResidual, double *conservationResidual)
void updateExteriorElementBoundaryDiffusiveVelocity(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *a, double *grad_phi, double *velocity)
Calculate the diffusive flux at exterior element boundary quadrature points.
void calculateFiniteElementFunctionGradientValuesGlobalExteriorTrace(int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nComponents, int nSpace, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, int *l2g, double *dof, double *grad_v, double *grad_u)
void updateSubgridErrorJacobian(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, double *derror, double *Lstar_w_dV, double *jacobian_weak_residual)
Loop over all the elements and update the element Jacobian with the numerical quadrature approximatio...
void parametricFiniteElementSpace_getGradientValuesTrace(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace_global, double *grad_psi, int *permutations, double *inverseJacobianArray, double *grad_vArray)
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 calculateFiniteElementFunctionGradientValues(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nComponents, int nSpace, int *l2g, double *dof, double *grad_v, double *grad_u)
Calculate the gradient values of a multicomponent finite element function at the quadrature points fr...
void parametricFiniteElementSpace_getValuesGlobalExteriorTrace(int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *psi, double *vArray)
void calculateVectorScalarProduct(int nElements_global, int nQuadraturePoints_element, int nSpace, double *v, double *s, double *vResult)
Calculate the product of a vector and a scalar at the quadrature points.
void parametricFiniteElementSpace_getValuesTrace(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, double *psi, int *permutations, double *vArray)
void calculateFiniteElementFunctionHessianValues(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nComponents, int nSpace, int *l2g, double *dof, double *Hessian_v, double *Hessian_u)
void updateGlobalJacobianFromGlobalExteriorElementBoundaryFluxJacobian_eb_CSR(int *elementNeighbors, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_eNebN_ru, double *elementBoundaryFluxJacobian_eb, double *w_dS, double *jac)
Update the global CSR Jacobian from the element boundary flux Jacobians at exterior boundaries only d...
void updateExteriorElementBoundaryFlux(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *flux, double *w_dS, double *residual)
Update the element boundary flux on exterior element boundaries.
void calculateExteriorElementBoundaryStress3D(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int *elementBoundaryMaterialTypes, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *p, double *mom_flux_vec_u, double *mom_flux_vec_v, double *mom_flux_vec_w, double *dS, double *n, double *F)
void updateDiffusionJacobian_weak_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, int *l2g, double *a, double *da, double *grad_phi, double *grad_w_dV, double *dphi, double *v, double *grad_v, double *jacobian_weak_residual)
double df(double C, double b, double a, int q, int r)
void parametricMaps_getJacobianValuesTrace1D(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nDOF_element, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
void calculateCFLADR2speeds(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dm, double *df1, double *df2, double *cfl)
void updateMassJacobian_strong(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, double *dmt, double *v, double *dstrong_residual)
Loop over all the elements and update the Jacobian of the strong from of the residual at the quadratu...
void loadBoundaryFluxIntoGlobalElementBoundaryVelocity(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *fluxElementBoundaries, double *normal, double *flux, double updateCoef, double *velocity)
void calculateTensorScalarProduct(int nElements_global, int nQuadraturePoints_element, int nSpace, double *t, double *s, double *tResult)
Calculate the product of a tensor and scalar at the quadrature points.
void updateGlobalJacobianFromElementJacobian_eb_dense(int *elementNeighbors, int nElements_global, int nElementBoundaries_element, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementJacobian_eb, double *globalJacobian)
Update the global dense jacobian from the element Jacobians.
void updateGlobalJacobianFromExteriorElementBoundaryDiffusionAdjoint_dense_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, int *isDOFBoundary, double sigma, double *v, double *n, double *a, double *grad_w, double *dS, double *jac)
void copyLeftElementBoundaryInfo(int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nSpace_global, int nExteriorElementBoundaries_global, int nInteriorElementBoundaries_global, int *elementBoundaryElementsArray, int *elementBoundaryLocalElementBoundariesArray, int *exteriorElementBoundariesArray, int *interiorElementBoundariesArray, double *x, double *n, double *xg, double *ng)
void updateSubgridError(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, double *error, double *Lstar_w_dV, double *weak_residual)
Loop over all the elements and update the element weak_residual with the numerical quadrature approxi...
void copyExteriorElementBoundaryValuesToElementBoundaryValues(int nExteriorElementBoundaries_global, int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nValuesPerQuadraturePoint, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const double *ebqe_val, double *ebq_val)
copy quantity that sits only on exterior boundaries into an elementBoundary quadrature array
void updateGlobalJacobianFromInteriorElementBoundaryDiffusionAdjoint_dense(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int nSpace, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double sigma, double *v, double *n, double *a, double *grad_w, double *dS, double *jac)
int checkElementBoundaryAndExteriorElementBoundaryArraysSame(int nElementBoundaries_element, int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nValuesPerQuadraturePoint, double tolerance, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, const double *ebq_val, const double *ebqe_val, int *firstBadIndex)
void updateGlobalJacobianFromGlobalExteriorElementBoundaryFluxJacobian_CSR(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_ru, double *elementBoundaryFluxJacobian, double *w_dS, double *jac)
Update the global CSR Jacobian from the element boundary flux Jacobians at exterior boundaries.
void parametricFiniteElementSpace_getGradientValuesGlobalExteriorTrace(int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace_global, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *grad_psi, double *inverseJacobianArray, double *grad_vArray)
void calculateFiniteElementFunctionGradientValuesTrace(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nComponents, int nSpace, int *l2g, double *dof, double *grad_v, double *grad_u)
Calculate the gradients of a multi-component finite element function at the element boundary quadratu...
void updateExteriorElementBoundary_MixedForm_weakJacobian(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *dphi_trace_left, double *v, double *w_dS, double *db, double *db_eb)
Update the element boundary flux on interior element boundaries.
void updateGlobalJacobianFromInteriorElementBoundaryDiffusionAdjoint_CSR_sd(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_ru, double sigma, double *v, double *n, double *a, double *grad_w, double *dS, double *jac)
void updateExteriorElementBoundaryAdvectiveVelocity(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *f, double *velocity)
Update the advective flux at exterior element boundaries.
void calculateWeightedShapeHessians(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *dVR, double *abs_det_jac, double *Hess_w, double *Hess_w_dV)
void updateInteriorElementBoundaryDiffusionAdjoint_sd(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *rowptr, int *colind, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double sigma, double *u, double *n, double *a, double *grad_w, double *dS, double *residual)
void updateGlobalJacobianFromGlobalExteriorElementBoundaryFluxJacobian_eb_dense(int *elementNeighbors, int nElements_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementBoundaryFluxJacobian_eb, double *w_dS, double *jac)
Update the global dense Jacobian from the element boundary flux Jacobians at exterior boundaries only...
void updateDiffusionJacobian_MixedForm_weak(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *a, double *da, double *qV, double *qDV, double *qDV_eb, double *grad_w_dV, double *v, double *jacobian_weak_residual, double *jacobian_weak_residual_eb)
void updateReaction_strong(int nElements_global, int nQuadraturePoints_element, double *r, double *strong_residual)
Loop over all the elements and update the strong from of the residual at the quadrature points with t...
void updateInteriorElementBoundaryDiffusiveVelocity_sd(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *a, double *grad_phi, double *velocity)
void updateHamiltonian_adjoint(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *dH, double *grad_w_dV, double *Lstar_w_dV)
Loop over all the elements and update the linearized adjoint applied to the weighted test functions w...
void updateGlobalJacobianFromExteriorElementBoundaryDiffusionAdjoint_CSR_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_ru, int *isDOFBoundary, double sigma, double *v, double *n, double *a, double *grad_w, double *dS, double *jac)
void update_f_movingDomain_constantMass_q(int nElements_global, int nQuadraturePoints_element, int nSpace, double *xt, double *f)
void calculateShape_X_weightedShapeGlobalExteriorTrace(int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_trial_element, int nDOF_test_element, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *v, double *w_dS, double *v_X_w_dS)
Calcualte the tensor product of trial and test functions at the quadrature points global exterior bou...
void parametricMaps_getJacobianValuesGlobalExteriorTrace1D(int nQuadraturePoints_element, int nDOF_element, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
void computeC0P1InterpolantDGP0(int nElements_global, int nNodes_global, int nNodes_element, int nDOF_element, int dim_dof, const int *elementNodesArray, const int *nodeElementOffsets, const int *nodeElementsArray, const int *l2g, const double *dof, double *nodalAverage)
void updateDiffusion2_strong_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, int *rowptr, int *colind, double *a, double *Hess_phi, double *strong_residual)
void calculateConservationFluxPWL(int nNodes_global, int nNodes_internal, int *nElements_node, int *nodeStarOffsets, int *nodeStarJacobianOffsets, int *internalNodes, double *starR, double *starJ, double *starU)
void parametricMaps_getValuesTrace(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nDOF_element, int nSpace_global, double *psi, int *l2g, double *nodeArray, double *xArray)
void parametricMaps_getInverseValuesTrace(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace_global, double *inverseJacobian, int *l2g, double *nodeArray, double *xArray, double *xiArray)
void updateDiffusion_adjoint(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *da, double *grad_phi, double *grad_w_dV, double *Lstar_w_dV)
Loop over all the elements and update the linearized adjoint applied to the weighted test function wi...
void updateDiffusionJacobian2_strong_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, double *a, double *da, double *v, double *Hess_phi, double *dphi, double *Hess_v, double *dstrong_residual)
void calculateConservationResidualPWL(int nElements_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nNodes_element, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *elementNodes, int *nodeStarElements, int *nodeStarElementNeighbors, int *nodeStarOffsets, int *nElements_node, double *elementResidual, double *vAverage, double *starU, double *dX, double *w, double *normal, double *conservationResidual, double *starR, double *vConservative, double *vConservative_element)
void updatePotential_MixedForm_weakJacobian(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *dphi, double *v, double *grad_w_dV, double *db)
void updateGlobalJacobianFromGlobalExteriorElementBoundaryFluxJacobian_dense(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementBoundaryFluxJacobian, double *w_dS, double *jac)
Update the global dense Jacobian from the element boundary flux Jacobians at exterior boundaries.
void updateDiffusionJacobian2_strong(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, int *l2g, double *a, double *da, double *v, double *Hess_phi, double *dphi, double *Hess_v, double *dstrong_residual)
void calculateFiniteElementFunctionValuesTrace(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nComponents, int *l2g, double *dof, double *v, double *u)
Calculate the values of a multi-component finite element function at element boundary quadrature poin...
void calculateElementBoundaryIntegrationWeights(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, double *sqrt_det_g, double *referenceWeights, double *weights)
void parametricFiniteElementSpace_getGradientValues(int nElements_global, int nQuadraturePoints_element, int nDOF_element, int nSpace_global, double *grad_psi, double *inverseJacobianArray, double *grad_vArray)
void updateReaction_adjoint(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, double *dr, double *w_dV, double *Lstar_w_dV)
Loop over all the elements and update the linearized adjoint, applied to the weighted test functions,...
void updateDiffusionJacobian_strong(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, int *l2g, double *da, double *dphi, double *grad_phi, double *grad_u, double *grad_v, double *dstrong_residual)
Loop over all the elements and update the strong form of the residual with the diffusion term at the ...
void updateAdvection_strong(int nElements_global, int nQuadraturePoints_element, int nSpace, double *df, double *grad_u, double *strong_residual)
Loop over all the elements and update the strong form of the residual with the advection term.
void updateNumericalDiffusion(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *numDiff, double *grad_u_X_grad_w_dV, double *weak_residual)
Loop over all the elements and update the element weak_residual with the numerical quadrature approxi...
void parametricMaps_getJacobianValues1D(int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *grad_psi, int *l2g, double *nodeArray, double *jacobianArray, double *jacobianDeterminantArray, double *jacobianInverseArray)
void getPermutationsGlobal(int nElementBoundaries_global, int nElementBoundaryQuadraturePoints_elementBoundary, double *xArray, double *xArrayNew, int *permutations)
void updateDiffusionJacobian_strong_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nSpace, int *rowptr, int *colind, int *l2g, double *da, double *dphi, double *grad_phi, double *grad_u, double *grad_v, double *dstrong_residual)
void updateMass_adjoint(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, double *dmt, double *w_dV, double *Lstar_w_dV)
Loop over all the elements and update the linearized adjoint, applied to the weighted test functions,...
void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_dense(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementBoundaryFluxJacobian, double *w_dS, double *jac)
Update the global dense Jacobian from the element boundary flux Jacobians at interior boundaries.
double fluxDomainBoundaryIntegralFromVector(int nExteriorElementBoundaries, int nElementBoundaries_owned, int nQuadraturePoints_elementBoundary, int nSpace, int *flag, int *exteriorElementBoundaries, double *dS, double *nValueArray, double *normal)
void updateGlobalExteriorElementBoundaryAdvectiveVelocity(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *f, double *velocity)
Update the advective flux at exterior element boundaries.
void calculateExteriorElementBoundaryAverageVelocity(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *v, double *vAverage)
void projectFromNodalInterpolationConditions(int nElements_global, int nDOF_element, int dim_dof, const int *l2g, const int *functional_map_element, const double *interpolationValues, double *dofs)
void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_2sided_CSR(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_ru, double *elementBoundaryFluxJacobian_2sided, double *w_dS, double *jac)
Update the global CSR Jacobian from the element boundary two-sided Hamiltonian flux Jacobians at inte...
void parametricMaps_getJacobianValues3D(int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *grad_psi, int *l2g, double *nodeArray, double *jacobianArray, double *jacobianDeterminantArray, double *jacobianInverseArray)
void calculateCFLADR(int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dm, double *df, double *cfl)
void copyExteriorElementBoundaryValuesFromGlobalElementBoundaryValues(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nValuesPerQuadraturePoint, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const double *ebq_global_val, double *ebqe_val)
copy quantity that sits only on exterior boundaries from a global elementBoundary quadrature array
void updateAdvectionJacobian_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *df, double *v_X_grad_w_dV, double *jacobian_weak_residual)
Loop over all the elements and update the element Jacobian with the numerical quadrature approximatio...
void updateAdvection_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *f, double *grad_w_dV, double *weak_residual)
Loop over all the elements and update the element weak_residual with the numerical quadrature approxi...
void updateDiffusion_weak_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *a, double *grad_phi, double *grad_w_dV, double *weak_residual)
void calculateFiniteElementFunctionValuesGlobalExteriorTrace(int nQuadraturePoints_elementBoundary, int nDOF_trial_element, int nComponents, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, int *l2g, double *dof, double *v, double *u)
void calculateVelocityQuadrature_MixedForm2_sd(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace, int nQuadraturePoints_element, const int *rowptr, const int *colind, double *qa, double *qw_dV, double *b, double *v, double *V, double *qv, double *qV)
void updateMassJacobian_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, double *dmt, double *v_X_w_dV, double *jacobian_weak_residual)
Loop over all the elements and update the element Jacobian with the numerical quadrature approximatio...
void parametricMaps_getJacobianValuesGlobalExteriorTrace3D(int nQuadraturePoints_element, int nDOF_element, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
void calculateWeightedShape(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, double *dVR, double *abs_det_jac, double *w, double *w_dV)
Weight the test function with the integration weights.
void calculateFlowVelocity(int nElements_global, int nQuadraturePoints_element, int nSpace, double *f, double *a, double *grad_phi, double *v)
Calculate the total (advective + diffusive) flow velocity.
void updateGlobalJacobianFromExteriorElementBoundaryFluxJacobian_CSR(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_ru, double *elementBoundaryFluxJacobian, double *w_dS, double *jac)
Update the global CSR Jacobian from the element boundary flux Jacobians at exterior boundaries.
void updateStress_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *sigma, double *grad_w_dV, double *weak_residual_x, double *weak_residual_y, double *weak_residual_z)
void updateInteriorElementBoundaryFlux(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *flux, double *w_dS, double *residual)
Update the element boundary flux on interior element boundaries.
void updateGlobalJacobianFromInteriorElementBoundaryFluxJacobian_CSR(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_ru, double *elementBoundaryFluxJacobian, double *w_dS, double *jac)
Update the global CSR Jacobian from the element boundary flux Jacobians at interior boundaries.
void estimate_mt(int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *v, double *vXw_dV, double *elementSpatialResidual, double *mt)
void parametricMaps_getJacobianValues2D(int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *grad_psi, int *l2g, double *nodeArray, double *jacobianArray, double *jacobianDeterminantArray, double *jacobianInverseArray)
void copyGlobalElementBoundaryVelocityToElementBoundary(int nElements_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int nElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElementsArray, int *elementBoundaryLocalElementBoundariesArray, double *velocityBoundary_global, double *velocityBoundary_element)
void calculateInteriorElementBoundaryAverageVelocity(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *v, double *vAverage)
double scalarSmoothedHeavisideDomainIntegral(int nElements_global, int nQuadraturePoints_element, double epsFact, double *elementDiameter, double *dV, double *nValueArray)
void calculateConservationResidualGlobalBoundaries(int nElements_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nNodes_element, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *dS, double *normal, double *elementResidual, double *velocity, double *conservationResidual)
void updateHamiltonian_strong(int nElements_global, int nQuadraturePoints_element, int nSpace, double *dH, double *grad_u, double *strong_residual)
Loop over all the elements and update the strong form of the residual with the advection term.
void updateGlobalJacobianFromExteriorElementBoundaryFluxJacobian_eb_dense(int *elementNeighbors, int nElements_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementBoundaryFluxJacobian_eb, double *w_dS, double *jac)
Update the global dense Jacobian from the element boundary flux Jacobians at exterior boundaries.
void calculateWeightedShapeGradients(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *dVR, double *abs_det_jac, double *grad_w, double *grad_w_dV)
Weight the test function with the integration weights.
void updatePotential_MixedForm_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *phi, double *grad_w_dV, double *b)
void updateStressJacobian_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *dsigma_xx, double *dsigma_xy, double *dsigma_xz, double *dsigma_yx, double *dsigma_yy, double *dsigma_yz, double *dsigma_zx, double *dsigma_zy, double *dsigma_zz, double *grad_v, double *grad_w_dV, double *jacobian_weak_residual_xx, double *jacobian_weak_residual_xy, double *jacobian_weak_residual_xz, double *jacobian_weak_residual_yx, double *jacobian_weak_residual_yy, double *jacobian_weak_residual_yz, double *jacobian_weak_residual_zx, double *jacobian_weak_residual_zy, double *jacobian_weak_residual_zz)
void updateAddJacobian_CSR(int jacIndex, double val, double *jac)
Update a single element of the Jacobian.
void update_f_movingDomain_constantMass_ebq(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, double *xt, double *f)
double scalarHeavisideDomainIntegral(int nElements_global, int nQuadraturePoints_element, double *dV, double *nValueArray)
void calculateGradShape_X_weightedGradShape(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *grad_v, double *grad_w_dV, double *grad_v_X_grad_w_dV)
Calculate the tensor product of trial function gradients and test function gradients at the quadratur...
void calculateShape_X_weightedGradShape(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *v, double *grad_w_dV, double *v_X_grad_w_dV)
Calculate the tensor product of trial functions and test function gradients at the quadrature points.
void updateGlobalJacobianFromElementJacobian_CSR(int nElements_global, int nDOF_test_element, int nDOF_trial_element, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_ru, double *elementJacobian, double *globalJacobian)
Update the global CSR jacobian from the element Jacobians.
void updateExteriorElementBoundaryDiffusiveVelocity_sd(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *a, double *grad_phi, double *velocity)
void updateDiffusion_strong(int nElements_global, int nQuadraturePoints_element, int nSpace, double *da, double *grad_phi, double *grad_u, double *strong_residual)
Loop over all the elements and update the strong form of the residual with the diffusion term at the ...
void update_f_movingDomain_q(int nElements_global, int nQuadraturePoints_element, int nSpace, double *xt, double *m, double *f)
void computeC0P1InterpolantDGP12(int nElements_global, int nNodes_global, int nNodes_element, int nDOF_element, int dim_dof, const int *elementNodesArray, const int *nodeElementOffsets, const int *nodeElementsArray, const int *l2g, const double *dof, double *nodalAverage)
void updateInteriorElementBoundaryDiffusiveVelocity(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *a, double *grad_phi, double *velocity)
Calculate the diffusive flux at interior element boundary quadrature points.
void updateDiffusionJacobian_weak_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, int *rowptr, int *colind, int *l2g, double *a, double *da, double *grad_phi, double *grad_w_dV, double *dphi, double *v, double *grad_v, double *jacobian_weak_residual)
void parametricMaps_getValuesGlobalExteriorTrace(int nQuadraturePoints_elementBoundary, int nDOF_element, int nSpace_global, int nExteriorElementBoundaries_global, const int *exteriorElementBoundariesArray, const int *elementBoundaryElementsArray, const int *elementBoundaryLocalElementBoundariesArray, double *psi, int *l2g, double *nodeArray, double *xArray)
void updateGlobalJacobianFromExteriorElementBoundaryFluxJacobian_eb_CSR(int *elementNeighbors, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *csrRowIndeces_ru, int *csrColumnOffsets_eb_eNebN_ru, double *elementBoundaryFluxJacobian_eb, double *w_dS, double *jac)
Update the global CSR Jacobian from the element boundary flux Jacobians at exterior boundaries.
void updateGlobalExteriorElementBoundaryDiffusiveVelocity(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *a, double *grad_phi, double *velocity)
Calculate the diffusive flux at exterior element boundary quadrature points.
void updateHamiltonianJacobian_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *dH, double *grad_v_X_w_dV, double *jacobian_weak_residual)
Loop over all the elements and update the element Jacobian with the numerical quadrature approximatio...
void updateMass_strong(int nElements_global, int nQuadraturePoints_element, double *mt, double *strong_residual)
Loop over all the elements and update the strong from of the residual at the quadrature points with t...
double scalarDomainIntegral(int nElements_global, int nQuadraturePoints_element, double *dV, double *nValueArray)
void calculateExteriorElementBoundaryVelocities(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *m, double *a, double *grad_phi, double *f, double *vAverage, double *vJump, double *mAverage, double *mJump)
void updateGlobalExteriorElementBoundaryFlux(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *flux, double *w_dS, double *residual)
void updateMass_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, double *mt, double *w_dV, double *weak_residual)
Loop over all the elements and update the element weak_residual with the numerical quadrature approxi...
void calculateShape_X_weightedShapeTrace(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_trial_element, int nDOF_test_element, double *v, double *w_dS, double *v_X_w_dS)
Calcualte the tensor product of trial and test functions at the quadrature points.
void parametricFiniteElementSpace_getHessianValues(int nElements_global, int nQuadraturePoints_element, int nDOF_element, int nSpace_global, double *Hessian_psi, double *inverseJacobianArray, double *Hessian_vArray)
void copyFreeUnknownsToGlobalUnknowns(int nDOF2set, int offset, int stride, const int *globalDOFids, const int *freeDOFids, const double *free_u, double *u)
void updateDiffusionJacobian_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, int *l2g, double *a, double *da, double *grad_phi_X_grad_w_dV, double *dphi, double *v, double *grad_v_X_grad_w_dV, double *jacobian_weak_residual)
Loop over all the elements and update the element Jacobian with the numerical quadrature approximatio...
void updateExteriorElementBoundaryDiffusionAdjoint_sd(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *rowptr, int *colind, int *isDOFBoundary, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double sigma, double *u, double *ub, double *n, double *a, double *grad_w, double *dS, double *residual)
void updateAdvectionJacobian_weak_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *df, double *v, double *grad_w_dV, double *jacobian_weak_residual)
void updateReactionJacobian_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, double *dr, double *v_X_w_dV, double *jacobian_weak_residual)
Loop over all the elements and update the element Jacobian with the numerical quadrature approximatio...
void updateHamiltonianJacobian_weak_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *dH, double *grad_v, double *w_dV, double *jacobian_weak_residual)
void copyExteriorElementBoundaryValuesToGlobalElementBoundaryValues(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nValuesPerQuadraturePoint, const int *exteriorElementBoundaries, const int *elementBoundaryElements, const int *elementBoundaryLocalElementBoundaries, const double *ebqe_val, double *ebq_global_val)
copy quantity that sits only on exterior boundaries into a global elementBoundary quadrature array
void updateExteriorElementBoundary_MixedForm_weak(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *n, double *phi_trace, double *w_dS, double *b)
Update the element boundary flux on exterior element boundaries.
void updateInteriorElementBoundaryAdvectiveVelocity(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *f, double *velocity)
Calculate the advective flux at at interior element boundaries.
void updateInteriorTwoSidedElementBoundaryFlux(int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *flux, double *w_dS, double *residual)
Update a two-sided (say nonconservative HJ flux) element boundary flux on interior element boundaries...
void calculateVelocityQuadrature_MixedForm_Jacobian(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace, int nQuadraturePoints_element, double *A_inv, double *db, double *db_eb, double *v, double *DV, double *DV_eb, double *qv, double *qDV, double *qDV_eb)
void zeroJacobian_CSR(int nNonzeros, double *jac)
Set all the Jacobian entries to 0.0.
void calculateScalarScalarProduct(int nElements_global, int nQuadraturePoints_element, double *s1, double *s2, double *sResult)
Calculate the product of two scalars at the quadrature points.
void updateGlobalJacobianFromExteriorElementBoundaryFluxJacobian_dense(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int nDOF_trial_element, int offset_r, int stride_r, int offset_u, int stride_u, int nFreeVDOF_global, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *nFreeDOF_element_r, int *freeLocal_r, int *freeGlobal_r, int *nFreeDOF_element_u, int *freeLocal_u, int *freeGlobal_u, double *elementBoundaryFluxJacobian, double *w_dS, double *jac)
Update the global dense Jacobian from the element boundary flux Jacobians at exterior boundaries.
void updateReactionJacobian_weak_lowmem(int nElements_global, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, double *dr, double *v, double *w_dV, double *jacobian_weak_residual)
void parametricFiniteElementSpace_getValues(int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *psi, double *vArray)
void updateDiffusion2_adjoint(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double *a, double *Hess_w_dV, double *Lstar_w_dV)
void calculateDimensionlessNumbersADR(int nElements_global, int nQuadraturePoints_element, int nSpace, int computeDiffusiveTimeStepLimit, double *elementDiameter, double *df, double *a, double *dphi, double *dr, double *dmt, double *pe, double *cfl)
Calculate the Peclet and Courant-Friedrichs-Lewy numbers for the scalar advection-diffusion-reaction ...
void calculateGradShape_X_weightedShapeTrace(int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_trial_element, int nDOF_test_element, int nSpace, double *grad_v, double *w_dS, double *grad_v_X_w_dS)
Calculate the tensor product of trial function gradients and test functions at the quadrature points.
void updateReaction_weak(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, double *r, double *w_dV, double *weak_residual)
Loop over all the elements and update the element weak_residual with the numerical quadrature approxi...