:orphan: # DMPlexRefineRegularGetAffineFaceTransforms Gets the affine map from the reference face cell to each face in the given cell ## Synopsis ``` #include "petscdmplextransform.h" PetscErrorCode DMPlexRefineRegularGetAffineFaceTransforms(DMPlexTransform tr, DMPolytopeType ct, PetscInt *Nf, PetscReal *v0[], PetscReal *J[], PetscReal *invJ[], PetscReal *detJ[]) ``` ## Input Parameters - ***cr -*** The `DMPlexTransform` object - ***ct -*** The cell type ## Output Parameters - ***Nf -*** The number of faces for this cell type - ***v0 -*** The translation of the first vertex for each face - ***J -*** The Jacobian for each face (map from original cell to subcell) - ***invJ -*** The inverse Jacobian for each face - ***detJ -*** The determinant of the Jacobian for each face ## Note The Jacobian and inverse Jacobian will be rectangular, and the inverse is really a generalized inverse. ```none v0 + j x_face = x_cell invj (x_cell - v0) = x_face ``` ## See Also `DMPLEX`, `DM`, DMPlexTransform`, `DMPolytopeType`, `DMPlexCellRefinerGetAffineTransforms()` ## Level developer ## Location src/dm/impls/plex/transform/impls/refine/regular/plexrefregular.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/transform/impls/refine/regular/plexrefregular.c) [Index of all DMPlex routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)