Boundary Integrals Jacobian

Boundary Integrals Differentiated

This page describes how the boundary integral contribution to the Jacobian is calculated.

Entry Point

Differentiated version of evalBoundaryIntegrals.

Inputs

  • mesh

  • sbp

  • eqn

  • opts

  • assembler.

source

Functions

Computes the jacobian of the boundary condition terms for a given BC and assembles it into the Jacobian. See calcBoundaryFlux_nopre. Note that this function does not depend on any quatiites being precomputed.

Inputs

  • mesh

  • sbp

  • eqn

  • functor: this is the regular BCType functor, not BCType_diff

  • idx_range: range of indices in mesh.bndryfaces that bndry_facenums came from

  • bndry_facenums: array of Boundary objects to compute the BC for

  • assembler: AssembleElementData needed to assemble the element level jacobian into the system jacobian

Implementation Notes

Currently this computes the jacobian of the flux with respect to the face via complex step (using eqn.params_complex). This should be replaced with dual numbers eventually

source

Computes the jacobian of the boundary condition terms computed by getBCFluxes and assembles them into the Jacobian

Inputs

  • mesh

  • sbp

  • eqn

  • opts

  • assembler: AssembleElementData

source

Boundary Condition Functors

The same functors used to compute the boundary integral are also used to compute the Jacobian contribution.