Reference documentation for deal.II version 9.6.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
internal::GenericDoFsPerObject Struct Reference

#include <deal.II/fe/fe_data.h>

Static Public Member Functions

template<int dim>
static GenericDoFsPerObject generate (const FiniteElementData< dim > &fe)
 

Public Attributes

std::vector< std::vector< unsigned int > > dofs_per_object_exclusive
 
std::vector< std::vector< unsigned int > > dofs_per_object_inclusive
 
std::vector< std::vector< unsigned int > > object_index
 
std::vector< std::vector< unsigned int > > first_object_index_on_face
 

Detailed Description

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
Point< 3 > vertices[4]

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.

Member Function Documentation

◆ generate()

template<int dim>
static GenericDoFsPerObject internal::GenericDoFsPerObject::generate ( const FiniteElementData< dim > & fe)
static

Function that fills the fields based on a provided finite element.

Member Data Documentation

◆ dofs_per_object_exclusive

std::vector<std::vector<unsigned int> > internal::GenericDoFsPerObject::dofs_per_object_exclusive

Exclusive number of degrees of freedom per object.

Definition at line 187 of file fe_data.h.

◆ dofs_per_object_inclusive

std::vector<std::vector<unsigned int> > internal::GenericDoFsPerObject::dofs_per_object_inclusive

Inclusive number of degrees of freedom per object.

Definition at line 192 of file fe_data.h.

◆ object_index

std::vector<std::vector<unsigned int> > internal::GenericDoFsPerObject::object_index

First index of an object.

Definition at line 197 of file fe_data.h.

◆ first_object_index_on_face

std::vector<std::vector<unsigned int> > internal::GenericDoFsPerObject::first_object_index_on_face

First index of an object within a face.

Definition at line 202 of file fe_data.h.


The documentation for this struct was generated from the following file: