:orphan:
# DMSetBasicAdjacency
Set the flags for determining variable influence, using either the default or field 0 if it is defined
## Synopsis
```
#include "petscdm.h"
#include "petscdmlabel.h"
#include "petscds.h"
PetscErrorCode DMSetBasicAdjacency(DM dm, PetscBool useCone, PetscBool useClosure)
```
Not Collective
## Input Parameters
- ***dm -*** The `DM` object
- ***useCone -*** Flag for variable influence starting with the cone operation
- ***useClosure -*** Flag for variable influence using transitive closure
## Notes
```none
FEM: Two points p and q are adjacent if q \in closure(star(p)), useCone = PETSC_FALSE, useClosure = PETSC_TRUE
FVM: Two points p and q are adjacent if q \in support(p+cone(p)), useCone = PETSC_TRUE, useClosure = PETSC_FALSE
FVM++: Two points p and q are adjacent if q \in star(closure(p)), useCone = PETSC_TRUE, useClosure = PETSC_TRUE
```
## See Also
[](ch_dmbase), `DM`, `DMGetBasicAdjacency()`, `DMGetField()`, `DMSetField()`
## Level
developer
## Location
src/dm/interface/dm.c
## Examples
src/ts/tutorials/ex11_sa.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/dm/interface/dm.c)
[Index of all DM routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)