petsc-3.14.5 2021-03-03
Report Typos and Errors

# 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, PetscInt numRefine, DMBoundaryType periodicZ, DM *dm)

Collective

### Input Parameters

| comm | - The communicator for the DM object
| numRefine | - The number of regular refinements to the basic 5 cell structure
| periodicZ | - The boundary type for the Z direction

### Output Parameter

| dm | - The DM object

### Options Database Keys

These options override the hard-wired input values.

| -dm_plex_hex_cyl_refine <r> | - Refine the sylinder r times
| -dm_plex_hex_cyl_bd <bz> | - Specify the DMBoundaryType in the z-direction

### 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

DMPlexCreateBoxMesh(), DMSetType(), DMCreate()

### Level

beginner

### Location

src/dm/impls/plex/plexcreate.c

### Examples

src/ts/tutorials/ex48.c.html
Index of all DMPLEX routines
Table of Contents for all manual pages
Index of all manual pages