Skip to main content
`Ctrl`+`K`

# DMPlexSetIsoperiodicFaceTransform

set geometric transform from donor to periodic points

## Synopsis

    #include "petscdmplex.h"
    PetscErrorCode DMPlexSetIsoperiodicFaceTransform(DM dm, PetscInt n, const PetscScalar t[])

Logically Collective

## Input Parameters

- dm - `DMPLEX` that has been configured with `DMPlexSetIsoperiodicFaceSF()`

- n - Number of transforms in array

- t - Array of 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 Notes

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

DMPlex: Unstructured Grids, `DMPLEX`, `DMGetGlobalSection()`, `DMPlexSetIsoperiodicFaceSF()`

## Level

advanced

## Location

src/dm/impls/plex/plexsfc.c

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