Skip to main content
`Ctrl`+`K`

# DMPlexCreateFromCellListPetsc

Create `DMPLEX` from a list of vertices for each cell (common mesh generator output), but only process 0 takes in the input

## Synopsis

    #include "petscdmplex.h"
    #include "petscdmplextransform.h"
    PetscErrorCode DMPlexCreateFromCellListPetsc(MPI_Comm comm, PetscInt dim, PetscInt numCells, PetscInt numVertices, PetscInt numCorners, PetscBool interpolate, const PetscInt cells[], PetscInt spaceDim, const PetscReal vertexCoords[], DM *dm)

Collective

## Input Parameters

- comm - The communicator

- dim - The topological dimension of the mesh

- numCells - The number of cells, only on process 0

- numVertices - The number of vertices owned by this process, or `PETSC_DECIDE`, only on process 0

- numCorners - The number of vertices for each cell, only on process 0

- interpolate - Flag indicating that intermediate mesh entities (faces, edges) should be created automatically

- cells - An array of \( numCells \times numCorners\) numbers, the vertices for each cell, only on process 0

- spaceDim - The spatial dimension used for coordinates

- vertexCoords - An array of \( numVertices \times spaceDim\) numbers, the coordinates of each vertex, only on process 0

## Output Parameter

- dm - The `DM`, which only has points on process 0

## Notes

This function is just a convenient sequence of `DMCreate()`, `DMSetType()`, `DMSetDimension()`, `DMPlexBuildFromCellList()`, `DMPlexInterpolate()`, `DMPlexBuildCoordinatesFromCellList()`

See `DMPlexBuildFromCellList()` for an example and details about the topology-related parameters. See `DMPlexBuildCoordinatesFromCellList()` for details about the geometry-related parameters. See `DMPlexCreateFromCellListParallelPetsc()` for parallel input

## See Also

DMPlex: Unstructured Grids, `DM`, `DMPLEX`, `DMPlexCreateFromCellListParallelPetsc()`, `DMPlexBuildFromCellList()`, `DMPlexBuildCoordinatesFromCellList()`, `DMPlexCreateFromDAG()`, `DMPlexCreate()`

## Level

intermediate

## Location

src/dm/impls/plex/plexcreate.c

## Examples

src/tao/tutorials/ex3.c
src/dm/tutorials/ex20.c

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