proteus  1.8.1
C/C++/Fortran libraries
femIntegrals.c File Reference
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include <strings.h>
#include <assert.h>
#include "femIntegrals.h"
Include dependency graph for femIntegrals.c:

Go to the source code of this file.

#define TR_ALPHA   0.5
 
#define TR_ALPHA_EXT   1.0
 
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 copyGlobalElementBoundaryInfo (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 *ebqe_x, double *ebqe_n, double *xg, double *ng)
 
void copyLeftElementBoundaryInfo_movingDomain (int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nExteriorElementBoundaries_global, int nInteriorElementBoundaries_global, int *elementBoundaryElementsArray, int *elementBoundaryLocalElementBoundariesArray, int *exteriorElementBoundariesArray, int *interiorElementBoundariesArray, double *xt)
 
void parametricFiniteElementSpace_getValues (int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *psi, double *vArray)
 
void parametricFiniteElementSpace_getValuesTrace (int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, double *psi, int *permutations, double *vArray)
 
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 parametricFiniteElementSpace_getGradientValues (int nElements_global, int nQuadraturePoints_element, int nDOF_element, int nSpace_global, double *grad_psi, double *inverseJacobianArray, double *grad_vArray)
 
void parametricFiniteElementSpace_getHessianValues (int nElements_global, int nQuadraturePoints_element, int nDOF_element, int nSpace_global, double *Hessian_psi, double *inverseJacobianArray, double *Hessian_vArray)
 
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 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 parametricMaps_getPermutations (int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nSpace_global, double *xiArray, int *permutations)
 
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 getPermutationsGlobal (int nElementBoundaries_global, int nElementBoundaryQuadraturePoints_elementBoundary, double *xArray, double *xArrayNew, int *permutations)
 
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_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_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 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 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 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 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 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 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 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 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 parametricMaps_getJacobianValuesTrace2D_movingDomain (int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nDOF_element, double *xtArray, double *grad_psi, double *boundaryNormals, double *boundaryJacobians, int *l2g, double *nodeArray, double *jacobianInverseArray, double *metricTensorArray, double *metricTensorDeterminantSqrtArray, double *unitNormalArray)
 
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 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 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 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 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 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 approximation of the mass integral. More...
 
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 approximation of the mass integral Jacobian. More...
 
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 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 the mass term. More...
 
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 quadrature points with the mass term. More...
 
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, with the mass term. More...
 
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 approximation of the advection integral. More...
 
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 approximation of the advection integral Jacobian. More...
 
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 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. More...
 
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 advection term. More...
 
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 with the advection term. More...
 
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 approximation of the Hamiltonian integral. More...
 
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 approximation of the Hamiltonian integral Jacobian. More...
 
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 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. More...
 
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 advection term. More...
 
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 with the Hamiltonian term. More...
 
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 approximation of the diffusion integral. More...
 
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 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 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 approximation of the diffusion integral Jacobian. More...
 
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)
 
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 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 quadrature points. More...
 
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 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 quadrature points. More...
 
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 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 with the diffusion term. More...
 
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 updateDiffusion2_strong (int nElements_global, int nQuadraturePoints_element, int nSpace, double *a, double *Hess_phi, double *strong_residual)
 
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 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 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 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 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 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 approximation of the reaction integral. More...
 
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 approximation of the reaction integral Jacobian. More...
 
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 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 the reaction term. More...
 
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 the reaction term. More...
 
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, with the mass term. More...
 
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 approximation of the stabilization integral. More...
 
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 approximation of the stabilization integral Jacobian. More...
 
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 approximation of the shock capturing integral. More...
 
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 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 approximation of the shock capturing integral Jacobian. More...
 
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)
 
