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 usePermutation, PetscBool includeConstraints, PetscBool localOffsets, PetscSection *gsection)
Input Parameters#
s - The
PetscSection
for the local field layoutsf - The
PetscSF
describing parallel layout of the section points (leaves are unowned local points)usePermutation - By default this is
PETSC_TRUE
, meaning any permutation of the local section is transferred to the global sectionincludeConstraints - By default this is
PETSC_FALSE
, meaning that the global field vector will not possess constrained dofslocalOffsets - 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, PetscSection
, PetscSectionCreate()
, PetscSectionCreateGlobalSectionCensored()
Level#
intermediate
Location#
src/vec/is/section/interface/section.c
Index of all PetscSection routines
Table of Contents for all manual pages
Index of all manual pages