:orphan:
# DMPlexGetAdjacency
Return all points adjacent to the given point
## Synopsis
```
#include "petscdmplex.h"
#include "petscdmlabel.h"
PetscErrorCode DMPlexGetAdjacency(DM dm, PetscInt p, PetscInt *adjSize, PetscInt *adj[])
```
## Input Parameters
- ***dm -*** The `DM` object
- ***p -*** The point
## Input/Output Parameters
- ***adjSize -*** The maximum size of `adj` if it is non-`NULL`, or `PETSC_DETERMINE`;
on output the number of adjacent points
- ***adj -*** Either `NULL` so that the array is allocated, or an existing array with size `adjSize`;
on output contains the adjacent points
## Notes
The user must `PetscFree()` the `adj` array if it was not passed in.
## See Also
`DMPLEX`, `DMSetAdjacency()`, `DMPlexDistribute()`, `DMCreateMatrix()`, `DMPlexPreallocateOperator()`
## Level
advanced
## Location
src/dm/impls/plex/plexdistribute.c
## Implementations
DMPlexGetAdjacency_Internal in src/dm/impls/plex/plexdistribute.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/impls/plex/plexdistribute.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)