void calculateScalarScalarProduct (int nElements_global, int nQuadraturePoints_element, double *s1, double *s2, double *sResult)
 Calculate the product of two scalars at the quadrature points. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 updateGlobalExteriorElementBoundaryStressFlux (int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nDOF_test_element, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *stressFlux, double *w_dS, double *residual)
 
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. More...
 
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 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 accumulateExteriorElementPressureIntegrals (int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int *elementBoundaryMaterialTypes, int *exteriorElementBoundaries, double *p, double *dS, double *P, double *boundaryMeasure)
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 interior boundaries. More...
 
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. More...
 
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. More...
 
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 difference from updateGlobalJacobianFromGlobalExteriorElementBoundaryFluxJacobian is test function dimensionality right now. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 difference from updateGlobalJacobianFromGlobalExteriorElementBoundaryFluxJacobian is test function dimensionality right now. More...
 
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 interior boundaries. More...
 
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. More...
 
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. More...
 
void calculateWeightedPiolaShapeGradients (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)
 THIS SHOULD BE REMOVED BEFORE MERGE. More...
 
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 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. More...
 
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. More...
 
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. More...
 
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 quadrature points. More...
 
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. More...
 
void calculateWeightedPiolaShapeTrace (int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_test_element, double *dSR, double *sqrt_det_g, double *w, double *w_dS)
 
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. More...
 
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. More...
 
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 boundary version. More...
 
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 boundary version. More...
 
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. More...
 
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 determinants. More...
 
void calculateElementBoundaryIntegrationWeights (int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, double *sqrt_det_g, double *referenceWeights, double *weights)
 
void calculateGlobalExteriorElementBoundaryIntegrationWeights (int nQuadraturePoints_elementBoundary, int nExteriorElementBoundaries_global, double *sqrt_det_g, double *referenceWeights, double *weights)
 
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 degrees of freedom and the test function values at the quadrature points. More...
 
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 from the degrees of freedom and the test function gradient values at the quadrature points. More...
 
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 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 the test functions. More...
 
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 points from the degrees of freedom and the trace of the trial functions at the element boundary quadrature points. More...
 
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 quadrature points from the degress of freedom and the trace of the trial functions at the element boundary quadrature points. More...
 
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 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 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. More...
 
void updateAddJacobian_CSR (int jacIndex, double val, double *jac)
 Update a single element of the Jacobian. More...
 
void zeroJacobian_CSR (int nNonzeros, double *jac)
 Set all the Jacobian entries to 0.0. More...
 
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 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 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 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 equation. More...
 
void calculateDimensionlessNumbersADR_sd (int nElements_global, int nQuadraturePoints_element, int nSpace, int computeDiffusiveTimeStepLimit, int *rowptr, int *colind, double *elementDiameter, double *df, double *a, double *dphi, double *dr, double *dmt, double *pe, double *cfl)
 
void calculateCFLADR (int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dm, double *df, double *cfl)
 
void calculateCFLADR2speeds (int nElements_global, int nQuadraturePoints_element, int nSpace, double *elementDiameter, double *dm, double *df1, double *df2, double *cfl)
 
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. More...
 
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 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. More...
 
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 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. More...
 
void updateGlobalExteriorElementBoundaryDiffusiveVelocity_sd (int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *rowptr, int *colind, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *a, double *grad_phi, double *velocity)
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
void calculateInteriorElementBoundaryAverageVelocity (int nInteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *interiorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *v, double *vAverage)
 
void calculateExteriorElementBoundaryAverageVelocity (int nExteriorElementBoundaries_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *elementBoundaryElements, int *elementBoundaryLocalElementBoundaries, double *v, double *vAverage)
 
