: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 src/vec/is/section/interface/section.c --- [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)