Skip to main content
`Ctrl`+`K`

# PetscSFCreateSectionSF

Create an expanded `PetscSF` of dofs, assuming the input `PetscSF` relates points

## Synopsis

    #include "petscsf.h"
    PetscErrorCode PetscSFCreateSectionSF(PetscSF sf, PetscSection rootSection, PetscInt remoteOffsets[], PetscSection leafSection, PetscSF *sectionSF)

Collective

## Input Parameters

- sf - The `PetscSF`

- rootSection - Data layout of remote points for outgoing data (this is usually the serial section)

- remoteOffsets - Offsets for point data on remote processes (these are offsets from the root section), or `NULL`

- leafSection - Data layout of local points for incoming data (this is the distributed section)

## Output Parameter

- sectionSF - The new `PetscSF`

## Notes

`remoteOffsets` can be `NULL` if `sf` does not reference any points in leafSection

## See Also

PetscSF - an alternative to low-level MPI calls for data communication, `PetscSF`, `PetscSFCreate()`

## Level

advanced

## Location

src/vec/is/sf/utils/sfutils.c

## Examples

src/dm/impls/plex/tutorials/ex14f90.F90
src/dm/impls/plex/tutorials/ex14.c

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