void calculateConservationResidualDG (int nElements_global, int nDOF_test_element, double *elementResidual, double *conservationResidual)
 
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 More...
 
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 loadBoundaryFluxIntoGlobalElementBoundaryVelocity (int nExteriorElementBoundaries_global, int nQuadraturePoints_elementBoundary, int nSpace, int *exteriorElementBoundaries, int *fluxElementBoundaries, double *normal, double *flux, double updateCoef, double *velocity)
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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 updatePotential_MixedForm_weak_gwvd (int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, double epsilon, double *phi, double *w_dV, double *grad_w_dV, double *b, double *mf)
 
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 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 calculateVelocityQuadrature_MixedForm2 (int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace, int nQuadraturePoints_element, double *qa, double *qw_dV, double *b, double *v, double *V, double *qv, double *qV)
 
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 calculateVelocityQuadrature_MixedForm2_vdof_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, double *vel_dofs)
 
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 calculateVelocityQuadrature_MixedForm2_Jacobian (int nElements_global, int nElementBoundaries_element, int nElementBoundaryQuadraturePoints_elementBoundary, int nDOF_element, int nSpace, int nQuadraturePoints_element, double *qa, double *qw_dV, double *db, double *db_eb, double *v, double *DV, double *DV_eb, double *qv, double *qDV, double *qDV_eb)
 
void calculateVelocityQuadrature_MixedForm2_Jacobian_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 *db, double *db_eb, double *v, double *DV, double *DV_eb, double *qv, double *qDV, double *qDV_eb)
 
void calculateVelocityProjectionMatrixLDG (int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *vXw_dV, double *A_inv)
 
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 updateDiffusion_MixedForm_weak_sd (int nElements_global, int nQuadraturePoints_element, int nDOF_test_element, int nSpace, int rho_split, int *rowptr, int *colind, double *a, double *qV, double *grad_w_dV, double *velocity, double *weak_residual)
 
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 updateDiffusionJacobian_MixedForm_weak_sd (int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_element, int nDOF_trial_element, int nDOF_test_element, int nSpace, int *rowptr, int *colind, 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 estimate_mt (int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *v, double *vXw_dV, double *elementSpatialResidual, double *mt)
 
void estimate_mt_lowmem (int nElements_global, int nQuadraturePoints_element, int nDOF_element, double *v, double *w_dV, double *elementSpatialResidual, double *mt)
 
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 More...
 
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 More...
 
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 More...
 
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 More...
 
double scalarDomainIntegral (int nElements, int nQuadraturePoints_element, double *dV, double *nValueArray)
 
double scalarHeavisideDomainIntegral (int nElements, int nQuadraturePoints_element, double *dV, double *nValueArray)
 
double scalarSmoothedHeavisideDomainIntegral (int nElements, int nQuadraturePoints_element, double epsFact, double *elementDiameter, double *dV, double *nValueArray)
 
double fluxDomainBoundaryIntegral (int nExteriorElementBoundaries, int nElementBoundaries_owned, int nQuadraturePoints_elementBoundary, int *flag, int *exteriorElementBoundariesArray, double *dS, double *nValueArray)
 
double fluxDomainBoundaryIntegralFromVector (int nExteriorElementBoundaries, int nElementBoundaries_owned, int nQuadraturePoints_elementBoundary, int nSpace, int *flag, int *exteriorElementBoundaries, double *dS, double *nValueArray, double *normal)
 
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 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 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)
 
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)
 
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 copyFreeUnknownsToGlobalUnknowns (int nDOF2set, int offset, int stride, const int *globalDOFids, const int *freeDOFids, const double *free_u, double *u)
 
void copyGlobalUnknownsToFreeUnknowns (int nDOF2set, int offset, int stride, const int *globalDOFids, const int *freeDOFids, const double *u, double *free_u)
 
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 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 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)
 
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 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 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 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 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 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 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_q (int nElements_global, int nQuadraturePoints_element, int nSpace, double *xt, double *m, double *f)
 
void update_f_movingDomain_constantMass_q (int nElements_global, int nQuadraturePoints_element, int nSpace, double *xt, double *f)
 
void update_f_movingDomain_ebq (int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, double *xt, double *m, double *f)
 
