#include "petscdmplex.h" #include "petscdmplex.h" PetscErrorCode DMPlexCreateFromCellListParallel(MPI_Comm comm, PetscInt dim, PetscInt numCells, PetscInt numVertices, PetscInt numCorners, PetscBool interpolate, const int cells[], PetscInt spaceDim, const PetscReal vertexCoords[], PetscSF *vertexSF, DM *dm)
| comm | - The communicator | |
| dim | - The topological dimension of the mesh | |
| numCells | - The number of cells owned by this process | |
| numVertices | - The number of vertices owned by this process | |
| 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 global vertex numbers for each cell | |
| spaceDim | - The spatial dimension used for coordinates | |
| vertexCoords | - An array of numVertices*spaceDim numbers, the coordinates of each vertex |
| dm | - The DM | |
| vertexSF | - Optional, SF describing complete vertex ownership |
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