Reference documentation for deal.II version 9.3.0
\(\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\}}\)
Functions
AdaptationStrategies::Coarsening Namespace Reference

Functions

template<int dim, int spacedim, typename value_type >
value_type check_equality (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const std::vector< value_type > &children_values)
 
template<int dim, int spacedim, typename value_type >
value_type sum (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const std::vector< value_type > &children_values)
 
template<int dim, int spacedim, typename value_type >
value_type l2_norm (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const std::vector< value_type > &children_values)
 
template<int dim, int spacedim, typename value_type >
value_type mean (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const std::vector< value_type > &children_values)
 
template<int dim, int spacedim, typename value_type >
value_type max (const typename ::Triangulation< dim, spacedim >::cell_iterator &parent, const std::vector< value_type > &children_values)
 

Detailed Description

For coarsening, all strategies take the parent cell and a vector of data that belonged to its former children. They return the value that will be assigned to the parent cell.

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

Function Documentation

◆ check_equality()

template<int dim, int spacedim, typename value_type >
value_type AdaptationStrategies::Coarsening::check_equality ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const std::vector< value_type > &  children_values 
)

Check if data on all children match, and return value of the first child.

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

◆ sum()

template<int dim, int spacedim, typename value_type >
value_type AdaptationStrategies::Coarsening::sum ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const std::vector< value_type > &  children_values 
)

Return sum of data on all children.

\[ d_{K_p} = \sum d_{K_c} \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 >
value_type AdaptationStrategies::Coarsening::l2_norm ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const std::vector< value_type > &  children_values 
)

Return \( l_2 \)-norm of data on all children.

\[ d_{K_p}^2 = \sum d_{K_c}^2 \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.

◆ mean()

template<int dim, int spacedim, typename value_type >
value_type AdaptationStrategies::Coarsening::mean ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const std::vector< value_type > &  children_values 
)

Return mean value of data on all children.

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

◆ max()

template<int dim, int spacedim, typename value_type >
value_type AdaptationStrategies::Coarsening::max ( const typename ::Triangulation< dim, spacedim >::cell_iterator &  parent,
const std::vector< value_type > &  children_values 
)

Return maximum value of data on all children.

\[ d_{K_p} = \max \left( d_{K_c} \right) \qquad \forall K_c \text{ children of } K_p \]