deal.II version GIT relicensing-2289-g1e5549a87a 2024-12-21 21:30:00+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
Functions
AdaptationStrategies::Refinement Namespace Reference

Functions

template<int dim, int spacedim, typename value_type >
std::vector< value_type > preserve (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const value_type parent_value)
 
template<int dim, int spacedim, typename value_type >
std::vector< value_type > split (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const value_type parent_value)
 
template<int dim, int spacedim, typename value_type >
std::vector< value_type > l2_norm (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const value_type parent_value)
 

Detailed Description

For refinement, all strategies take the parent cell and its associated data. They return a vector containing data for each individual child that the parent cell will be refined to.

The ordering of values in the vector for children data corresponds to the index when calling TriaAccessor::child_index.

Function Documentation

◆ preserve()

template<int dim, int spacedim, typename value_type >
std::vector< value_type > AdaptationStrategies::Refinement::preserve ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const value_type  parent_value 
)

Return a vector containing copies of data of the parent cell for each child.

\[ d_{K_c} = d_{K_p} \qquad \forall K_c \text{ children of } K_p \]

◆ split()

template<int dim, int spacedim, typename value_type >
std::vector< value_type > AdaptationStrategies::Refinement::split ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const value_type  parent_value 
)

Return a vector which contains data of the parent cell being equally divided among all children.

\[ d_{K_c} = d_{K_p} / n_\text{children} \qquad \forall K_c \text{ children of } K_p \]

This strategy preserves the \(l_1\)-norm of the corresponding global data Vector before and after adaptation.

◆ l2_norm()

template<int dim, int spacedim, typename value_type >
std::vector< value_type > AdaptationStrategies::Refinement::l2_norm ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const value_type  parent_value 
)

Return a vector which contains squared data of the parent cell being equally divided among the squares of all children.

\[ d_{K_c}^2 = d_{K_p}^2 / n_\text{children} \qquad \forall K_c \text{ children of } K_p \]

This strategy preserves the \(l_2\)-norm of the corresponding global data Vector before and after adaptation.