PetscSection#

Mapping from integers in a designated range to contiguous sets of integers.

Synopsis#

typedef struct _p_PetscSection *PetscSection;

The range of a PetscSection is in the space of contiguous sets of integers. These ranges are frequently interpreted as domains of other array-like objects, especially other PetscSection, Vecs, and ISs. The domain is set with PetscSectionSetChart() and does not need to start at 0. For each point in the domain of a PetscSection, the output set is represented through an offset and a count, which are set using PetscSectionSetOffset() and PetscSectionSetDof() respectively. Lookup is typically using accessors or routines like VecGetValuesSection().

The PetscSection object and methods are intended to be used in the PETSc Vec and Mat implementations. The indices returned by the PetscSection are appropriate for the kind of Vec it is associated with. For example, if the vector being indexed is a local vector, we call the section a local section. If the section indexes a global vector, we call it a global section. For parallel vectors, like global vectors, we use negative indices to indicate dofs owned by other processes.

See Also#

PetscSection, PetscSectionCreate(), PetscSectionDestroy(), PetscSectionSym

Level#

beginner

Location#

include/petscsectiontypes.h

Examples#

src/tao/tutorials/ex3.c
src/snes/tutorials/ex7.c
src/snes/tutorials/ex56.c
src/snes/tutorials/ex13.c
src/dm/tutorials/ex21.c
src/ts/tutorials/ex18.c
src/snes/tutorials/ex77.c
src/ts/tutorials/ex52.c
src/ts/tutorials/ex11.c
src/ts/tutorials/ex11_sa.c

Implementations#

_p_PetscSection in include/petsc/private/sectionimpl.h


Index of all PetscSection routines
Table of Contents for all manual pages
Index of all manual pages