PetscDualSpacePushforwardGradient#
Transform the given function gradient so that it operates on real space, rather than the reference element. Operationally, this means that we map the function evaluations depending on continuity requirements of our finite element method.
Synopsis#
#include "petscfe.h"
PetscErrorCode PetscDualSpacePushforwardGradient(PetscDualSpace dsp, PetscFEGeom *fegeom, PetscInt Nq, PetscInt Nc, PetscScalar pointEval[])
Input Parameters#
dsp - The
PetscDualSpace
fegeom - The geometry for this cell
Nq - The number of function gradient samples
Nc - The number of function components
pointEval - The function gradient values
Output Parameter#
pointEval - The transformed function gradient values
Notes#
Functionals transform in a complementary way (pullback) to functions, so that the scalar product is invariant. The type of transform is dependent on the associated k-simplex from the DeRahm complex.
This only handles transformations when the embedding dimension of the geometry in fegeom is the same as the reference dimension.
See Also#
PetscDualSpace
, PetscDualSpacePushforward()
, PPetscDualSpacePullback()
, PetscDualSpaceTransform()
, PetscDualSpaceGetDeRahm()
Level#
advanced
Location#
src/dm/dt/dualspace/interface/dualspace.c
Index of all DUALSPACE routines
Table of Contents for all manual pages
Index of all manual pages