Lines Matching refs:PetscSection

3 # PetscSection: Connecting Grids to Data
15 While `PetscSection` is currently only employed for `DMPlex`, `DMForest`, and `DMNetwork` mesh desc…
16 This section will explain the basic concepts of a `PetscSection` that are generalizable to other me…
22 …ted with a "location" on a mesh (or other types of data structure) using the `PetscSection` object.
26 At it's most basic, a `PetscSection` is a mapping between the mesh points and a tuple `(ndof, offse…
31 The mesh points for a `PetscSection` must be contiguously numbered and are defined to be in some ra…
32 The chart of a `PetscSection` is set via `PetscSectionSetChart()`.
33 … the array (defined by each `(ndof, offset)` tuple) associated with the `PetscSection` need not be.
48 Once the tuples are created, the `PetscSection` is ready to use.
52 To summarize, the sequence for constructing a basic `PetscSection` is the following:
56 3. Set up the `PetscSection` with `PetscSectionSetUp()`.
62 A `PetscSection` can represent this additional structure with what are called **fields**.
64 To set the number of fields for a `PetscSection`, call `PetscSectionSetNumFields()`.
66 Internally, each field is stored in a separate `PetscSection`.
68 The fields inherit the same chart as the "parent" `PetscSection`.
72 Setup for a `PetscSection` with multiple fields is nearly identical to setup for a single field.
74 The sequence for constructing such a `PetscSection` is the following:
81 5. Set up the `PetscSection` with `PetscSectionSetUp()`.
85 A `PetscSection` with one field and and offsets set in `PetscSectionSetUp()` may be thought of as d…
96 Consider a `PetscSection` with 2 fields and 2 points (from 0 to 2). Let the 0th field have `ndof=1`…
119PetscSection` has been created one can use `PetscSectionGetStorageSize()` to determine the total n…
120 This is most often used when creating a new `Vec` for a `PetscSection` such as:
130 Single-field `PetscSection`:
133 PetscSectionGetOffset(PetscSection, PetscInt point, PetscInt &offset);
136 Multi-field `PetscSection`:
139 PetscSectionGetFieldOffset(PetscSection, PetscInt point, PetscInt field, PetscInt &offset);
151 `PetscSection` can also be applied to distributed problems as well.
161 Next, for each process define a `PetscSection` that describes the mapping between that process's pa…
204 …s of the grid points, call `PetscSectionPermute()` to generate a new `PetscSection` with the desir…
213 A vanilla `PetscSection` (what's been described up till now) gives a relatively naive perspective o…
214 A `PetscSection` can store and use this extra information in the form of **closures**, **symmetries…
221 [^petscsection-footnote]: A `PetscSection` can be thought of as a generalization of `PetscLayout`, …
224 …Conversely, `PetscSection` associates multiple unit vectors with every mesh point (one for each do…