Internal data structure for setting up FiniteElementData. It stores for each object the (inclusive/exclusive) number of degrees of freedoms, as well as the index of its first degree of freedom within a cell and the index of the first d-dimensional object within each face. Here, inclusive means "the number of DoFs located on this object as well as the
lower-dimensional objects that bound it", and exclusive is then the number not including the lower-dimensional objects.
The information is saved as a vector of vectors. One can query the inclusive number of dofs of the i-th d-dimensional object via: dofs_per_object_inclusive[d][i].
As an example, the data is shown for a quadratic wedge. Which consists of 6 vertices, 9 lines, and 5 faces (two triangles and three quadrilaterals).
vertices lines faces cell
dpo_excl 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 1 | 0 0 1 1 1 | 0
dpo_incl 1 1 1 1 1 1 | 3 3 3 3 3 3 3 3 3 | 6 6 9 9 9 | 18
obj_index 0 1 2 3 4 5 | 6 7 8 9 10 11 12 13 14 | 15 15 15 16 17 | 18
The above table has these numbers because of the following considerations:
- For each triangular face:
dpo_excl 1 1 1 | 1 1 1 | 0
obj_index 0 1 2 | 3 4 5 | 6
- For each quadrilateral face:
dpo_excl 1 1 1 1 | 1 1 1 1 | 1
obj_index 0 1 2 3 | 4 5 6 7 | 8
The index of the first d-dimensional object within each face results as:
vertices lines face
first_obj_index_on_face 0 0 0 0 0 | 3 3 4 4 4 | 6 6 8 8 8
Definition at line 182 of file fe_data.h.