deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20:01+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
internal::ComponentDoFs< dim, spacedim > Class Template Reference

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

Detailed Description

template<int dim, int spacedim = dim>
class internal::ComponentDoFs< dim, spacedim >

Per-component enumeration of a FiniteElement suitable for use with MappingFEField's DoFs.

MappingFEField can use both primitive finite elements (i.e., elements which are nonzero in exactly one component) as well as a ComponentMask to select components from a FiniteElement with more than spacedim components. This class computes, from both the FiniteElement and ComponentMask, the nonzero DoFs for each selected component.

Note
this class is not an internal class of MappingFEField to make it easier to use in maybe_update_Jacobians() etc.

Definition at line 53 of file mapping_fe_field.h.

Inheritance diagram for internal::ComponentDoFs< dim, spacedim >:
[legend]

Public Member Functions

 ComponentDoFs (const FiniteElement< dim, spacedim > &fe, const ComponentMask &mask)
 
bool all_components_are_primitive () const
 
ArrayView< const unsigned int > operator[] (const unsigned int component) const
 

Private Attributes

bool all_components_primitive
 
std::array< unsigned int, spacedim+1 > offsets
 
std::vector< unsigned int > component_dofs
 

Constructor & Destructor Documentation

◆ ComponentDoFs()

template<int dim, int spacedim = dim>
internal::ComponentDoFs< dim, spacedim >::ComponentDoFs ( const FiniteElement< dim, spacedim > &  fe,
const ComponentMask &  mask 
)

Constructor. mask should select spacedim components of fe used with the current MappingFEField.

Member Function Documentation

◆ all_components_are_primitive()

template<int dim, int spacedim = dim>
bool internal::ComponentDoFs< dim, spacedim >::all_components_are_primitive ( ) const

Return whether or not all selected components of the original FiniteElement are primitive.

◆ operator[]()

template<int dim, int spacedim = dim>
ArrayView< const unsigned int > internal::ComponentDoFs< dim, spacedim >::operator[] ( const unsigned int  component) const

Return an ArrayView for the DoFs which are nonzero for a particular component.

Member Data Documentation

◆ all_components_primitive

template<int dim, int spacedim = dim>
bool internal::ComponentDoFs< dim, spacedim >::all_components_primitive
private

Whether or not all the selected base FiniteElement objects are primitive.

Definition at line 81 of file mapping_fe_field.h.

◆ offsets

template<int dim, int spacedim = dim>
std::array<unsigned int, spacedim + 1> internal::ComponentDoFs< dim, spacedim >::offsets
private

Offsets into component_dofs. See operator[]'s definition.

Definition at line 86 of file mapping_fe_field.h.

◆ component_dofs

template<int dim, int spacedim = dim>
std::vector<unsigned int> internal::ComponentDoFs< dim, spacedim >::component_dofs
private

DoFs which are nonzero for each component.

Definition at line 91 of file mapping_fe_field.h.


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