deal.II version GIT relicensing-1929-g70a5450eef 2024-10-03 18:00:00+00:00
|
Public Member Functions | |
InternalData (const unsigned int n_base_elements) | |
~InternalData () override | |
void | set_fe_data (const unsigned int base_no, std::unique_ptr< typename FiniteElement< dim, spacedim >::InternalDataBase >) |
FiniteElement< dim, spacedim >::InternalDataBase & | get_fe_data (const unsigned int base_no) const |
internal::FEValuesImplementation::FiniteElementRelatedData< dim, spacedim > & | get_fe_output_object (const unsigned int base_no) const |
virtual std::size_t | memory_consumption () const |
Public Attributes | |
UpdateFlags | update_each |
Private Attributes | |
std::vector< std::unique_ptr< typename FiniteElement< dim, spacedim >::InternalDataBase > > | base_fe_datas |
std::vector< internal::FEValuesImplementation::FiniteElementRelatedData< dim, spacedim > > | base_fe_output_objects |
Usually: Fields of cell-independent data.
However, here, this class does not itself store the data but only pointers to InternalData
objects for each of the base elements.
Definition at line 1259 of file fe_system.h.
Constructor. Is called by the get_data
function. Sets the size of the base_fe_datas
vector to n_base_elements
.
|
override |
Destructor. Deletes all InternalDatas
whose pointers are stored by the base_fe_datas
vector.
void FESystem< dim, spacedim >::InternalData::set_fe_data | ( | const unsigned int | base_no, |
std::unique_ptr< typename FiniteElement< dim, spacedim >::InternalDataBase > | |||
) |
Give write-access to the pointer to a InternalData
of the base_no
th base element.
FiniteElement< dim, spacedim >::InternalDataBase & FESystem< dim, spacedim >::InternalData::get_fe_data | ( | const unsigned int | base_no | ) | const |
Give read-access to the pointer to a InternalData
of the base_no
th base element.
internal::FEValuesImplementation::FiniteElementRelatedData< dim, spacedim > & FESystem< dim, spacedim >::InternalData::get_fe_output_object | ( | const unsigned int | base_no | ) | const |
Give read-access to the pointer to an object to which into which the base_no
th base element will write its output when calling FiniteElement::fill_fe_values() and similar functions.
|
virtualinherited |
Return an estimate (in bytes) for the memory consumption of this object.
|
private |
Pointers to InternalData
objects for each of the base elements. They are accessed to by the set_
and get_fe_data
functions.
The size of this vector is set to n_base_elements
by the InternalData constructor. It is filled by the get_data
function. Note that since the data for each instance of a base class is necessarily the same, we only need as many of these objects as there are base elements, irrespective of their multiplicity.
Definition at line 1311 of file fe_system.h.
|
mutableprivate |
A collection of objects to which the base elements will write their output when we call FiniteElement::fill_fe_values() and related functions on them.
The size of this vector is set to n_base_elements
by the InternalData constructor.
Definition at line 1323 of file fe_system.h.
|
inherited |
A set of update flags specifying the kind of information that an implementation of the FiniteElement interface needs to compute on each cell or face, i.e., in FiniteElement::fill_fe_values() and friends.
This set of flags is stored here by implementations of FiniteElement::get_data(), FiniteElement::get_face_data(), or FiniteElement::get_subface_data(), and is that subset of the update flags passed to those functions that require re-computation on every cell. (The subset of the flags corresponding to information that can be computed once and for all already at the time of the call to FiniteElement::get_data() – or an implementation of that interface – need not be stored here because it has already been taken care of.)