petsc-3.10.5 2019-03-28
Report Typos and Errors

DMPlexCreateFromCellList

This takes as input common mesh generator output, a list of the vertices for each cell, and produces a DM

Synopsis

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

Input Parameters

comm - The communicator
dim - The topological dimension of the mesh
numCells - The number of cells
numVertices - The number of vertices
numCorners - The number of vertices for each cell
interpolate - Flag indicating that intermediate mesh entities (faces, edges) should be created automatically
cells - An array of numCells*numCorners numbers, the vertices for each cell
spaceDim - The spatial dimension used for coordinates
vertexCoords - An array of numVertices*spaceDim numbers, the coordinates of each vertex

Output Parameter

dm -The DM

Note: 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

See Also

DMPlexCreateFromDAG(), DMPlexCreate()

Level

beginner

Location

src/dm/impls/plex/plexcreate.c

Examples

src/dm/examples/tutorials/ex20.c.html

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