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
, Vec
s, and IS
s. 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#
Examples#
src/dm/impls/stag/tutorials/ex1.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