Skip to main content
`Ctrl`+`K`

# DMPlexCreateHexCylinderMesh

Creates a mesh on the tensor product of the unit interval with the circle (cylinder) using hexahedra.

## Synopsis

    #include "petscdmplex.h"
    #include "petscdmplextransform.h"
    PetscErrorCode DMPlexCreateHexCylinderMesh(MPI_Comm comm, DMBoundaryType periodicZ, PetscInt Nr, DM *dm)

Collective

## Input Parameters

- comm - The communicator for the `DM` object

- periodicZ - The boundary type for the Z direction

- Nr - The number of refinements to carry out

## Output Parameter

- dm - The `DM` object

## Note

Here is the output numbering looking from the bottom of the cylinder:

           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

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMPlexCreateBoxMesh()`, `DMSetType()`, `DMCreate()`

## Level

beginner

## Location

src/dm/impls/plex/plexcreate.c

## Implementations

DMPlexCreateHexCylinderMesh_Internal() in src/dm/impls/plex/plexcreate.c

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