Skip to main content
`Ctrl`+`K`

# PetscDualSpaceTransformType

The type of function transform

## Values

- `IDENTITY_TRANSFORM` - make no changes in the function

- `COVARIANT_PIOLA_TRANSFORM` - Covariant Piola: \(\sigma^*(F) = J^{-T} F \circ \phi^{-1)\)

- `CONTRAVARIANT_PIOLA_TRANSFORM` - Contravariant Piola: \(\sigma^*(F) = 1/|J| J F \circ \phi^{-1)\)

## Note

These transforms, and their inverses, are used to move functions and functionals between the reference element and real space. Suppose that we have a mapping \(\phi\) which maps the reference cell to real space, and its Jacobian \(J\). If we want to transform function \(F\) on the reference element, so that it acts on real space, we use the pushforward transform \(\sigma^*\). The pullback \(\sigma_*\) is the inverse transform. [RKL09]

## References

[RKL09]

Marie E Rognes, Robert C Kirby, and Anders Logg. Efficient assembly of H(div) and H(curl) conforming finite elements. SIAM Journal on Scientific Computing, 31(6):4130–4151, 2009.

## See Also

`PetscDualSpaceGetDeRahm()`

## Level

intermediate

## Location

include/petscdualspace.h

Index of all DUALSPACE routines
Table of Contents for all manual pages
Index of all manual pages