petsc-3.14.6 2021-03-30
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