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


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

- ***sectionSF -*** The new `PetscSF`





## Note
Either rootSection or remoteOffsets can be specified


## See Also
  `PetscSF`, `PetscSFCreate()`

## Level
advanced

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/is/sf/utils/sfutils.c.html#PetscSFCreateSectionSF">src/vec/is/sf/utils/sfutils.c</A>

## Examples
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/dm/impls/plex/tutorials/ex14.c.html">src/dm/impls/plex/tutorials/ex14.c.html</A><BR>


---
[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](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
