Actual source code: petscsectiontypes.h

**petsc-main 2021-04-16**

1: #if !defined(PETSCSECTIONTYPES_H)
2: **#define PETSCSECTIONTYPES_H**
4: /*S
5: PetscSection - Mapping from integers in a designated range to contiguous sets of integers.
7: In contrast to IS, which maps from integers to single integers, the range of a PetscSection is in the space of
8: contiguous sets of integers. These ranges are frequently interpreted as domains of other array-like objects,
9: especially other PetscSections, Vecs, and ISs. The domain is set with PetscSectionSetChart() and does not need to
10: start at 0. For each point in the domain of a PetscSection, the output set is represented through an offset and a
11: count, which are set using PetscSectionSetOffset() and PetscSectionSetDof() respectively. Lookup is typically using
12: accessors or routines like VecGetValuesSection().
14: Level: beginner
16: .seealso: PetscSectionCreate(), PetscSectionDestroy(), PetscSectionSym
17: S*/
18: typedef struct _p_PetscSection *PetscSection;
20: /*S
21: PetscSectionSym - Symmetries of the data referenced by a PetscSection.
23: Often the order of data index by a PetscSection is meaningful, and describes additional structure, such as points on a
24: line, grid, or lattice. If the data is accessed from a different "orientation", then the image of the data under
25: access then undergoes a symmetry transformation. A PetscSectionSym specifies these symmetries. The types of
26: symmetries that can be specified are of the form R * P, where R is a diagonal matrix of scalars, and P is a permutation.
28: Level: developer
30: .seealso: PetscSection, PetscSectionSymCreate(), PetscSectionSymDestroy(), PetscSectionSetSym(), PetscSectionGetSym(), PetscSectionSetFieldSym(),
31: PetscSectionGetFieldSym(), PetscSectionGetSymPoints(), PetscSectionSymType, PetscSectionSymSetType(), PetscSectionSymGetType()
32: S*/
33: typedef struct _p_PetscSectionSym *PetscSectionSym;
35: /*J
36: PetscSectionSymType - String with the name of a PetscSectionSym type.
38: Level: developer
40: Notes:
41: PetscSectionSym has no default implementation, but is used by DM in PetscSectionSymCreateLabel().
43: .seealso: PetscSectionSymSetType(), PetscSectionSymGetType(), PetscSectionSym, PetscSectionSymCreate(), PetscSectionSymRegister()
44: J*/
45: typedef const char *PetscSectionSymType;
47: #endif