Discontinuous Galerkin Library
#include "dg/algorithm.h"

\( f(i) = \begin{cases} 1 \text{ if } \eta < \eta_c \\ \exp\left( -\alpha \left(\frac{\eta-\eta_c}{1-\eta_c} \right)^{2s}\right) \text { if } \eta \geq \eta_c \\ 0 \text{ else} \\ \eta=\frac{i}{1-n} \end{cases}\) More...

Public Member Functions

 ExponentialFilter (double alpha, double eta_c, unsigned order, unsigned n)
 Create exponential filter \( \begin{cases} 1 \text{ if } \eta < \eta_c \\ \exp\left( -\alpha \left(\frac{\eta-\eta_c}{1-\eta_c} \right)^{2s}\right) \text { if } \eta \geq \eta_c \\ 0 \text{ else} \\ \eta := \frac{i}{n-1} \end{cases}\). More...
 
double operator() (unsigned i) const
 

Detailed Description

\( f(i) = \begin{cases} 1 \text{ if } \eta < \eta_c \\ \exp\left( -\alpha \left(\frac{\eta-\eta_c}{1-\eta_c} \right)^{2s}\right) \text { if } \eta \geq \eta_c \\ 0 \text{ else} \\ \eta=\frac{i}{1-n} \end{cases}\)

where n is the number of polynomial coefficients

This function is s times continuously differentiable everywhere

See also
Its main use comes from the application in dg::ModalFilter

Constructor & Destructor Documentation

◆ ExponentialFilter()

dg::ExponentialFilter::ExponentialFilter ( double  alpha,
double  eta_c,
unsigned  order,
unsigned  n 
)
inline

Create exponential filter \( \begin{cases} 1 \text{ if } \eta < \eta_c \\ \exp\left( -\alpha \left(\frac{\eta-\eta_c}{1-\eta_c} \right)^{2s}\right) \text { if } \eta \geq \eta_c \\ 0 \text{ else} \\ \eta := \frac{i}{n-1} \end{cases}\).

Parameters
alphadamping for the highest mode is exp( -alpha)
eta_ccutoff frequency (0<eta_c<1), 0.5 or 0 are good starting values
order8 or 16 are good values
nThe number of polynomial coefficients

Member Function Documentation

◆ operator()()

double dg::ExponentialFilter::operator() ( unsigned  i) const
inline

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