concepts::FormulaPMLPowerSigmaB2D< F > Class Template Referenceabstract

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

#include <pml_formula.h>

Inheritance diagram for concepts::FormulaPMLPowerSigmaB2D< F >:
concepts::Formula< Real >

Public Types

typedef Realtype< Real >::type G
 
typedef Real value_type
 

Public Member Functions

virtual FormulaPMLPowerSigmaB2Dclone () const
 
virtual FormulaPMLPowerSigmaB2Dclone () const
 
virtual Formulaclone () const=0
 
 FormulaPMLPowerSigmaB2D (const Real offset, const int power=2, const F sigma0=5.0, const Real2d &center=Real2d(0, 0))
 
 FormulaPMLPowerSigmaB2D (const Real offset, const int power=2, const F sigma0=5.0, const Real2d &center=Real2d(0, 0))
 Constructor. More...
 
bool inPMLregion (const concepts::Real2d &p, const Real t=0.0)
 
bool inPMLregion (const Real2d &p, const Real t=0.0) const
 
virtual F operator() (const concepts::Real2d &p, const Real t=0.0) const
 Application operator. More...
 
virtual F operator() (const concepts::Real3d &p, const Real t=0.0) const
 Application operator. More...
 
virtual F operator() (const Real p, const Real t=0.0) const
 Application operator. More...
 
virtual F operator() (const Real p, const Real t=0.0) const
 Application operator. More...
 
virtual F operator() (const Real2d &p, const Real t=0.0) const
 Application operator. More...
 
virtual F operator() (const Real3d &p, const Real t=0.0) const
 Application operator. More...
 

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
 
virtual std::ostream & info (std::ostream &os) const
 

Private Attributes

const Real2dcenter
 
const Real2d center_
 Center of circular domain. More...
 
const Real offset
 
const Real offset_
 Distance of PML interface to center of circular domain. More...
 
const int power
 
const int power_
 
const F sigma0
 
const F sigma0_
 

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

typedef Realtype<Real >::type concepts::Formula< Real >::G
inherited

Definition at line 37 of file formula.hh.

◆ value_type

typedef Real concepts::Formula< Real >::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/3]

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

Definition at line 620 of file pml_formula.h.

◆ clone() [2/3]

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

Definition at line 218 of file pml_formula.hh.

◆ clone() [3/3]

virtual Formula* concepts::Formula< Real >::clone ( ) const
pure virtualinherited

◆ info() [1/2]

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

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

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/9]

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

Application operator.

Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implements concepts::Formula< Real >.

Definition at line 636 of file pml_formula.h.

◆ operator()() [2/9]

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

Application operator.

Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implements concepts::Formula< Real >.

Definition at line 644 of file pml_formula.h.

◆ operator()() [3/9]

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

Convenience implementation, that by default ignores its elm param.

Definition at line 53 of file formula.hh.

◆ operator()() [4/9]

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

Convenience implementation, that by default ignores its elm param.

Definition at line 56 of file formula.hh.

◆ operator()() [5/9]

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

Convenience implementation, that by default ignores its elm param.

Definition at line 59 of file formula.hh.

◆ operator()() [6/9]

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< Real >.

Definition at line 624 of file pml_formula.h.

◆ operator()() [7/9]

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< Real >.

Definition at line 222 of file pml_formula.hh.

◆ operator()() [8/9]

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

Application operator.

Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implements concepts::Formula< Real >.

Definition at line 233 of file pml_formula.hh.

◆ operator()() [9/9]

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

Application operator.

Evaluates the formula.

Parameters
pPoint in space
tPoint in time

Implements concepts::Formula< Real >.

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.

Member Data Documentation

◆ center

template<typename F = Real>
const Real2d& concepts::FormulaPMLPowerSigmaB2D< F >::center
private

Definition at line 667 of file pml_formula.h.

◆ center_

template<typename F = Real>
const Real2d concepts::FormulaPMLPowerSigmaB2D< F >::center_
private

Center of circular domain.

Definition at line 267 of file pml_formula.hh.

◆ offset

template<typename F = Real>
const Real concepts::FormulaPMLPowerSigmaB2D< F >::offset
private

Definition at line 666 of file pml_formula.h.

◆ offset_

template<typename F = Real>
const Real concepts::FormulaPMLPowerSigmaB2D< F >::offset_
private

Distance of PML interface to center of circular domain.

Definition at line 265 of file pml_formula.hh.

◆ power

template<typename F = Real>
const int concepts::FormulaPMLPowerSigmaB2D< F >::power
private

Definition at line 668 of file pml_formula.h.

◆ power_

template<typename F = Real>
const int concepts::FormulaPMLPowerSigmaB2D< F >::power_
private

Definition at line 269 of file pml_formula.hh.

◆ sigma0

template<typename F = Real>
const F concepts::FormulaPMLPowerSigmaB2D< F >::sigma0
private

Definition at line 669 of file pml_formula.h.

◆ sigma0_

template<typename F = Real>
const F concepts::FormulaPMLPowerSigmaB2D< F >::sigma0_
private

Definition at line 271 of file pml_formula.hh.


The documentation for this class was generated from the following files:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich