Skip to main content
`Ctrl`+`K`

# DMPlexMarkBoundaryFaces

Mark all faces on the boundary

## Synopsis

    #include "petscdmplex.h"
    #include "petscdmlabel.h"
    PetscErrorCode DMPlexMarkBoundaryFaces(DM dm, PetscInt val, DMLabel label)

Collective

## Input Parameters

- dm - The original `DM`

- val - The marker value, or `PETSC_DETERMINE` to use some value in the closure (or 1 if none are found)

## Output Parameter

- label - The `DMLabel` marking boundary faces with the given value

## Note

This function will use the point `PetscSF` from the input `DM` and the ownership of the support cells to exclude points on the partition boundary from being marked. If you also wish to mark the partition boundary, you can use `DMSetPointSF()` to temporarily set it to `NULL`, and then reset it to the original object after the call.

In DMForest there can be facets support sizes of which alone can not determine whether they are on the boundary. Currently, this function is not guaranteed to produce the correct result in such case.

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMLabelCreate()`, `DMCreateLabel()`

## Level

developer

## Location

src/dm/impls/plex/plexsubmesh.c

## Examples

src/snes/tutorials/ex12.c
src/snes/tutorials/ex8.c
src/tao/tutorials/ex3.c
src/snes/tutorials/ex77.c
src/snes/tutorials/ex56.c
src/ts/tutorials/ex48.c
src/snes/tutorials/ex11.c

## Implementations

DMPlexMarkBoundaryFaces_Internal() in src/dm/impls/plex/plexsubmesh.c

Index of all DMPlex routines
Table of Contents for all manual pages
Index of all manual pages