Skip to main content
`Ctrl`+`K`

# DMPlexShape

The domain shape used for automatic mesh creation.

## Synopsis

    typedef enum {
      DM_SHAPE_BOX,
      DM_SHAPE_BOX_SURFACE,
      DM_SHAPE_BALL,
      DM_SHAPE_SPHERE,
      DM_SHAPE_CYLINDER,
      DM_SHAPE_SCHWARZ_P,
      DM_SHAPE_GYROID,
      DM_SHAPE_DOUBLET,
      DM_SHAPE_ANNULUS,
      DM_SHAPE_HYPERCUBIC,
      DM_SHAPE_ZBOX,
      DM_SHAPE_UNKNOWN
    } DMPlexShape;

## Values

- `DM_SHAPE_BOX` - The tensor product of intervals in dimension d

- `DM_SHAPE_BOX_SURFACE` - The surface of a box in dimension d+1

- `DM_SHAPE_BALL` - The d-dimensional ball

- `DM_SHAPE_SPHERE` - The surface of the (d+1)-dimensional ball

- `DM_SHAPE_CYLINDER` - The tensor product of the interval and disk

- `DM_SHAPE_SCHWARZ_P` - The Schwarz-P triply periodic minimal surface

- `DM_SHAPE_GYROID` - The Gyroid triply periodic minimal surface

- `DM_SHAPE_DOUBLET` - The mesh of two cells of a specified type

- `DM_SHAPE_ANNULUS` - The area between two concentric spheres in dimension d

- `DM_SHAPE_HYPERCUBIC` - The skeleton of the tensor product of the intervals

## See Also

DM Basics, `DMPLEX`, `DMPlexGetCellRefiner()`, `DMPlexSetCellRefiner()`, `DMRefine()`, `DMPolytopeType`, `DMPlexCoordMap`

## Level

beginner

## Location

include/petscdmplextypes.h

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