Skip to main content
`Ctrl`+`K`

# DMPlexCreateBoxSurfaceMesh

Creates a mesh on the surface of the tensor product of unit intervals (box) using tensor cells (hexahedra).

## Synopsis

    #include "petscdmplex.h"
    #include "petscdmplextransform.h"
    PetscErrorCode DMPlexCreateBoxSurfaceMesh(MPI_Comm comm, PetscInt dim, const PetscInt faces[], const PetscReal lower[], const PetscReal upper[], PetscBool interpolate, DM *dm)

Collective

## Input Parameters

- comm - The communicator for the `DM` object

- dim - The spatial dimension of the box, so the resulting mesh is has dimension `dim`-1

- faces - Number of faces per dimension, or `NULL` for (1,) in 1D and (2, 2) in 2D and (1, 1, 1) in 3D

- lower - The lower left corner, or `NULL` for (0, 0, 0)

- upper - The upper right corner, or `NULL` for (1, 1, 1)

- interpolate - Flag to create intermediate mesh pieces (edges, faces)

## Output Parameter

- dm - The `DM` object

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMSetFromOptions()`, `DMPlexCreateBoxMesh()`, `DMPlexCreateFromFile()`, `DMSetType()`, `DMCreate()`

## Level

beginner

## Location

src/dm/impls/plex/plexcreate.c

## Implementations

DMPlexCreateBoxSurfaceMesh_Internal() in src/dm/impls/plex/plexcreate.c

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