Class documentation of Concepts

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

#include <pml_formula.hh>

Inheritance diagram for concepts::FormulaPMLPowerSigma2D< 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

 FormulaPMLPowerSigma2D (const Real offset, const int power=2, const F sigma0=5.0, const Real2d &center=Real2d(0, 0))
 
virtual FormulaPMLPowerSigma2Dclone () 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
 
 FormulaPMLPowerSigma2D (const Real offset, const int power=2, const F sigma0=5.0, const Real2d &center=Real2d(0, 0))
 
virtual FormulaPMLPowerSigma2Dclone () 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::FormulaPMLPowerSigma2D< F >

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

The function takes the form

\[\sigma(r) = 
\begin{cases}
\sigma_0(r)\,(r - r_0)^\alpha, & 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.

Definition at line 551 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

◆ FormulaPMLPowerSigma2D() [1/2]

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

Definition at line 553 of file pml_formula.h.

◆ FormulaPMLPowerSigma2D() [2/2]

template<typename F = Real>
concepts::FormulaPMLPowerSigma2D< F >::FormulaPMLPowerSigma2D ( 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 124 of file pml_formula.hh.

Member Function Documentation

◆ clone() [1/2]

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

Virtual copy constructor.

Implements concepts::Formula< F >.

Definition at line 557 of file pml_formula.h.

◆ clone() [2/2]

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

Virtual copy constructor.

Implements concepts::Formula< F >.

Definition at line 130 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::FormulaPMLPowerSigma2D< F >::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

Definition at line 598 of file pml_formula.h.

◆ info() [2/2]

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

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

Definition at line 170 of file pml_formula.hh.

◆ inPMLregion() [1/2]

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

Definition at line 565 of file pml_formula.h.

◆ inPMLregion() [2/2]

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

Definition at line 139 of file pml_formula.hh.

◆ operator()() [1/15]

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

Implements concepts::Formula< F >.

Definition at line 573 of file pml_formula.h.

◆ operator()() [2/15]

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

Implements concepts::Formula< F >.

Definition at line 581 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::FormulaPMLPowerSigma2D< 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 561 of file pml_formula.h.

◆ operator()() [13/15]

template<typename F = Real>
virtual F concepts::FormulaPMLPowerSigma2D< 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 134 of file pml_formula.hh.

◆ operator()() [14/15]

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

Implements concepts::Formula< F >.

Definition at line 146 of file pml_formula.hh.

◆ operator()() [15/15]

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

Implements concepts::Formula< F >.

Definition at line 153 of file pml_formula.hh.

◆ powi() [1/2]

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

Definition at line 586 of file pml_formula.h.

◆ powi() [2/2]

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

Definition at line 158 of file pml_formula.hh.


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