Skip to main content
`Ctrl`+`K`

# DMCreateSectionSF

Create the `PetscSF` encoding the parallel dof overlap for the `DM` based upon the `PetscSection`s describing the data layout.

## Synopsis

    #include "petscdm.h"
    #include "petscdmlabel.h"
    #include "petscds.h"
    PetscErrorCode DMCreateSectionSF(DM dm, PetscSection localSection, PetscSection globalSection)

## Input Parameters

- dm - The `DM`

- localSection - `PetscSection` describing the local data layout

- globalSection - `PetscSection` describing the global data layout

## Note

One usually uses `DMGetSectionSF()` to obtain the `PetscSF`

## Developer Note

Since this routine has for arguments the two sections from the `DM` and puts the resulting `PetscSF` directly into the `DM`, perhaps this function should not take the local and global sections as input and should just obtain them from the `DM`? Plus PETSc creation functions return the thing they create, this returns nothing

## See Also

DM Basics, `DM`, `DMGetSectionSF()`, `DMSetSectionSF()`, `DMGetLocalSection()`, `DMGetGlobalSection()`

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