:orphan:
# PetscSectionCreateGlobalSection
Create a parallel section describing the global layout using a local (sequential) `PetscSection` on each MPI process and a `PetscSF` describing the section point overlap. 
## Synopsis
```
#include "petscsection.h"   
PetscErrorCode PetscSectionCreateGlobalSection(PetscSection s, PetscSF sf, PetscBool includeConstraints, PetscBool localOffsets, PetscSection *gsection)
```

## Input Parameters

- ***s -*** The `PetscSection` for the local field layout
- ***sf -*** The `PetscSF` describing parallel layout of the section points (leaves are unowned local points)
- ***includeConstraints -*** By default this is `PETSC_FALSE`, meaning that the global field vector will not possess constrained dofs
- ***localOffsets -*** If `PETSC_TRUE`, use local rather than global offsets for the points



## Output Parameter

- ***gsection -*** The `PetscSection` for the global field layout





## Notes
On each MPI process `gsection` inherits the chart of the `s` on that process.

This sets negative sizes and offsets to points not owned by this process as defined by `sf` but that are within the local value of the chart of `gsection`.
In those locations the value of size is -(size+1) and the value of the offset on the remote process is -(off+1).


## See Also
 [PetscSection](sec_petscsection), `PetscSection`, `PetscSectionCreate()`, `PetscSectionCreateGlobalSectionCensored()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/vec/is/section/interface/section.c.html#PetscSectionCreateGlobalSection">src/vec/is/section/interface/section.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/vec/is/section/interface/section.c)


[Index of all PetscSection routines](index.md)  
[Table of Contents for all manual pages](/manualpages/index.md)  
[Index of all manual pages](/manualpages/singleindex.md)  
