template<int dim, int spacedim = dim>
class FiniteElement< dim, spacedim >::InternalDataBase
A base class for internal data that derived finite element classes may wish to store.
The class is used as follows: Whenever an FEValues (or FEFaceValues or FESubfaceValues) object is initialized, it requests that the finite element it is associated with creates an object of a class derived from the current one here. This is done via each derived class's FiniteElement::get_data() function. This object is then passed to the FiniteElement::fill_fe_values(), FiniteElement::fill_fe_face_values(), and FiniteElement::fill_fe_subface_values() functions as a constant object. The intent of these objects is so that finite element classes can pre-compute information once at the beginning (in the call to FiniteElement::get_data() call) that can then be used on each cell that is subsequently visited. An example for this is the values of shape functions at the quadrature point of the reference cell, which remain the same no matter the cell visited, and that can therefore be computed once at the beginning and reused later on.
Because only derived classes can know what they can pre-compute, each derived class that wants to store information computed once at the beginning, needs to derive its own InternalData class from this class, and return an object of the derived type through its get_data() function.
- Author
- Guido Kanschat, 2001; Wolfgang Bangerth, 2015.
Definition at line 682 of file fe.h.
template<int dim, int spacedim = dim>