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

# DMPlexCreateSubmesh

Extract a hypersurface from the mesh using vertices defined by a label

### Synopsis

    #include "petscdmplex.h"
    #include "petscdmlabel.h"
    PetscErrorCode DMPlexCreateSubmesh(DM dm, DMLabel vertexLabel, PetscInt value, PetscBool markedFaces, DM *subdm)

### Input Parameters

| dm | - The original mesh
| vertexLabel | - The DMLabel marking points contained in the surface
| value | - The label value to use
| markedFaces | - PETSC_TRUE if surface faces are marked in addition to vertices, PETSC_FALSE if only vertices are marked

### Output Parameter

| subdm | - The surface mesh

Note: This function produces a DMLabel mapping original points in the submesh to their depth. This can be obtained using DMPlexGetSubpointMap().

### See Also

DMPlexGetSubpointMap(), DMGetLabel(), DMLabelSetValue()

### Level

developer

### Location

src/dm/impls/plex/plexsubmesh.c

### Implementations

DMPlexCreateSubmesh_Uninterpolated in src/dm/impls/plex/plexsubmesh.c
DMPlexCreateSubmesh_Interpolated in src/dm/impls/plex/plexsubmesh.c
Index of all DMPLEX routines
Table of Contents for all manual pages
Index of all manual pages