petsc-main 2021-04-20
Report Typos and Errors

# PetscFEIntegrateHybridJacobian

Produce the boundary element Jacobian for a chunk of hybrid elements by quadrature integration

### Synopsis

#include "petscfe.h"
PetscErrorCode PetscFEIntegrateHybridJacobian(PetscDS ds, PetscFEJacobianType jtype, PetscHashFormKey key, PetscInt Ne, PetscFEGeom *fgeom,
const PetscScalar coefficients[], const PetscScalar coefficients_t[], PetscDS probAux, const PetscScalar coefficientsAux[], PetscReal t, PetscReal u_tshift, PetscScalar elemMat[])

Not collective

### Input Parameters

 ds - The PetscDS specifying the discretizations and continuum functions jtype - The type of matrix pointwise functions that should be used key - The (label+value, fieldI*Nf + fieldJ) being integrated Ne - The number of elements in the chunk fgeom - The face geometry for each cell in the chunk coefficients - The array of FEM basis coefficients for the elements for the Jacobian evaluation point coefficients_t - The array of FEM basis time derivative coefficients for the elements probAux - The PetscDS specifying the auxiliary discretizations coefficientsAux - The array of FEM auxiliary basis coefficients for the elements t - The time u_tShift - A multiplier for the dF/du_t term (as opposed to the dF/du term)

Output Parameter

 elemMat - the element matrices for the Jacobian from each element

### Note

Loop over batch of elements (e):

  Loop over element matrix entries (f,fc,g,gc --> i,j):

    Loop over quadrature points (q):

      Make u_q and gradU_q (loops over fields,Nb,Ncomp)

        elemMat[i,j] += \psi^{fc}_f(q) g0_{fc,gc}(u, \nabla u) \phi^{gc}_g(q)

                     + \psi^{fc}_f(q) \cdot g1_{fc,gc,dg}(u, \nabla u) \nabla\phi^{gc}_g(q)

                     + \nabla\psi^{fc}_f(q) \cdot g2_{fc,gc,df}(u, \nabla u) \phi^{gc}_g(q)

                     + \nabla\psi^{fc}_f(q) \cdot g3_{fc,gc,df,dg}(u, \nabla u) \nabla\phi^{gc}_g(q)


PetscFEIntegrateJacobian(), PetscFEIntegrateResidual()

developer

### Location

src/dm/dt/fe/interface/fe.c

### Implementations

src/dm/dt/fe/impls/basic/febasic.c:1012:PetscErrorCode PetscFEIntegrateHybridJacobian_Basic(PetscDS ds, PetscFEJacobianType jtype, PetscHashFormKey key, PetscInt Ne, PetscFEGeom *fgeom,
Index of all FE routines