:orphan: # DMPlexCreatePartitionerGraph Create a CSR graph of point connections for the partitioner ## Synopsis ``` #include "petscdmplex.h" PetscErrorCode DMPlexCreatePartitionerGraph(DM dm, PetscInt height, PetscInt *numVertices, PetscInt **offsets, PetscInt **adjacency, IS *globalNumbering) ``` Collective ## Input Parameters - ***dm -*** The mesh `DM` - ***height -*** Height of the strata from which to construct the graph ## Output Parameters - ***numVertices -*** Number of vertices in the graph - ***offsets -*** Point offsets in the graph - ***adjacency -*** Point connectivity in the graph - ***globalNumbering -*** A map from the local cell numbering to the global numbering used in "adjacency". Negative indicates that the cell is a duplicate from another process. ## Options Database Key - ***-dm_plex_csr_alg -*** Choose the algorithm for computing the CSR graph ## Note The user can control the definition of adjacency for the mesh using `DMSetAdjacency()`. They should choose the combination appropriate for the function representation on the mesh. If requested, globalNumbering needs to be destroyed by the caller; offsets and adjacency need to be freed with PetscFree(). ## See Also [](ch_unstructured), `DM`, `DMPLEX`, `PetscPartitionerGetType()`, `PetscPartitionerCreate()`, `DMSetAdjacency()` ## Level developer ## Location src/dm/impls/plex/plexpartition.c ## Implementations DMPlexCreatePartitionerGraph_Overlap in src/dm/impls/plex/plexpartition.c
DMPlexCreatePartitionerGraph_Native in src/dm/impls/plex/plexpartition.c
DMPlexCreatePartitionerGraph_ViaMat in src/dm/impls/plex/plexpartition.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexpartition.c) [Index of all DMPlex routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)