Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions | Private Attributes
concepts::FormulaPMLRadia Class Reference

Class for PML in polar coordinates. More...

#include <pml_formula.h>

Inheritance diagram for concepts::FormulaPMLRadia:
Inheritance graph
[legend]
Collaboration diagram for concepts::FormulaPMLRadia:
Collaboration graph
[legend]

List of all members.

Public Types

enum  PMLMode {
  AD1, AD2, AS, IDENT,
  AD1, AD2, AS, IDENT
}
enum  PMLMode {
  AD1, AD2, AS, IDENT,
  AD1, AD2, AS, IDENT
}
typedef Cmplx value_type

Public Member Functions

Real c_c (Real2d &p) const
Real c_c (Real2d &p) const
virtual FormulaPMLRadiaclone () const
 Virtual copy constructor.
virtual FormulaPMLRadiaclone () const
 Virtual copy constructor.
 FormulaPMLRadia (const ElementFormulaContainer< Cmplx > coeff_a, const ElementFormulaContainer< Cmplx > coeff_b, RCP< concepts::Formula< Real > > sigma, RCP< concepts::Formula< Real > > sigmaB, PMLMode mode, double omega)
 Constructor.
 FormulaPMLRadia (const ElementFormulaContainer< Cmplx > coeff_a, const ElementFormulaContainer< Cmplx > coeff_b, RCP< Formula< Real > > sigma, RCP< Formula< Real > > sigmaB, PMLMode mode, double omega)
 Constructor.
Cmplx gamma (Real2d &p) const
 Returns the parameter gamma in page 2067(no equation number) of the above article.
Cmplx gamma (Real2d &p) const
 Returns the parameter gamma in page 2067(no equation number) of the above article.
Cmplx gammaB (Real2d &p) const
 Returns the parameter gamma bar in page 2067(no equation number) of the above article.
Cmplx gammaB (Real2d &p) const
 Returns the parameter gamma bar in page 2067(no equation number) of the above article.
virtual Cmplx operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real3d &p, const Real t=0.0) const =0
virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
virtual Cmplx operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real p, const Real t=0.0) const =0
 Evaluates the formula.
virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
virtual Cmplx operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real2d &p, const Real t=0.0) const =0
Real s_c (Real2d &p) const
Real s_c (Real2d &p) const
Real s_s (Real2d &p) const
Real s_s (Real2d &p) const

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.

Private Attributes

const ElementFormulaContainer
< Cmplx
coeff_a
 globally defined material, piecewise constant dielectric
const ElementFormulaContainer
< Cmplx
coeff_a_
 globally defined material, piecewise constant dielectric
const ElementFormulaContainer
< Cmplx
coeff_b
const ElementFormulaContainer
< Cmplx
coeff_b_
PMLMode mode
 The choosen mode.
PMLMode mode_
 The choosen mode.
double omega
 The wave number.
double omega_
 The wave number.
RCP< concepts::Formula< Real > > sigma
 sigma function, which takes the general form of $PMLstrength*(\rho-PMLdist)^{powercoeff}$
RCP< Formula< Real > > sigma_
 sigma function, which takes the general form of $PMLstrength*(\rho-PMLdist)^{powercoeff}$
RCP< concepts::Formula< Real > > sigmaB
 sigma bar function, given in the above article page 2067, the average of sigma
RCP< Formula< Real > > sigmaB_
 sigma bar function, given in the above article page 2067, the average of sigma

Detailed Description

Class for PML in polar coordinates.

Class for radial PML in polar coordinates.

The class is either one of the formulas needed for PML in polar coordinates, which are determined by one of the following modes.

There are four modes of the formula. AD1 First diagonal entry of matrix A. AD2 Second diagonal entry of matrix A. AS A12 = A21 = AS IDENT The term for MASS matrix

Taken from the article: F.Collino and P.Monk, The perfectly matched layer in curvilinear coordinates, SIAM J.Sci Comput. 19(6)(1998)2061-2090"

Author:
Mengyu Wang, 2010

The class provides formulas for radial PML in polar coordinates, which are determined by one of the following modes:

