Reference documentation for deal.II version 9.0.0
Public Member Functions | Public Attributes | List of all members
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 235 of file mapping_q.h.

Constructor & Destructor Documentation

◆ InternalData()

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

Constructor.

Definition at line 38 of file mapping_q.cc.

Member Function Documentation

◆ memory_consumption()

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

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

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

Definition at line 47 of file mapping_q.cc.

Member Data Documentation

◆ 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 256 of file mapping_q.h.

◆ mapping_q1_data

template<int dim, int spacedim = dim>
std::unique_ptr<typename MappingQGeneric<dim,spacedim>::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 262 of file mapping_q.h.

◆ mapping_qp_data

template<int dim, int spacedim = dim>
std::unique_ptr<typename MappingQGeneric<dim,spacedim>::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 268 of file mapping_q.h.


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