DMPlexBuildFromCellList#

Build DMPLEX topology from a list of vertices for each cell (common mesh generator output)

Synopsis#

#include "petscdmplex.h"   
#include "petscdmplex.h"   
PetscErrorCode DMPlexBuildFromCellList(DM dm, PetscInt numCells, PetscInt numVertices, PetscInt numCorners, const PetscInt cells[])

Collective; No Fortran Support

Input Parameters#

  • dm - The DM

  • numCells - The number of cells owned by this process

  • numVertices - The number of vertices owned by this process, or PETSC_DETERMINE

  • numCorners - The number of vertices for each cell

  • cells - An array of numCells*numCorners numbers, the global vertex numbers for each cell

Notes#

Two triangles sharing a face


        2
      / | \
     /  |  \
    /   |   \
   0  0 | 1  3
    \   |   /
     \  |  /
      \ | /
        1

would have input

  numCells = 2, numVertices = 4
  cells = [0 1 2  1 3 2]

which would result in the DMPLEX


        4
      / | \
     /  |  \
    /   |   \
   2  0 | 1  5
    \   |   /
     \  |  /
      \ | /
        3

If numVertices is PETSC_DETERMINE, it is computed by PETSc as the maximum vertex index in cells + 1.

See Also#

DMPlex: Unstructured Grids, DM, DMPLEX, DMPlexBuildFromCellListParallel(), DMPlexBuildCoordinatesFromCellList(), DMPlexCreateFromCellListPetsc()

Level#

advanced

Location#

src/dm/impls/plex/plexcreate.c


Edit on GitLab

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