void update_f_movingDomain_constantMass_ebq (int nElements_global, int nElementBoundaries_element, int nQuadraturePoints_elementBoundary, int nSpace, double *xt, double *f)
 
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 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 projectFromNodalInterpolationConditions (int nElements_global, int nDOF_element, int dim_dof, const int *l2g, const int *functional_map_element, const double *interpolationValues, double *dofs)
 

Macro Definition Documentation

◆ TR_ALPHA

#define TR_ALPHA   0.5

Definition at line 8652 of file femIntegrals.c.

◆ TR_ALPHA_EXT

#define TR_ALPHA_EXT   1.0

Definition at line 8653 of file femIntegrals.c.

Function Documentation

◆ accumulateExteriorElementPressureIntegrals()

void accumulateExteriorElementPressureIntegrals ( int  nExteriorElementBoundaries_global,
int  nQuadraturePoints_elementBoundary,
int *  elementBoundaryMaterialTypes,
int *  exteriorElementBoundaries,
double *  p,
double *  dS,
double *  P,
double *  boundaryMeasure 
)

compute average pressure over different exterior element boundaries requires pressure and boundary measure to be zeroed outside call if that is desired

Definition at line 4618 of file femIntegrals.c.

◆ calculateDimensionlessNumbersADR_sd()

void calculateDimensionlessNumbersADR_sd ( int  nElements_global,
int  nQuadraturePoints_element,
int  nSpace,
int  computeDiffusiveTimeStepLimit,
int *  rowptr,
int *  colind,
double *  elementDiameter,
double *  df,
double *  a,
double *  dphi,
double *  dr,
double *  dmt,
double *  pe,
double *  cfl 
)

Definition at line 7647 of file femIntegrals.c.

◆ calculateVelocityQuadrature_MixedForm2()

void calculateVelocityQuadrature_MixedForm2 ( int  nElements_global,
int  nElementBoundaries_element,
int  nElementBoundaryQuadraturePoints_elementBoundary,
int  nDOF_element,
int  nSpace,
int  nQuadraturePoints_element,
double *  qa,
double *  qw_dV,
double *  b,
double *  v,
double *  V,
double *  qv,
double *  qV 
)

Definition at line 9210 of file femIntegrals.c.

◆ calculateVelocityQuadrature_MixedForm2_Jacobian()

void calculateVelocityQuadrature_MixedForm2_Jacobian ( int  nElements_global,
int  nElementBoundaries_element,
int  nElementBoundaryQuadraturePoints_elementBoundary,
int  nDOF_element,
int  nSpace,
int  nQuadraturePoints_element,
double *  qa,
double *  qw_dV,
double *  db,
double *  db_eb,
double *  v,
double *  DV,
double *  DV_eb,
double *  qv,
double *  qDV,
double *  qDV_eb 
)

Definition at line 9723 of file femIntegrals.c.

◆ calculateVelocityQuadrature_MixedForm2_Jacobian_sd()

void calculateVelocityQuadrature_MixedForm2_Jacobian_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 *  db,
double *  db_eb,
double *  v,
double *  DV,
double *  DV_eb,
double *  qv,
double *  qDV,
double *  qDV_eb 
)

Definition at line 9911 of file femIntegrals.c.

◆ calculateVelocityQuadrature_MixedForm2_vdof_sd()

void calculateVelocityQuadrature_MixedForm2_vdof_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,
double *  vel_dofs 
)

Definition at line 9426 of file femIntegrals.c.

◆ calculateWeightedPiolaShapeGradients()

void calculateWeightedPiolaShapeGradients ( 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 
)

Definition at line 6473 of file femIntegrals.c.

◆ calculateWeightedPiolaShapeTrace()

void calculateWeightedPiolaShapeTrace ( int  nElements_global,
int  nElementBoundaries_element,
int  nElementBoundaryQuadraturePoints_elementBoundary,
int  nDOF_test_element,
double *  dSR,
double *  sqrt_det_g,
double *  w,
double *  w_dS 
)

