:orphan:
# DMPlexCreateHexCylinderMesh
Creates a mesh on the tensor product of the unit interval with the circle (cylinder) using hexahedra.
## Synopsis
```
#include "petscdmplex.h"
#include "petscdmplex.h"
PetscErrorCode DMPlexCreateHexCylinderMesh(MPI_Comm comm, DMBoundaryType periodicZ, DM *dm)
```
Collective
## Input Parameters
- ***comm -*** The communicator for the `DM` object
- ***periodicZ -*** The boundary type for the Z direction
## Output Parameter
- ***dm -*** The `DM` object
## Note
## Here is the output numbering looking from the bottom of the cylinder
```none
17-----14
| |
| 2 |
| |
17-----8-----7-----14
| | | |
| 3 | 0 | 1 |
| | | |
19-----5-----6-----13
| |
| 4 |
| |
19-----13
and up through the top
18-----16
| |
| 2 |
| |
18----10----11-----16
| | | |
| 3 | 0 | 1 |
| | | |
20-----9----12-----15
| |
| 4 |
| |
20-----15
```
## See Also
[](ch_unstructured), `DM`, `DMPLEX`, `DMPlexCreateBoxMesh()`, `DMSetType()`, `DMCreate()`
## Level
beginner
## Location
src/dm/impls/plex/plexcreate.c
## Implementations
DMPlexCreateHexCylinderMesh_Internal in src/dm/impls/plex/plexcreate.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexcreate.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)