:orphan:
# 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)$



## Notes
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.


## References

- ***Rognes, Kirby, and Logg, Efficient Assembly of Hdiv and Hrot Conforming Finite Elements, SISC, 31(6), 4130-*** 4151, arXiv 1205.3085, 2010



## See Also
 `PetscDualSpaceGetDeRahm()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/include/petscdualspace.h.html#PetscDualSpaceTransformType">include/petscdualspace.h</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/include/petscdualspace.h)


[Index of all DUALSPACE routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
