proteus
1.8.1
C/C++/Fortran libraries
|
Go to the documentation of this file. 1 #ifndef POSTPROCESSING_H
2 #define POSTPROCESSING_H
3 #include PROTEUS_LAPACK_H
37 int nElementBoundaries_element,
38 int nQuadraturePoints_elementBoundary,
39 int nDOF_test_element,
40 int* exteriorElementBoundaries,
41 int* elementBoundaryElements,
42 int* elementBoundaryLocalElementBoundaries,
43 int* skipflag_elementBoundaries,
48 int nQuadraturePoints_element,
58 int nQuadraturePoints_element,
59 int nDOF_test_element,
60 int nElementBoundaries_element,
61 int nQuadraturePoints_elementBoundary,
63 int * nFreeDOF_element,
64 int * freeLocal_element,
68 double * elementBarycenters,
83 int nQuadraturePoints_element,
84 int nDOF_test_element,
85 int nElementBoundaries_element,
86 int nQuadraturePoints_elementBoundary,
88 int * nFreeDOF_element,
89 int * freeLocal_element,
93 double * elementBarycenters,
105 int nElements_global,
106 int nQuadraturePoints_element,
107 int nDOF_test_element,
108 int nElementBoundaries_element,
109 int nQuadraturePoints_elementBoundary,
111 int *nFreeDOF_element,
112 int *freeLocal_element,
116 double *elementBarycenters,
130 int nElements_global,
131 int nQuadraturePoints_element,
132 int nDOF_test_element,
133 int nElementBoundaries_element,
134 int nQuadraturePoints_elementBoundary,
136 int *nFreeDOF_element,
137 int *freeLocal_element,
141 double *elementBarycenters,
153 int nElements_global,
157 double *rt0vdofs_element,
161 int nElements_global,
162 int nElementBoundaries_element,
163 int nPoints_elementBoundary,
165 double *x_elementBoundary,
166 double *rt0vdofs_element,
167 double *v_elementBoundary
170 int nElementBoundaries_global,
171 int nPoints_elementBoundary,
173 int *elementBoundaryElementsArray,
174 double *x_elementBoundary_global,
175 double *rt0vdofs_element,
176 double *v_elementBoundary_global
179 int nElements_global,
180 int nQuadraturePoints_element,
181 int nElementBoundaries_element,
182 int nQuadraturePoints_elementBoundary,
184 double *uQuadratureWeights_element,
185 double *elementBarycenters,
186 double *aElementQuadratureWeights,
188 double *uQuadratureWeights_elementBoundary,
192 double *x_elementBoundary,
193 double *u_elementBoundary,
202 int nElements_global,
203 int nElementBoundaries_element,
204 int nQuadraturePoints_elementBoundary,
206 double *elementBoundaryQuadratureWeights,
208 double *v_elementBoundary,
209 double *rt0vdofs_element
212 int nElements_global,
213 int nElementBoundaries_element,
214 int nQuadraturePoints_elementBoundary,
215 int nDOF_RT0V_element,
216 int *elementBoundaryElementsArray,
217 int *elementBoundariesArray,
218 double *elementBoundaryQuadratureWeights,
219 double *flux_elementBoundary,
220 double *rt0vdofs_element
223 int nElements_global,
224 int nElementBoundaries_element,
227 int nDetVals_element,
229 int *elementNodesArray,
232 double *rt0vdofs_element,
236 int nElements_global,
237 int nElementBoundaries_element,
238 int nPoints_elementBoundary,
240 int nDetVals_element,
242 int *elementNodesArray,
244 double *x_elementBoundary,
245 double *rt0vdofs_element,
246 double *v_elementBoundary
249 int nElementBoundaries_global,
250 int nPoints_elementBoundary_global,
252 int nDetVals_element,
254 int *elementNodesArray,
255 int *elementBoundaryElementsArray,
257 double *x_elementBoundary_global,
258 double *rt0vdofs_element,
259 double *v_elementBoundary_global
262 int nElements_global,
263 int nElementBoundaries_element,
264 int nQuadraturePoints_elementBoundary,
266 int nDOFs_test_element,
267 int nDOFs_trial_element,
272 double *BDMprojectionMat_element
275 int nElements_global,
277 double *BDMprojectionMat_element,
278 int *BDMprojectionMatPivots_element
281 int nElements_global,
282 int nElementBoundaries_element,
283 int nQuadraturePoints_elementBoundary,
285 int nDOFs_test_element,
287 double *BDMprojectionMatFact_element,
288 int *BDMprojectionMatPivots_element,
291 double *ebq_velocity,
292 double *p1_velocity_dofs
295 int nElements_global,
296 int nElementBoundaries_element,
297 int nQuadraturePoints_elementBoundary,
298 int nDOFs_test_element,
300 double *BDMprojectionMatFact_element,
301 int *BDMprojectionMatPivots_element,
302 int *elementBoundaryElementsArray,
303 int *elementBoundariesArray,
305 double *ebq_global_flux,
306 double *p1_velocity_dofs
309 int nElements_global,
310 int nQuadraturePoints_element,
312 int nDOF_trial_element,
315 double *p1_velocity_dofs,
319 int nElements_global,
320 int nInteriorElementBoundaries_global,
321 int nExteriorElementBoundaries_global,
322 int nElementBoundaries_element,
323 int nQuadraturePoints_elementBoundary,
326 int *interiorElementBoundaries,
327 int *exteriorElementBoundaries,
328 int *elementBoundaryElements,
329 int *elementBoundaryLocalElementBoundaries,
330 int *exteriorElementBoundariesToSkip,
333 double *elementResidual,
335 double *conservationResidual
338 int nElements_global,
339 int nElementBoundaries_global,
340 int nInteriorElementBoundaries_global,
341 int nExteriorElementBoundaries_global,
342 int nElementBoundaries_element,
343 int nQuadraturePoints_elementBoundary,
345 int *interiorElementBoundaries,
346 int *exteriorElementBoundaries,
347 int *elementBoundaryElements,
348 int *elementBoundaryLocalElementBoundaries,
353 double *fluxCorrection,
354 double *conservationResidual
357 int nElements_global,
358 int nElementBoundaries_global,
359 int nInteriorElementBoundaries_global,
360 int nExteriorElementBoundaries_global,
361 int nElementBoundaries_element,
362 int nQuadraturePoints_elementBoundary,
364 int *interiorElementBoundaries,
365 int *exteriorElementBoundaries,
366 int *elementBoundaryElements,
367 int *elementBoundaryLocalElementBoundaries,
370 double *fluxCorrection,
371 double *vConservative,
372 double *vConservative_element
375 int nElementBoundaries_global,
376 int nInteriorElementBoundaries_global,
377 int nExteriorElementBoundaries_global,
378 int *interiorElementBoundaries,
379 int *exteriorElementBoundaries,
380 int *elementBoundaryElements,
383 double *fluxCorrection
386 int nElements_global,
390 int *nodeStarElementsArray,
391 int *nodeStarElementNeighborsArray,
393 int **subdomain_dim_p,
394 double ***subdomain_L_p,
395 double ***subdomain_R_p,
396 double ***subdomain_U_p,
397 PROTEUS_LAPACK_INTEGER *** subdomain_pivots_p,
398 PROTEUS_LAPACK_INTEGER *** subdomain_column_pivots_p
403 double **subdomain_L,
404 double **subdomain_R,
405 double **subdomain_U,
406 PROTEUS_LAPACK_INTEGER ** subdomain_pivots,
407 PROTEUS_LAPACK_INTEGER ** subdomain_column_pivots_p
415 int *other_subdomain_dim,
416 double **other_subdomain_L,
417 double **other_subdomain_R,
418 double **other_subdomain_U,
419 PROTEUS_LAPACK_INTEGER ** other_subdomain_pivots,
420 PROTEUS_LAPACK_INTEGER ** other_subdomain_column_pivots,
422 int **subdomain_dim_p,
423 double ***subdomain_L_p,
424 double ***subdomain_R_p,
425 double ***subdomain_U_p,
426 PROTEUS_LAPACK_INTEGER *** subdomain_pivots_p,
427 PROTEUS_LAPACK_INTEGER *** subdomain_column_pivots_p
431 int nInteriorElementBoundaries_global,
432 int nExteriorElementBoundaries_global,
433 int nElementBoundaries_element,
434 int nQuadraturePoints_elementBoundary,
438 int* interiorElementBoundaries,
439 int* exteriorElementBoundaries,
440 int* elementBoundaryElements,
441 int* elementBoundaryLocalElementBoundaries,
444 int* nodeStarElements,
445 int* nodeStarElementNeighbors,
447 int* fluxElementBoundaries,
448 double* elementResidual,
454 double* conservationResidual,
455 double* vConservative,
456 double* vConservative_element);
462 int nElements_global,
463 int nInteriorElementBoundaries_global,
464 int nExteriorElementBoundaries_global,
465 int nElementBoundaries_element,
466 int nQuadraturePoints_elementBoundary,
470 int* interiorElementBoundaries,
471 int* exteriorElementBoundaries,
472 int* elementBoundaryElements,
473 int* elementBoundaryLocalElementBoundaries,
476 int* nodeStarElements,
477 int* nodeStarElementNeighbors,
480 int* fluxElementBoundaries,
481 int* fluxBoundaryNodes,
491 int* fluxBoundaryNodes,
495 int nElements_global,
496 int nInteriorElementBoundaries_global,
497 int nExteriorElementBoundaries_global,
498 int nElementBoundaries_element,
499 int nQuadraturePoints_elementBoundary,
502 int* interiorElementBoundaries,
503 int* exteriorElementBoundaries,
504 int* elementBoundaryElements,
505 int* elementBoundaryLocalElementBoundaries,
507 int* nodeStarElements,
508 int* nodeStarElementNeighbors,
510 int* fluxElementBoundaries,
511 double* elementResidual,
517 double* conservationResidual,
518 double* vConservative,
519 double* vConservative_element);
526 int nElements_global,
527 int nInteriorElementBoundaries_global,
528 int nExteriorElementBoundaries_global,
529 int nElementBoundaries_element,
530 int nQuadraturePoints_elementBoundary,
533 int* interiorElementBoundaries,
534 int* exteriorElementBoundaries,
535 int* elementBoundaryElements,
536 int* elementBoundaryLocalElementBoundaries,
538 int* nodeStarElements,
539 int* nodeStarElementNeighbors,
542 int* fluxElementBoundaries,
543 int* fluxBoundaryNodes,
554 int* fluxBoundaryNodes,
558 int nElements_global,
559 int nInteriorElementBoundaries_global,
560 int nExteriorElementBoundaries_global,
561 int nElementBoundaries_element,
562 int nQuadraturePoints_elementBoundary,
565 int *interiorElementBoundaries,
566 int *exteriorElementBoundaries,
567 int *elementBoundaryElements,
568 int *elementBoundaryLocalElementBoundaries,
570 int *nodeStarElements,
571 int *nodeStarElementNeighbors,
573 int *fluxElementBoundaries,
574 double *elementResidual,
580 double *conservationResidual,
581 double *vConservative,
582 double *vConservative_element
587 int nElements_global,
588 int nInteriorElementBoundaries_global,
589 int nExteriorElementBoundaries_global,
590 int nElementBoundaries_element,
591 int nQuadraturePoints_elementBoundary,
594 int *interiorElementBoundaries,
595 int *exteriorElementBoundaries,
596 int *elementBoundaryElements,
597 int *elementBoundaryLocalElementBoundaries,
599 int *nodeStarElements,
600 int *nodeStarElementNeighbors,
603 int *fluxElementBoundaries,
604 int *fluxBoundaryNodes,
613 int* fluxBoundaryNodes,
626 const double* grad_phi,
629 int nInteriorElementBoundaries_global,
630 int nExteriorElementBoundaries_global,
631 int nElementBoundaries_element,
632 int nQuadraturePoints_elementBoundary,
635 int* interiorElementBoundaries,
636 int* exteriorElementBoundaries,
637 int* elementBoundaryElements,
638 int* elementBoundaryLocalElementBoundaries,
639 int* skipflag_elementBoundaries,
640 double* elementResidual,
643 double* conservationResidual,
644 double* vConservative);
646 int nQuadraturePoints_element,
647 int nDOF_test_element,
648 int nElementBoundaries_element,
649 int nQuadraturePoints_elementBoundary,
653 int * nFreeDOF_element,
654 int * freeLocal_element,
658 double * elementBarycenters,
671 int nQuadraturePoints_element,
672 int nDOF_test_element,
673 int nElementBoundaries_element,
674 int nQuadraturePoints_elementBoundary,
678 int * nFreeDOF_element,
679 int * freeLocal_element,
683 double * elementBarycenters,
694 int nQuadraturePoints_element,
705 int nQuadraturePoints_element,
706 int nElementBoundaries_element,
707 int nQuadraturePoints_elementBoundary,
711 double * uQuadratureWeights_element,
712 double * elementBarycenters,
713 double * aElementQuadratureWeights,
715 double * uQuadratureWeights_elementBoundary,
719 double * x_elementBoundary,
720 double * u_elementBoundary,
726 double * rt0potential);
733 const double* grad_phi,
736 int nPoints_elementBoundary,
738 int * elementBoundaryElementsArray,
739 int * exteriorElementBoundariesArray,
740 double * x_elementBoundary_global,
741 double * rt0vdofs_element,
742 double * v_elementBoundary_global);
744 int nElements_global,
745 int nElementBoundaries_element,
746 int nQuadraturePoints_elementBoundary,
747 int nQuadraturePoints_elementInterior,
749 int nDOFs_test_element,
750 int nDOFs_trial_boundary_element,
751 int nDOFs_trial_interior_element,
757 double * BDMprojectionMat_element,
758 double * q_basis_vals,
759 double * w_int_test_grads,
760 double * w_int_div_free,
761 double * piola_trial_fun);
764 double *BDMprojectionMat_element,
765 int *BDMprojectionMatPivots_element);
767 int nElementBoundaries_element,
768 int nQuadraturePoints_elementBoundary,
770 int nDOFs_test_element,
772 double * BDMprojectionMatFact_element,
773 int* BDMprojectionMatPivots_element,
776 double * w_interior_gradients,
778 double * ebq_velocity,
779 double * p1_velocity_dofs);
781 int nElementBoundaries_element,
782 int nQuadraturePoints_elementBoundary,
783 int nQuadraturePoints_elementInterior,
785 int nDOFs_test_element,
787 int nDOFs_trial_interior_element,
788 double * BDMprojectionMatFact_element,
789 int* BDMprojectionMatPivots_element,
793 double * w_interior_grads,
794 double * w_interior_divfree,
795 double * ebq_velocity,
797 double * p1_velocity_dofs);
799 int nQuadraturePoints_element,
801 int nDOF_trial_element,
804 double * p1_velocity_dofs,
805 double * q_velocity);
807 int nQuadraturePoints_element,
809 int nDOF_trial_element,
812 double * velocity_dofs,
813 double * q_velocity);
815 int nQuadraturePoints_elementBoundary,
817 int nDOF_trial_element,
819 int *elementBoundaryElementsArray,
820 int *exteriorElementBoundariesArray,
822 double * p1_velocity_dofs,
823 double * ebqe_velocity);
826 int nBoundaries_Element,
827 int nQuadraturePoints_elementBoundary,
829 int nDOF_trial_element,
831 int *elementBoundaryElementsArray,
832 int *exteriorElementBoundariesArray,
834 double * p1_velocity_dofs,
835 double * ebq_velocity);
837 int nPoints_elementBoundary_global,
839 int nDetVals_element,
841 int *elementNodesArray,
842 int *elementBoundaryElementsArray,
843 int* exteriorElementBoundariesArray,
846 double * rt0vdofs_element,
849 int nElementBoundaries_element,
852 int nDetVals_element,
853 const double * nodeArray,
854 const int * elementNodesArray,
855 const double * abs_det_J,
857 const int * element_locations,
858 const double * rt0vdofs_element,
861 int nInteriorElementBoundaries_global,
862 int nExteriorElementBoundaries_global,
863 int nElementBoundaries_element,
864 int nQuadraturePoints_elementBoundary,
867 int* interiorElementBoundaries,
868 int* exteriorElementBoundaries,
869 int* elementBoundaryElements,
870 int* elementBoundaryLocalElementBoundaries,
872 int* nodeStarElements,
873 int* nodeStarElementNeighbors,
875 int* fluxElementBoundaries,
876 double* elementResidual,
882 double* conservationResidual,
883 double* vConservative,
884 double* vConservative_element);
886 int nElements_global,
887 int nInteriorElementBoundaries_global,
888 int nExteriorElementBoundaries_global,
889 int nElementBoundaries_element,
890 int nQuadraturePoints_elementBoundary,
893 int* interiorElementBoundaries,
894 int* exteriorElementBoundaries,
895 int* elementBoundaryElements,
896 int* elementBoundaryLocalElementBoundaries,
898 int* nodeStarElements,
899 int* nodeStarElementNeighbors,
901 int* fluxElementBoundaries,
906 int nElements_global,
909 int* nodeStarElements,
911 double* subdomain_U);
913 int nElements_global,
916 int* nodeStarElements,
918 double* subdomain_U);
921 int nDOF_element_res,
922 int nDOF_element_resPWL,
924 double* elementResidual,
925 double* elementResidualPWL);
void sunWheelerGSsweep(int nElements_global, int nElementBoundaries_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *dS, double *normal, double *sqrt_det_g, double *alpha, double *fluxCorrection, double *conservationResidual)
void getGlobalExteriorElementBoundaryRT0velocityValues(int nExteriorElementBoundaries_global, int nPoints_elementBoundary, int nSpace, int *elementBoundaryElementsArray, int *exteriorElementBoundariesArray, double *x_elementBoundary_global, double *rt0vdofs_element, double *v_elementBoundary_global)
int nodeStar_setU(NodeStarFactorStruct *nodeStarFactor, double val)
void solveLocalBDM1projection(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int nDOFs_test_element, int nVDOFs_element, double *BDMprojectionMatFact_element, int *BDMprojectionMatPivots_element, double *w_dS_f, double *ebq_n, double *ebq_velocity, double *p1_velocity_dofs)
void postProcessRT0potentialFromP1nc(int nElements_global, int nQuadraturePoints_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, double *uQuadratureWeights_element, double *elementBarycenters, double *aElementQuadratureWeights, double *detJ, double *uQuadratureWeights_elementBoundary, double *x, double *u, double *gradu, double *x_elementBoundary, double *u_elementBoundary, double *n, double *a, double *f, double *r, double *rt0vdofs, double *rt0potential)
void postProcessRT0velocityFromP1ncV2(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *nFreeDOF_element, int *freeLocal_element, double *detJ, double *sqrt_det_g, double *n, double *elementBarycenters, double *quad_a, double *quad_f, double *w_dV_r, double *w_dV_m, double *u, double *gradu, double *a, double *f, double *r, double *mt, double *rt0vdofs)
void getElementBoundaryBDM1velocityValuesLagrangeRep(int nElements_global, int nBoundaries_Element, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, int nVDOF_element, int *elementBoundaryElementsArray, int *exteriorElementBoundariesArray, double *ebq_v, double *p1_velocity_dofs, double *ebq_velocity)
void calculateConservationJacobianPWL_opt(int nNodes_owned, 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 *nElements_node, int *internalNodes, int *fluxElementBoundaries, int *fluxBoundaryNodes, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor)
void updateRT0velocityWithAveragedPotentialP1nc_sd(int nElements_global, int nQuadraturePoints_element, int nSpace, int *rowptr, int *colind, double *detJ, double *quad_a, double *phi, double *gradphi, double *a, double *rt0vdofs)
void invertLocal(int nSpace, double(*A)[3], double(*AI)[3])
void postprocessAdvectiveVelocityPointEval(int nPoints, int nSpace, double updateCoef, const double *f, double *velocity)
void getGlobalElementBoundaryRT0velocityValues(int nElementBoundaries_global, int nPoints_elementBoundary, int nSpace, int *elementBoundaryElementsArray, double *x_elementBoundary_global, double *rt0vdofs_element, double *v_elementBoundary_global)
void getElementBoundaryRT0velocityValuesFluxRep(int nElements_global, int nElementBoundaries_element, int nPoints_elementBoundary, int nSpace, int nDetVals_element, double *nodeArray, int *elementNodesArray, double *abs_det_J, double *x_elementBoundary, double *rt0vdofs_element, double *v_elementBoundary)
void factorLocalBDM1projectionMatrices(int nElements_global, int nVDOFs_element, double *BDMprojectionMat_element, int *BDMprojectionMatPivots_element)
void subdomain_U_copy_global2local(int max_nN_owned, int nElements_global, int nNodes_element, int *elementNodes, int *nodeStarElements, NodeStarFactorStruct *nodeStarFactor, double *subdomain_U)
int nodeStar_copy(int other_N, int *other_subdomain_dim, double **other_subdomain_L, double **other_subdomain_R, double **other_subdomain_U, PROTEUS_LAPACK_INTEGER **other_subdomain_pivots, PROTEUS_LAPACK_INTEGER **other_subdomain_column_pivots, int *N_p, int **subdomain_dim_p, double ***subdomain_L_p, double ***subdomain_R_p, double ***subdomain_U_p, PROTEUS_LAPACK_INTEGER ***subdomain_pivots_p, PROTEUS_LAPACK_INTEGER ***subdomain_column_pivots_p)
void calculateElementResidualPWL(int nElements, int nDOF_element_res, int nDOF_element_resPWL, double *alpha, double *elementResidual, double *elementResidualPWL)
PROTEUS_LAPACK_INTEGER ** subdomain_column_pivots
void subdomain_U_copy_local2global(int max_nN_owned, int nElements_global, int nNodes_element, int *elementNodes, int *nodeStarElements, NodeStarFactorStruct *nodeStarFactor, double *subdomain_U)
void postprocessDiffusiveVelocityPointEval(int nPoints, int nSpace, double updateCoef, const double *a, const double *grad_phi, double *velocity)
void postProcessRT0velocityFromP1nc_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *nFreeDOF_element, int *freeLocal_element, double *detJ, double *sqrt_det_g, double *n, double *elementBarycenters, double *quad_a, double *quad_f, double *w_dV_r, double *w_dV_m, double *u, double *gradu, double *a, double *f, double *r, double *mt, double *rt0vdofs)
void getGlobalExteriorElementBoundaryRT0velocityValuesFluxRep(int nExteriorElementBoundaries_global, int nPoints_elementBoundary_global, int nSpace, int nDetVals_element, double *nodeArray, int *elementNodesArray, int *elementBoundaryElementsArray, int *exteriorElementBoundariesArray, double *abs_det_J, double *x_ebqe, double *rt0vdofs_element, double *v_ebqe)
void getElementRT0velocityValues(int nElements_global, int nPoints_element, int nSpace, double *x_element, double *rt0vdofs_element, double *v_element)
void calculateConservationJacobianPWLv3(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 *nElements_node, int *internalNodes, int *fluxElementBoundaries, int *fluxBoundaryNodes, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor)
void postProcessRT0velocityFromP1ncNoMass_sd(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *nFreeDOF_element, int *freeLocal_element, double *detJ, double *sqrt_det_g, double *n, double *elementBarycenters, double *quad_a, double *quad_f, double *w_dV_r, double *u, double *gradu, double *a, double *f, double *r, double *rt0vdofs)
void getElementBDM2velocityValuesLagrangeRep(int nElements_global, int nQuadraturePoints_element, int nSpace, int nDOF_trial_element, int nVDOF_element, double *q_v, double *p1_velocity_dofs, double *q_velocity)
void postProcessRT0velocityFromP1nc(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *nFreeDOF_element, int *freeLocal_element, double *detJ, double *sqrt_det_g, double *n, double *elementBarycenters, double *quad_a, double *quad_f, double *w_dV_r, double *w_dV_m, double *u, double *gradu, double *a, double *f, double *r, double *mt, double *rt0vdofs)
void getElementBoundaryRT0velocityValues(int nElements_global, int nElementBoundaries_element, int nPoints_elementBoundary, int nSpace, double *x_elementBoundary, double *rt0vdofs_element, double *v_elementBoundary)
void calculateConservationResidualPWL_opt(int nNodes_owned, 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 *nElements_node, int *fluxElementBoundaries, double *elementResidual, double *vAverage, double *dX, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor, double *conservationResidual, double *vConservative, double *vConservative_element)
void getGlobalElementBoundaryRT0velocityValuesFluxRep(int nElementBoundaries_global, int nPoints_elementBoundary_global, int nSpace, int nDetVals_element, double *nodeArray, int *elementNodesArray, int *elementBoundaryElementsArray, double *abs_det_J, double *x_elementBoundary_global, double *rt0vdofs_element, double *v_elementBoundary_global)
void updateSelectedExteriorElementBoundaryFlux(int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *skipflag_elementBoundaries, double *flux, double *w_dS, double *residual)
Update the element boundary flux on exterior element boundaries.
void calculateConservationResidualPWL_interiorBoundaries(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 *nElements_node, int *fluxElementBoundaries, double *elementResidual, double *vAverage, double *dX, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor, double *conservationResidual, double *vConservative, double *vConservative_element)
void calculateConservationResidualPWL(int nElements_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_element, int nNodes_element, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *elementNodes, int *dofMapl2g, int *nodeStarElements, int *nodeStarElementNeighbors, int *nElements_node, int *fluxElementBoundaries, double *elementResidual, double *vAverage, double *dX, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor, double *conservationResidual, double *vConservative, double *vConservative_element)
void calculateConservationFluxPWL(int nNodes_global, int nNodes_internal, int *nElements_node, int *internalNodes, int *fluxBoundaryNodes, NodeStarFactorStruct *nodeStarFactor)
void updateRT0velocityWithAveragedPotentialP1nc(int nElements_global, int nQuadraturePoints_element, int nSpace, double *detJ, double *quad_a, double *phi, double *gradphi, double *a, double *rt0vdofs)
void getElementBDM1velocityValuesLagrangeRep(int nElements_global, int nQuadraturePoints_element, int nSpace, int nDOF_trial_element, int nVDOF_element, double *q_v, double *p1_velocity_dofs, double *q_velocity)
void calculateConservationResidualPWLv3(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 *nElements_node, int *fluxElementBoundaries, double *elementResidual, double *vAverage, double *dX, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor, double *conservationResidual, double *vConservative, double *vConservative_element)
void calculateConservationResidualPWL_primative(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 *skipflag_elementBoundaries, double *elementResidual, double *dX, double *normal, double *conservationResidual, double *vConservative)
void postProcessRT0potentialFromP1nc_sd(int nElements_global, int nQuadraturePoints_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, double *uQuadratureWeights_element, double *elementBarycenters, double *aElementQuadratureWeights, double *detJ, double *uQuadratureWeights_elementBoundary, double *x, double *u, double *gradu, double *x_elementBoundary, double *u_elementBoundary, double *n, double *a, double *f, double *r, double *rt0vdofs, double *rt0potential)
void postProcessRT0velocityFromP1ncNoMass(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *nFreeDOF_element, int *freeLocal_element, double *detJ, double *sqrt_det_g, double *n, double *elementBarycenters, double *quad_a, double *quad_f, double *w_dV_r, double *u, double *gradu, double *a, double *f, double *r, double *rt0vdofs)
PROTEUS_LAPACK_INTEGER ** subdomain_pivots
void getRT0velocityValuesFluxRep_arbitraryElementMembership(int nElements_global, int nElementBoundaries_element, int nPoints, int nSpace, int nDetVals_element, const double *nodeArray, const int *elementNodesArray, const double *abs_det_J, const double *x, const int *element_locations, const double *rt0vdofs_element, double *v_element)
void calculateConservationFluxPWL_opt(int nNodes_owned, int nNodes_global, int nNodes_internal, int *nElements_node, int *internalNodes, int *fluxBoundaryNodes, NodeStarFactorStruct *nodeStarFactor)
void getGlobalExteriorElementBoundaryBDM1velocityValuesLagrangeRep(int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int nDOF_trial_element, int nVDOF_element, int *elementBoundaryElementsArray, int *exteriorElementBoundariesArray, double *ebqe_v, double *p1_velocity_dofs, double *ebqe_velocity)
void postprocessDiffusiveVelocityPointEval_sd(int nPoints, int nSpace, double updateCoef, int *rowptr, int *colind, const double *a, const double *grad_phi, double *velocity)
void buildLocalBDM2projectionMatrices(int degree, int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_elementInterior, int nSpace, int nDOFs_test_element, int nDOFs_trial_boundary_element, int nDOFs_trial_interior_element, int nVDOFs_element, int *edgeFlags, double *w_dS_f, double *ebq_n, double *ebq_v, double *BDMprojectionMat_element, double *q_basis_vals, double *w_int_test_grads, double *w_int_div_free, double *piola_trial_fun)
void solveLocalBDM1projectionFromFlux(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOFs_test_element, int nVDOFs_element, double *BDMprojectionMatFact_element, int *BDMprojectionMatPivots_element, int *elementBoundaryElementsArray, int *elementBoundariesArray, double *w_dS_f, double *ebq_global_flux, double *p1_velocity_dofs)
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, int *exteriorElementBoundariesToSkip, double *dS, double *normal, double *elementResidual, double *velocity, double *conservationResidual)
void calculateConservationFluxPWLv3(int nNodes_global, int nNodes_internal, int *nElements_node, int *internalNodes, int *fluxBoundaryNodes, NodeStarFactorStruct *nodeStarFactor)
void computeFluxCorrectionPWC(int nElementBoundaries_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, double *pwcW, double *pwcV, double *fluxCorrection)
void projectElementBoundaryVelocityToRT0fluxRep(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, double *elementBoundaryQuadratureWeights, double *n, double *v_elementBoundary, double *rt0vdofs_element)
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 nDOF_element, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, int *elementNodes, int *dofMapl2g, int *nodeStarElements, int *nodeStarElementNeighbors, int *nElements_node, int *internalNodes, int *fluxElementBoundaries, int *fluxBoundaryNodes, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor)
void buildLocalBDM1projectionMatrices(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int nDOFs_test_element, int nDOFs_trial_element, int nVDOFs_element, double *w_dS_f, double *ebq_n, double *ebq_v, double *BDMprojectionMat_element)
int nodeStar_free(int N, int *subdomain_dim, double **subdomain_L, double **subdomain_R, double **subdomain_U, PROTEUS_LAPACK_INTEGER **subdomain_pivots, PROTEUS_LAPACK_INTEGER **subdomain_column_pivots_p)
void factorLocalBDM2projectionMatrices(int nElements_global, int nVDOFs_element, double *BDMprojectionMat_element, int *BDMprojectionMatPivots_element)
void calculateConservationJacobianPWL_interiorBoundaries(int nNodes_global, 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 *nElements_node, int *fluxElementBoundaries, double *w, double *normal, NodeStarFactorStruct *nodeStarFactor)
void postProcessRT0velocityFromP1ncV2noMass(int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *nFreeDOF_element, int *freeLocal_element, double *detJ, double *sqrt_det_g, double *n, double *elementBarycenters, double *quad_a, double *quad_f, double *w_dV_r, double *u, double *gradu, double *a, double *f, double *r, double *rt0vdofs)
void buildBDM2rhs(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nQuadraturePoints_elementInterior, int nSpace, int nDOFs_test_element, int nVDOFs_element, int nDOFs_trial_interior_element, double *BDMprojectionMatFact_element, int *BDMprojectionMatPivots_element, int *edgeFlags, double *w_dS_f, double *ebq_n, double *w_interior_grads, double *w_interior_divfree, double *ebq_velocity, double *q_velocity, double *p1_velocity_dofs)
int nodeStar_init(int nElements_global, int nNodes_element, int nNodes_global, int *nElements_node, int *nodeStarElementsArray, int *nodeStarElementNeighborsArray, int *N_p, int **subdomain_dim_p, double ***subdomain_L_p, double ***subdomain_R_p, double ***subdomain_U_p, PROTEUS_LAPACK_INTEGER ***subdomain_pivots_p, PROTEUS_LAPACK_INTEGER ***subdomain_column_pivots_p)
void solveLocalBDM2projection(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int nDOFs_test_element, int nVDOFs_element, double *BDMprojectionMatFact_element, int *BDMprojectionMatPivots_element, double *w_dS_f, double *ebq_n, double *w_interior_gradients, double *q_velocity, double *ebq_velocity, double *p1_velocity_dofs)
void fluxCorrectionVelocityUpdate(int nElements_global, int nElementBoundaries_global, int nInteriorElementBoundaries_global, int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *dS, double *normal, double *fluxCorrection, double *vConservative, double *vConservative_element)
void getElementRT0velocityValuesFluxRep(int nElements_global, int nElementBoundaries_element, int nPoints_element, int nSpace, int nDetVals_element, double *nodeArray, int *elementNodesArray, double *abs_det_J, double *x_element, double *rt0vdofs_element, double *v_element)
void getElementLDGvelocityValuesLagrangeRep(int nElements_global, int nQuadraturePoints_element, int nSpace, int nDOF_trial_element, int nVDOF_element, double *q_v, double *velocity_dofs, double *q_velocity)
void projectElementBoundaryFluxToRT0fluxRep(int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nDOF_RT0V_element, int *elementBoundaryElementsArray, int *elementBoundariesArray, double *elementBoundaryQuadratureWeights, double *flux_elementBoundary, double *rt0vdofs_element)