Public Member Functions | |
InternalData (const unsigned int n_base_elements) | |
~InternalData () | |
void | set_fe_data (const unsigned int base_no, typename FiniteElement< dim, spacedim >::InternalDataBase *) |
FiniteElement< dim, spacedim > ::InternalDataBase & | get_fe_data (const unsigned int base_no) const |
void | set_fe_values_data (const unsigned int base_no, FEValuesData< dim, spacedim > *) |
FEValuesData< dim, spacedim > & | get_fe_values_data (const unsigned int base_no) const |
void | delete_fe_values_data (const unsigned int base_no) |
virtual void | clear_first_cell () |
Public Attributes | |
bool | compute_hessians |
Private Attributes | |
std::vector< typename FiniteElement< dim, spacedim > ::InternalDataBase * > | base_fe_datas |
std::vector< FEValuesData< dim, spacedim > * > | base_fe_values_datas |
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.
FESystem< dim, spacedim >::InternalData::InternalData | ( | const unsigned int | n_base_elements | ) |
Constructor. Is called by the get_data
function. Sets the size of the base_fe_datas
vector to n_base_elements
.
FESystem< dim, spacedim >::InternalData::~InternalData | ( | ) |
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, | |
typename FiniteElement< dim, spacedim >::InternalDataBase * | ||||
) |
Gives write-access to the pointer to a InternalData
of the base_noth
base element.
FiniteElement<dim,spacedim>::InternalDataBase& FESystem< dim, spacedim >::InternalData::get_fe_data | ( | const unsigned int | base_no | ) | const |
Gives read-access to the pointer to a InternalData
of the base_noth
base element.
void FESystem< dim, spacedim >::InternalData::set_fe_values_data | ( | const unsigned int | base_no, | |
FEValuesData< dim, spacedim > * | ||||
) |
Gives write-access to the pointer to a FEValuesData
for the base_noth
base element.
FEValuesData<dim,spacedim>& FESystem< dim, spacedim >::InternalData::get_fe_values_data | ( | const unsigned int | base_no | ) | const |
Gives read-access to the pointer to a FEValuesData
for the base_noth
base element.
void FESystem< dim, spacedim >::InternalData::delete_fe_values_data | ( | const unsigned int | base_no | ) |
Deletes the FEValuesData
the fe_datas[base_no]
pointer is pointing to. Sets fe_datas[base_no]
to zero.
This function is used to delete FEValuesData
that are needed only on the first cell but not any more afterwards. This is the case for e.g. Lagrangian elements (see e.g. FE_Q
classes).
virtual void FESystem< dim, spacedim >::InternalData::clear_first_cell | ( | ) | [virtual] |
Set the first_cell
flag to false
. Used by the FEValues
class to indicate that we have already done the work on the first cell.
In addition to calling the respective function of the base class, this function also calls the functions of the sub-data objects.
Reimplemented from Mapping< dim, spacedim >::InternalDataBase.
bool FESystem< dim, spacedim >::InternalData::compute_hessians |
Flag indicating whether second derivatives shall be computed.
std::vector<typename FiniteElement<dim,spacedim>::InternalDataBase *> FESystem< dim, spacedim >::InternalData::base_fe_datas [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.
std::vector<FEValuesData<dim,spacedim> *> FESystem< dim, spacedim >::InternalData::base_fe_values_datas [private] |
Pointers to the FEValuesData
objects that are given to the fill_fe_values
function of the base elements. They are accessed to by the set_
and get_fe_values_data
functions.
The size of this vector is set to n_base_elements
by the InternalData constructor.