:orphan: # DMPlexSetIsoperiodicFaceTransform set geometric transform from donor to periodic points ## Synopsis ``` #include "petscdmplex.h" PetscErrorCode DMPlexSetIsoperiodicFaceTransform(DM dm, const PetscScalar t[]) ``` Logically Collective ## Input Arguments - ***dm -*** `DMPLEX` that has been configured with `DMPlexSetIsoperiodicFaceSF()` - ***t -*** 4x4 affine transformation basis. ## Notes Affine transforms are 4x4 matrices in which the leading 3x3 block expresses a rotation (or identity for no rotation), the last column contains a translation vector, and the bottom row is all zero except the last entry, which must always be 1. This representation is common in geometric modeling and allows affine transformations to be composed using simple matrix multiplication. Although the interface accepts a general affine transform, only affine translation is supported at present. ## Developer Note This interface should be replaced by making BasisTransform public, expanding it to support affine representations, and adding GPU implementations to apply the G2L/L2G transforms. ## See Also [](ch_unstructured), `DMPLEX`, `DMGetGlobalSection()`, `DMPlexSetIsoperiodicFaceSF()` ## Level advanced ## Location src/dm/impls/plex/plexsfc.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexsfc.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)