Reference documentation for deal.II version Git a0a79b2d3d 2020-03-30 17:06:49 +0200
\(\newcommand{\vcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\vcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Functions
FESeries Namespace Reference


class  Fourier
class  Legendre


template<int dim, typename CoefficientType >
std::pair< std::vector< unsigned int >, std::vector< double > > process_coefficients (const Table< dim, CoefficientType > &coefficients, const std::function< std::pair< bool, unsigned int >(const TableIndices< dim > &)> &predicate, const VectorTools::NormType norm)
std::pair< double, double > linear_regression (const std::vector< double > &x, const std::vector< double > &y)

Detailed Description

This namespace offers functions to calculate expansion series of the solution on the reference element. Coefficients of expansion are often used to estimate local smoothness of the underlying FiniteElement field to decide on h- or p-adaptive refinement strategy.

Denis Davydov, 2016;

Function Documentation

◆ process_coefficients()

template<int dim, typename CoefficientType >
std::pair<std::vector<unsigned int>, std::vector<double> > FESeries::process_coefficients ( const Table< dim, CoefficientType > &  coefficients,
const std::function< std::pair< bool, unsigned int >(const TableIndices< dim > &)> &  predicate,
const VectorTools::NormType  norm 

Calculate the norm of subsets of coefficients defined by predicate being constant. Return the pair of vectors of predicate values and the vector of calculated subset norms.

predicate should return a pair of bool and unsigned int. The former is a flag whether a given TableIndices should be used in calculation, whereas the latter is the unrolled value of indices according to which the subsets of coefficients will be formed.

Only the following values of norm are implemented and make sense in this case: mean, L1_norm, L2_norm, Linfty_norm. The mean norm can only be applied to real valued coefficients.

◆ linear_regression()

std::pair< double, double > FESeries::linear_regression ( const std::vector< double > &  x,
const std::vector< double > &  y 

Linear regression least-square fit of \(y = k \, x + b\). The size of the input vectors should be equal and more than 1. The returned pair will contain \(k\) (first) and \(b\) (second).

Definition at line 30 of file