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#

DMPlex: Unstructured Grids, DM, DMPLEX, 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