Class documentation of Concepts

Loading...
Searching...
No Matches
concepts::FormulaPMLPowerSigmaB2D< F > Class Template Referenceabstract

#include <pml_formula.hh>

Inheritance diagram for concepts::FormulaPMLPowerSigmaB2D< F >:
concepts::Formula< F > concepts::Formula< F > concepts::PiecewiseFormulaBase< F > concepts::PiecewiseFormulaBase< F > concepts::ElementFormula< F, concepts::Realtype< F >::type > concepts::ElementFormula< F, concepts::Realtype< F >::type > concepts::Cloneable concepts::OutputOperator concepts::Cloneable concepts::OutputOperator

Public Types

typedefvalue_type
 
typedef Realtype< F >::type G
 

Public Member Functions

 FormulaPMLPowerSigmaB2D (const Real offset, const int power=2, const F sigma0=5.0, const Real2d &center=Real2d(0, 0))
 
virtual FormulaPMLPowerSigmaB2Dclone () const
 Virtual copy constructor.
 
virtualoperator() (const Real p, const Real t=0.0) const
 
bool inPMLregion (const concepts::Real2d &p, const Real t=0.0)
 
virtualoperator() (const concepts::Real2d &p, const Real t=0.0) const
 
virtualoperator() (const concepts::Real3d &p, const Real t=0.0) const
 
 FormulaPMLPowerSigmaB2D (const Real offset, const int power=2, const F sigma0=5.0, const Real2d &center=Real2d(0, 0))
 
virtual FormulaPMLPowerSigmaB2Dclone () const
 Virtual copy constructor.
 
virtualoperator() (const Real p, const Real t=0.0) const
 
bool inPMLregion (const Real2d &p, const Real t=0.0) const
 
virtualoperator() (const Real2d &p, const Real t=0.0) const
 
virtualoperator() (const Real3d &p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< G > &elm, const Real p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< G > &elm, const Real2d &p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< G > &elm, const Real3d &p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real p, const Real t=0.0) const=0
 
virtualoperator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 
virtualoperator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 
virtual const F & dflt_value () const
 Gives default value.
 
virtual F & dflt_value ()
 Gives default value.
 
virtualoperator() (const Connector &cntr, const Real p, const Real t=0.0) const
 
virtualoperator() (const Connector &cntr, const Real2d &p, const Real t=0.0) const
 
virtualoperator() (const Connector &cntr, const Real3d &p, const Real t=0.0) const
 

Static Public Member Functions

template<typename Real >
static Real powi (Real x, int power)
 
template<typename Real >
static Real powi (Real x, int powercoeff)
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
 

Detailed Description

template<typename F = Real>
class concepts::FormulaPMLPowerSigmaB2D< F >

Class for the function $\overline{\sigma}(r)$ for radial PML, see INRIA report of Collino & Monk.

The function takes the form

\[\overline{\sigma}(r) = 
\begin{cases}
\sigma_0(r)\,(r - r_0)^{\alpha+1}/r/(\alpha+1), & r > r_0,\\
0, & r <= r_0
\end{cases}\]

where $r_0$ is the distance of PML interface to center of circular domain, $\alpha$ and $\sigma_0$ are called PML exponent and PML strength. The radius $r$ is the distance from the midpoint of the circular domain.

Note, that $\sigma(r) = (r\overline{\sigma}(r))'$.

Definition at line 614 of file pml_formula.h.

Member Typedef Documentation

◆ G

template<typename F >
typedef Realtype<F>::type concepts::Formula< F >::G
inherited

Definition at line 37 of file formula.hh.

◆ value_type

template<typename F >
typedef F concepts::Formula< F >::value_type
inherited

Definition at line 36 of file formula.hh.

Constructor & Destructor Documentation

◆ FormulaPMLPowerSigmaB2D() [1/2]

template<typename F = Real>
concepts::FormulaPMLPowerSigmaB2D< F >::FormulaPMLPowerSigmaB2D ( const Real  offset,
const int  power = 2,
const F  sigma0 = 5.0,
const Real2d center = Real2d(0,0) 
)
inline

Definition at line 616 of file pml_formula.h.

◆ FormulaPMLPowerSigmaB2D() [2/2]

template<typename F = Real>
concepts::FormulaPMLPowerSigmaB2D< F >::FormulaPMLPowerSigmaB2D ( const Real  offset,
const int  power = 2,
const F  sigma0 = 5.0,
const Real2d center = Real2d(0,0) 
)
inline

Constructor

Parameters
offsetdistance of PML interface to center of circular domain
powerPML exponent
sigma0PML strength
centercenter of the circular domain

Definition at line 213 of file pml_formula.hh.

Member Function Documentation

◆ clone() [1/2]

template<typename F = Real>
virtual FormulaPMLPowerSigmaB2D * concepts::FormulaPMLPowerSigmaB2D< F >::clone ( ) const
inlinevirtual

