Reference documentation for deal.II version Git eab6000ff4 2020-05-30 14:50:38 -0400
MappingQ< dim, spacedim >::InternalData Class Reference

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

Inheritance diagram for MappingQ< dim, spacedim >::InternalData:
[legend]

Public Member Functions

InternalData ()

virtual std::size_t memory_consumption () const override

Public Member Functions inherited from Mapping< dim, spacedim >::InternalDataBase
InternalDataBase ()

InternalDataBase (const InternalDataBase &)=delete

virtual ~InternalDataBase ()=default

Public Attributes

bool use_mapping_q1_on_current_cell

std::unique_ptr< typename MappingQGeneric< dim, spacedim >::InternalDatamapping_q1_data

std::unique_ptr< typename MappingQGeneric< dim, spacedim >::InternalDatamapping_qp_data

Public Attributes inherited from Mapping< dim, spacedim >::InternalDataBase
UpdateFlags update_each

Detailed Description

template<int dim, int spacedim = dim> class MappingQ< dim, spacedim >::InternalData

Storage for internal data of this mapping. See Mapping::InternalDataBase for an extensive description.

This includes data that is computed once when the object is created (in get_data()) as well as data the class wants to store from between the call to fill_fe_values(), fill_fe_face_values(), or fill_fe_subface_values() until possible later calls from the finite element to functions such as transform(). The latter class of member variables are marked as 'mutable'.

The current class uses essentially the same fields for storage as the MappingQGeneric class. Consequently, it inherits from MappingQGeneric::InternalData, rather than from Mapping::InternalDataBase. The principal difference to MappingQGeneric::InternalData is that MappingQ switches between $$Q_1$$ and $$Q_p$$ mappings depending on the cell we are on, so the internal data object needs to also store a pointer to an InternalData object that pertains to a $$Q_1$$ mapping.

Definition at line 230 of file mapping_q.h.

◆ InternalData()

template<int dim, int spacedim>
 MappingQ< dim, spacedim >::InternalData::InternalData ( )

Constructor.

Definition at line 41 of file mapping_q.cc.

◆ memory_consumption()

template<int dim, int spacedim>
 std::size_t MappingQ< dim, spacedim >::InternalData::memory_consumption ( ) const
overridevirtual

Return an estimate (in bytes) for the memory consumption of this object.

Reimplemented from Mapping< dim, spacedim >::InternalDataBase.

Definition at line 49 of file mapping_q.cc.

◆ use_mapping_q1_on_current_cell

template<int dim, int spacedim = dim>
 bool MappingQ< dim, spacedim >::InternalData::use_mapping_q1_on_current_cell
mutable

Flag that is set by the fill_fe_[[sub]face]_values function.

If this flag is true we are on an interior cell and the mapping_q1_data is used.

Definition at line 251 of file mapping_q.h.

◆ mapping_q1_data

template<int dim, int spacedim = dim>
 std::unique_ptr::InternalData> MappingQ< dim, spacedim >::InternalData::mapping_q1_data

A pointer to a structure to store the information for the pure $$Q_1$$ mapping that is, by default, used on all interior cells.

Definition at line 258 of file mapping_q.h.

◆ mapping_qp_data

template<int dim, int spacedim = dim>
 std::unique_ptr::InternalData> MappingQ< dim, spacedim >::InternalData::mapping_qp_data

A pointer to a structure to store the information for the full $$Q_p$$ mapping that is, by default, used on all boundary cells.

Definition at line 265 of file mapping_q.h.

The documentation for this class was generated from the following files: