petsc-master 2020-08-10
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 height of the extruded layer, 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

m_plex_extrude_layers <k> - Sets the nubmer of layers k m_plex_extrude_height <h> - Sets the height h of each layer m_plex_extrude_order_height - If true, order cells by height first m_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