# 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)
```

## Input Parameters

- ***dm      -*** The mesh DM 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.


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().


## Options Database Keys

- ***-dm_plex_csr_alg <mat,graph,overlap> -*** Choose the algorithm for computing the CSR graph





## See Also
 `PetscPartitionerGetType()`, `PetscPartitionerCreate()`, `DMSetAdjacency()`

## Level
developer

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plexpartition.c.html#DMPlexCreatePartitionerGraph">src/dm/impls/plex/plexpartition.c</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plexpartition.c.html#DMPlexCreatePartitionerGraph_Overlap">DMPlexCreatePartitionerGraph_Overlap in src/dm/impls/plex/plexpartition.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plexpartition.c.html#DMPlexCreatePartitionerGraph_Native">DMPlexCreatePartitionerGraph_Native in src/dm/impls/plex/plexpartition.c</A><BR>
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/plexpartition.c.html#DMPlexCreatePartitionerGraph_ViaMat">DMPlexCreatePartitionerGraph_ViaMat in src/dm/impls/plex/plexpartition.c</A><BR>


---
[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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