AD1 First diagonal entry of matrix A. AD2 Second diagonal entry of matrix A. AS A12 = A21 = AS IDENT The term for MASS matrix

Author:
Mengyu Wang, 2010

Definition at line 823 of file pml_formula.h.


Member Typedef Documentation

typedef Cmplx concepts::ElementFormula< Cmplx , typename Realtype<Cmplx >::type >::value_type [inherited]

Definition at line 31 of file elementFormula.hh.


Member Enumeration Documentation

Enumerator:
AD1 
AD2 
AS 
IDENT 
AD1 
AD2 
AS 
IDENT 

Definition at line 825 of file pml_formula.h.

Enumerator:
AD1 
AD2 
AS 
IDENT 
AD1 
AD2 
AS 
IDENT 

Definition at line 376 of file pml_formula.hh.


Constructor & Destructor Documentation

concepts::FormulaPMLRadia::FormulaPMLRadia ( const ElementFormulaContainer< Cmplx coeff_a,
const ElementFormulaContainer< Cmplx coeff_b,
RCP< concepts::Formula< Real > >  sigma,
RCP< concepts::Formula< Real > >  sigmaB,
PMLMode  mode,
double  omega 
) [inline]

Constructor.

Parameters:
coeff_aElement formula for material alpha in the global domain
coeff_bElement formula for material beta in the global domain
sigmaFormula for sigma, which takes the general form of $PMLstrength*(\rho-PMLdist)^{powercoeff}$
sigmaBFormula for sigmabar in the above article, page 2067
modeMode
omegaWave number

Definition at line 838 of file pml_formula.h.

concepts::FormulaPMLRadia::FormulaPMLRadia ( const ElementFormulaContainer< Cmplx coeff_a,
const ElementFormulaContainer< Cmplx coeff_b,
RCP< Formula< Real > >  sigma,
RCP< Formula< Real > >  sigmaB,
PMLMode  mode,
double  omega 
) [inline]

Constructor.

Parameters:
coeff_aElement formula for material alpha in the global domain
coeff_bElement formula for material beta in the global domain
sigmaFormula for sigma, which takes the general form of $PMLstrength*(\rho-PMLdist)^{powercoeff}$
sigmaBFormula for sigmabar in the above article, page 2067
modeMode
omegaWave number

Definition at line 389 of file pml_formula.hh.


Member Function Documentation

Real concepts::FormulaPMLRadia::c_c ( Real2d p) const [inline]

Definition at line 877 of file pml_formula.h.

Real concepts::FormulaPMLRadia::c_c ( Real2d p) const [inline]

Definition at line 428 of file pml_formula.hh.

virtual FormulaPMLRadia* concepts::FormulaPMLRadia::clone ( ) const [inline, virtual]

Virtual copy constructor.

Implements concepts::ElementFormula< Cmplx >.

Definition at line 404 of file pml_formula.hh.

Here is the call graph for this function:

virtual FormulaPMLRadia* concepts::FormulaPMLRadia::clone ( ) const [inline, virtual]

Virtual copy constructor.

Implements concepts::ElementFormula< Cmplx >.

Definition at line 853 of file pml_formula.h.

Here is the call graph for this function:

Cmplx concepts::FormulaPMLRadia::gamma ( Real2d p) const [inline]

Returns the parameter gamma in page 2067(no equation number) of the above article.

Definition at line 869 of file pml_formula.h.

Cmplx concepts::FormulaPMLRadia::gamma ( Real2d p) const [inline]

Returns the parameter gamma in page 2067(no equation number) of the above article.

Definition at line 420 of file pml_formula.hh.

Cmplx concepts::FormulaPMLRadia::gammaB ( Real2d p) const [inline]

Returns the parameter gamma bar in page 2067(no equation number) of the above article.

Definition at line 873 of file pml_formula.h.

Cmplx concepts::FormulaPMLRadia::gammaB ( Real2d p) const [inline]

Returns the parameter gamma bar in page 2067(no equation number) of the above article.

Definition at line 424 of file pml_formula.hh.

