petsc-master 2020-10-19
Report Typos and Errors

DMPlexExtrude

Creates a (d+1)-D mesh by extruding a d-D mesh in the normal direction using prismatic cells.

Synopsis

#include "petscdmplex.h"   
#include "petscdmplex.h"   
PetscErrorCode DMPlexExtrude(DM idm, PetscInt layers, PetscReal height, PetscBool orderHeight, const PetscReal extNormal[], PetscBool interpolate, DM* dm)
Collective on idm

Input Parameters

idm - The mesh to be extruded
layers - The number of layers, or PETSC_DETERMINE to use the default
height - The total height of the extrusion, or PETSC_DETERMINE to use the default
orderHeight - If PETSC_TRUE, orders the extruded cells in the height first. Otherwise, orders the cell on the layers first
extNormal - The normal direction in which the mesh should be extruded, or NULL to extrude using the surface normal
interpolate - Flag to create intermediate mesh pieces (edges, faces)

Output Parameter

dm - The DM object

Notes

The mesh created has prismatic cells, and the vertex ordering in the cone of the cell is that of the tensor prismatic cells. Not currently supported in Fortran.

Options Database Keys

-dm_plex_extrude_layers <k> - Sets the number of layers k
-dm_plex_extrude_height <h> - Sets the total height of the extrusion
-dm_plex_extrude_heights <h0,h1,...> - Sets the height of each layer
-dm_plex_extrude_order_height - If true, order cells by height first
-dm_plex_extrude_normal <n0,...,nd> - Sets the normal vector along which to extrude

See Also

DMPlexCreateWedgeCylinderMesh(), DMPlexCreateWedgeBoxMesh(), DMSetType(), DMCreate()

Level

advanced

Location

src/dm/impls/plex/plexcreate.c
Index of all DMPLEX routines
Table of Contents for all manual pages
Index of all manual pages