Skip to main content
`Ctrl`+`K`

# DMSetAdjacency

Set the flags for determining variable influence

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMSetAdjacency(DM dm, PetscInt f, PetscBool useCone, PetscBool useClosure)

Not Collective

## Input Parameters

- dm - The `DM` object

- f - The field number

- useCone - Flag for variable influence starting with the cone operation

- useClosure - Flag for variable influence using transitive closure

## Notes

         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

Further explanation can be found in the User’s Manual Section on the Influence of Variables on One Another.

## See Also

DM Basics, `DM`, `DMGetAdjacency()`, `DMGetField()`, `DMSetField()`

## Level

developer

## Location

src/dm/interface/dm.c

Index of all DM routines
Table of Contents for all manual pages
Index of all manual pages