Skip to main content
`Ctrl`+`K`

# 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

- tr - 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.

        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

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