xref: /petsc/doc/overview/plex_transform_table.md (revision 3f02e49b19195914bf17f317a25cb39636853415)
1(plex_transform_table)=
2
3# Summary of Unstructured Mesh Transformations
4
5```{eval-rst}
6.. list-table::
7   :widths: auto
8   :align: center
9   :header-rows: 1
10
11   * -
12     - ``DMPlexTransformType``
13     - Accepts Active Label
14     - Description
15   * - Mesh filtering
16     - transform_filter
17     - Yes
18     - Preserve a subset of the mesh marked by a `DMLabel`
19   * - Regular Refinement
20     - refine_regular
21     - No
22     - Splits all k-cells into :math:`2^k` pieces
23   * - Alfeld Refinement
24     - refine_alfeld
25     - No
26     - Barycentric refinement for simplicies
27   * - Skeleton-based Refinement (SBR)
28     - refine_sbr
29     - Yes
30     - Simplicial refinement from Plaza and Carey
31   * - 1D Refinement
32     - refine_1d
33     - No
34     - Optimized refinement for 1D meshes that preserves the canonical ordering
35   * - Simplex-to-Box transform
36     - refine_tobox
37     - No
38     - Replaces each simplex cell with :math:`2^d` box cells
39   * - Box-to-Simplex transform
40     - refine_tosimplex
41     - No
42     - Replaces each box cell with simplex cells
43   * - Mesh extrusion
44     - extrude
45     - Yes
46     - Extrude n layers of cells from a surface
47   * - Boundary Layer Extrusion
48     - refine_boundary_layer
49     - Yes
50     - Creates n layers of tensor cells along marked boundaries
51   * - Cohesive cell extrusion
52     - cohesive_extrude
53     - Yes
54     - Extrude a layer of cells into a mesh from an internal surface
55```
56