virtual std::ostream& concepts::FormulaPMLRadia::info ( std::ostream &  os) const [inline, protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 454 of file pml_formula.hh.

virtual std::ostream& concepts::FormulaPMLRadia::info ( std::ostream &  os) const [inline, protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 903 of file pml_formula.h.

virtual Cmplx concepts::ElementFormula< Cmplx , typename Realtype<Cmplx >::type >::operator() ( const ElementWithCell< typename Realtype<Cmplx >::type > &  elm,
const Real  p,
const Real  t = 0.0 
) const [pure virtual, inherited]

Evaluates the formula.

Parameters:
elmElement
pPoint in space in local element coordinates
tPoint in time
virtual Cmplx concepts::FormulaPMLRadia::operator() ( const ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const [inline, virtual]

Definition at line 414 of file pml_formula.hh.

virtual Cmplx concepts::ElementFormula< Cmplx , typename Realtype<Cmplx >::type >::operator() ( const ElementWithCell< typename Realtype<Cmplx >::type > &  elm,
const Real3d p,
const Real  t = 0.0 
) const [pure virtual, inherited]
virtual Cmplx concepts::FormulaPMLRadia::operator() ( const ElementWithCell< Real > &  elm,
const Real3d p,
const Real  t = 0.0 
) const [inline, virtual]

Definition at line 857 of file pml_formula.h.

virtual Cmplx concepts::FormulaPMLRadia::operator() ( const ElementWithCell< Real > &  elm,
const Real2d p,
const Real  t = 0.0 
) const [inline, virtual]

Definition at line 889 of file pml_formula.h.

Here is the call graph for this function:

virtual Cmplx concepts::ElementFormula< Cmplx , typename Realtype<Cmplx >::type >::operator() ( const ElementWithCell< typename Realtype<Cmplx >::type > &  elm,
const Real2d p,
const Real  t = 0.0 
) const [pure virtual, inherited]
virtual Cmplx concepts::FormulaPMLRadia::operator() ( const ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const [inline, virtual]

Definition at line 863 of file pml_formula.h.

virtual Cmplx concepts::FormulaPMLRadia::operator() ( const ElementWithCell< Real > &  elm,
const Real2d p,
const Real  t = 0.0 
) const [inline, virtual]

Definition at line 440 of file pml_formula.hh.

Here is the call graph for this function:

virtual Cmplx concepts::FormulaPMLRadia::operator() ( const ElementWithCell< Real > &  elm,
const Real3d p,
const Real  t = 0.0 
) const [inline, virtual]

Definition at line 408 of file pml_formula.hh.

Real concepts::FormulaPMLRadia::s_c ( Real2d p) const [inline]

Definition at line 436 of file pml_formula.hh.

Real concepts::FormulaPMLRadia::s_c ( Real2d p) const [inline]

Definition at line 885 of file pml_formula.h.

Real concepts::FormulaPMLRadia::s_s ( Real2d p) const [inline]

Definition at line 881 of file pml_formula.h.

Real concepts::FormulaPMLRadia::s_s ( Real2d p) const [inline]

Definition at line 432 of file pml_formula.hh.


Member Data Documentation

globally defined material, piecewise constant dielectric

Definition at line 909 of file pml_formula.h.

globally defined material, piecewise constant dielectric

Definition at line 460 of file pml_formula.hh.

Definition at line 910 of file pml_formula.h.

Definition at line 461 of file pml_formula.hh.

The choosen mode.

Definition at line 916 of file pml_formula.h.

The choosen mode.

Definition at line 467 of file pml_formula.hh.

The wave number.

Definition at line 918 of file pml_formula.h.

The wave number.

Definition at line 469 of file pml_formula.hh.

sigma function, which takes the general form of $PMLstrength*(\rho-PMLdist)^{powercoeff}$

Definition at line 912 of file pml_formula.h.

sigma function, which takes the general form of $PMLstrength*(\rho-PMLdist)^{powercoeff}$

Definition at line 463 of file pml_formula.hh.

sigma bar function, given in the above article page 2067, the average of sigma

Definition at line 914 of file pml_formula.h.

sigma bar function, given in the above article page 2067, the average of sigma

Definition at line 465 of file pml_formula.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)