Definition at line 6704 of file femIntegrals.c.

◆ copyGlobalElementBoundaryInfo()

void copyGlobalElementBoundaryInfo ( 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 *  ebqe_x,
double *  ebqe_n,
double *  xg,
double *  ng 
)

Definition at line 103 of file femIntegrals.c.

◆ copyLeftElementBoundaryInfo_movingDomain()

void copyLeftElementBoundaryInfo_movingDomain ( int  nElementBoundaries_element,
int  nElementBoundaryQuadraturePoints_elementBoundary,
int  nExteriorElementBoundaries_global,
int  nInteriorElementBoundaries_global,
int *  elementBoundaryElementsArray,
int *  elementBoundaryLocalElementBoundariesArray,
int *  exteriorElementBoundariesArray,
int *  interiorElementBoundariesArray,
double *  xt 
)

Definition at line 208 of file femIntegrals.c.

◆ parametricMaps_getJacobianValuesTrace2D_movingDomain()

void parametricMaps_getJacobianValuesTrace2D_movingDomain ( int  nElements_global,
int  nElementBoundaries_element,
int  nQuadraturePoints_element,
int  nDOF_element,
double *  xtArray,
double *  grad_psi,
double *  boundaryNormals,
double *  boundaryJacobians,
int *  l2g,
double *  nodeArray,
double *  jacobianInverseArray,
double *  metricTensorArray,
double *  metricTensorDeterminantSqrtArray,
double *  unitNormalArray 
)

Definition at line 1173 of file femIntegrals.c.

◆ updateDiffusion_MixedForm_weak_sd()

void updateDiffusion_MixedForm_weak_sd ( int  nElements_global,
int  nQuadraturePoints_element,
int  nDOF_test_element,
int  nSpace,
int  rho_split,
int *  rowptr,
int *  colind,
double *  a,
double *  qV,
double *  grad_w_dV,
double *  velocity,
double *  weak_residual 
)

Definition at line 10169 of file femIntegrals.c.

◆ updateDiffusionJacobian_MixedForm_weak_sd()

void updateDiffusionJacobian_MixedForm_weak_sd ( int  nElements_global,
int  nElementBoundaries_element,
int  nQuadraturePoints_element,
int  nDOF_trial_element,
int  nDOF_test_element,
int  nSpace,
int *  rowptr,
int *  colind,
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 
)

Definition at line 10343 of file femIntegrals.c.

◆ updateGlobalExteriorElementBoundaryDiffusiveVelocity_sd()

void updateGlobalExteriorElementBoundaryDiffusiveVelocity_sd ( int  nExteriorElementBoundaries_global,
int  nQuadraturePoints_elementBoundary,
int  nSpace,
int *  rowptr,
int *  colind,
int *  exteriorElementBoundaries,
int *  elementBoundaryElements,
int *  elementBoundaryLocalElementBoundaries,
double *  a,
double *  grad_phi,
double *  velocity 
)

Definition at line 8028 of file femIntegrals.c.

◆ updateGlobalExteriorElementBoundaryStressFlux()

void updateGlobalExteriorElementBoundaryStressFlux ( int  nExteriorElementBoundaries_global,
int  nQuadraturePoints_elementBoundary,
int  nDOF_test_element,
int *  exteriorElementBoundaries,
int *  elementBoundaryElements,
int *  elementBoundaryLocalElementBoundaries,
double *  stressFlux,
double *  w_dS,
double *  residual 
)

Definition at line 4392 of file femIntegrals.c.

◆ updatePotential_MixedForm_weak_gwvd()

void updatePotential_MixedForm_weak_gwvd ( int  nElements_global,
int  nQuadraturePoints_element,
int  nDOF_test_element,
int  nSpace,
double  epsilon,
double *  phi,
double *  w_dV,
double *  grad_w_dV,
double *  b,
double *  mf 
)

Definition at line 9066 of file femIntegrals.c.