Virtual copy constructor.

Implements concepts::Formula< F >.

Definition at line 620 of file pml_formula.h.

◆ clone() [2/2]

template<typename F = Real>
virtual FormulaPMLPowerSigmaB2D * concepts::FormulaPMLPowerSigmaB2D< F >::clone ( ) const
inlinevirtual

Virtual copy constructor.

Implements concepts::Formula< F >.

Definition at line 218 of file pml_formula.hh.

◆ dflt_value() [1/2]

template<typename F >
virtual F & concepts::PiecewiseFormulaBase< F >::dflt_value ( )
inlinevirtualinherited

Gives default value.

Definition at line 83 of file piecewiseFormula.hh.

◆ dflt_value() [2/2]

template<typename F >
virtual const F & concepts::PiecewiseFormulaBase< F >::dflt_value ( ) const
inlinevirtualinherited

Gives default value.

Definition at line 81 of file piecewiseFormula.hh.

◆ info() [1/2]

template<typename F = Real>
virtual std::ostream & concepts::FormulaPMLPowerSigmaB2D< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

Definition at line 661 of file pml_formula.h.

◆ info() [2/2]

template<typename F = Real>
virtual std::ostream & concepts::FormulaPMLPowerSigmaB2D< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

Definition at line 258 of file pml_formula.hh.

◆ inPMLregion() [1/2]

template<typename F = Real>
bool concepts::FormulaPMLPowerSigmaB2D< F >::inPMLregion ( const concepts::Real2d p,
const Real  t = 0.0 
)
inline

Definition at line 628 of file pml_formula.h.

◆ inPMLregion() [2/2]

template<typename F = Real>
bool concepts::FormulaPMLPowerSigmaB2D< F >::inPMLregion ( const Real2d p,
const Real  t = 0.0 
) const
inline

Definition at line 227 of file pml_formula.hh.

◆ operator()() [1/15]

template<typename F = Real>
virtual F concepts::FormulaPMLPowerSigmaB2D< F >::operator() ( const concepts::Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Implements concepts::Formula< F >.

Definition at line 636 of file pml_formula.h.

◆ operator()() [2/15]

template<typename F = Real>
virtual F concepts::FormulaPMLPowerSigmaB2D< F >::operator() ( const concepts::Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Implements concepts::Formula< F >.

Definition at line 644 of file pml_formula.h.

◆ operator()() [3/15]

template<typename F >
virtual F concepts::Formula< F >::operator() ( const Connector cntr,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Convenience implementation, that by default ignores its elm param.

Implements concepts::PiecewiseFormulaBase< F >.

Reimplemented in concepts::FormulaFromElementFormula< dim, F, G >.

Definition at line 53 of file formula.hh.

◆ operator()() [4/15]

template<typename F >
virtual F concepts::Formula< F >::operator() ( const Connector cntr,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 56 of file formula.hh.

◆ operator()() [5/15]

template<typename F >
virtual F concepts::Formula< F >::operator() ( const Connector cntr,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Implements concepts::PiecewiseFormulaBase< F >.

Definition at line 59 of file formula.hh.

◆ operator()() [6/15]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real  p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [7/15]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [8/15]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
pure virtualinherited

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [9/15]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 52 of file piecewiseFormula.hh.

◆ operator()() [10/15]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 57 of file piecewiseFormula.hh.

◆ operator()() [11/15]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 63 of file piecewiseFormula.hh.

◆ operator()() [12/15]

template<typename F = Real>
virtual F concepts::FormulaPMLPowerSigmaB2D< F >::operator() ( const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Application operator. Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implements concepts::Formula< F >.

Definition at line 624 of file pml_formula.h.

◆ operator()() [13/15]

template<typename F = Real>
virtual F concepts::FormulaPMLPowerSigmaB2D< F >::operator() ( const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Application operator. Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implements concepts::Formula< F >.

Definition at line 222 of file pml_formula.hh.

◆ operator()() [14/15]

template<typename F = Real>
virtual F concepts::FormulaPMLPowerSigmaB2D< F >::operator() ( const Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Implements concepts::Formula< F >.

Definition at line 233 of file pml_formula.hh.

◆ operator()() [15/15]

template<typename F = Real>
virtual F concepts::FormulaPMLPowerSigmaB2D< F >::operator() ( const Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Implements concepts::Formula< F >.

Definition at line 241 of file pml_formula.hh.

◆ powi() [1/2]

template<typename F = Real>
template<typename Real >
static Real concepts::FormulaPMLPowerSigmaB2D< F >::powi ( Real  x,
int  power 
)
inlinestatic

Definition at line 649 of file pml_formula.h.

◆ powi() [2/2]

template<typename F = Real>
template<typename Real >
static Real concepts::FormulaPMLPowerSigmaB2D< F >::powi ( Real  x,
int  powercoeff 
)
inlinestatic

Definition at line 246 of file pml_formula.hh.


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