/**
* 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.
+ * 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:
* obj_index 0 1 2 3 4 5 | 6 7 8 9 10 11 12 13 14 | 15 15 15 16 17 | 18
* @endcode
*
- * Since the above table looks as follows for:
+ * The above table has these numbers because of the following considerations:
*
- * - a triangle:
+ * - For each triangular face:
* @code
* dpo_excl 1 1 1 | 1 1 1 | 0
* obj_index 0 1 2 | 3 4 5 | 6
* @endcode
*
- * - quadrilateral:
+ * - For each quadrilateral face:
* @code
* dpo_excl 1 1 1 1 | 1 1 1 1 | 1
* obj_index 0 1 2 3 | 4 5 6 7 | 8
const ReferenceCell reference_cell_kind;
/**
- * Number of unique quads. If all quads have the same type, the value is
- * one; else it equals the number of quads.
+ * Number of unique two-dimensional sub-objects. If all
+ * two-dimensional sub-objects have the same type, the value is one;
+ * else it equals the number of quads.
*/
- const unsigned int number_unique_quads;
+ const unsigned int number_of_unique_2d_subobjects;
/**
* Number of unique faces. If all faces have the same type, the value is
inline unsigned int
FiniteElementData<dim>::n_unique_quads() const
{
- return number_unique_quads;
+ return number_of_unique_2d_subobjects;
}
const Conformity conformity,
const BlockIndices & block_indices)
: reference_cell_kind(reference_cell)
- , number_unique_quads(
+ , number_of_unique_2d_subobjects(
internal::number_unique_entries(data.dofs_per_object_inclusive[2]))
, number_unique_faces(
internal::number_unique_entries(data.dofs_per_object_inclusive[dim - 1]))