:orphan:
# 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
Either rootSection or remoteOffsets can be specified
## Fortran Notes
In Fortran, use PetscSFCreateSectionSFF90()
## See Also
`PetscSF`, `PetscSFCreate()`
## Level
advanced
## Location
src/vec/is/sf/utils/sfutils.c
## Examples
src/dm/impls/plex/tutorials/ex14.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/is/sf/utils/sfutils.c)
[Index of all PetscSF routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)