#include <pml_formula.h>
Public Types | |
enum | PMLMode { AD1 , AD2 , AS , IDENT , AD1 , AD2 , AS1 , AS2 , IDENT } |
enum | PMLMode { AD1 , AD2 , AS , IDENT , AD1 , AD2 , AS1 , AS2 , IDENT } |
typedef Cmplx | value_type |
Public Member Functions | |
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) | |
virtual FormulaPMLRadia * | clone () const |
Virtual copy constructor. | |
virtual Cmplx | operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const |
virtual Cmplx | operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const |
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. | |
Real | c_c (Real2d &p) const |
Real | s_s (Real2d &p) const |
Real | s_c (Real2d &p) const |
virtual Cmplx | operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const |
FormulaPMLRadia (RCP< Formula< Real > > sigma, RCP< Formula< Real > > sigmaB, PMLMode mode, const Real2d ¢er=Real2d(0, 0)) | |
virtual FormulaPMLRadia * | clone () const |
Virtual copy constructor. | |
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< Real > &elm, const Real3d &p, const Real t=0.0) const |
RCP< Formula< Real > > | sigma () const |
RCP< Formula< Real > > | sigmaB () const |
virtual Cmplx | operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real p, const Real t=0.0) const=0 |
virtual Cmplx | operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real2d &p, const Real t=0.0) const=0 |
virtual Cmplx | operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real3d &p, const Real t=0.0) const=0 |
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. | |
Class for 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"
Class for radial PML in polar coordinates.
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 Both off-diagonal entries of matrix A. IDENT The term for mass matrix
Definition at line 834 of file pml_formula.h.
|
inherited |
Definition at line 37 of file elementFormula.hh.
enum concepts::FormulaPMLRadia::PMLMode |
Definition at line 836 of file pml_formula.h.
enum concepts::FormulaPMLRadia::PMLMode |
Definition at line 434 of file pml_formula.hh.
|
inline |
Constructor
coeff_a | Element formula for material alpha in the global domain |
coeff_b | Element formula for material beta in the global domain |
sigma | Formula for sigma, which takes the general form of |
sigmaB | Formula for sigmabar in the above article, page 2067 |
mode | Mode |
omega | Wave number |
Definition at line 849 of file pml_formula.h.
Definition at line 888 of file pml_formula.h.
|
inlinevirtual |
Virtual copy constructor.
Implements concepts::ElementFormula< Cmplx >.
Definition at line 864 of file pml_formula.h.
|
inlinevirtual |
Virtual copy constructor.
Implements concepts::ElementFormula< Cmplx >.
Definition at line 450 of file pml_formula.hh.
Returns the parameter gamma in page 2067(no equation number) of the above article.
Definition at line 880 of file pml_formula.h.
Returns the parameter gamma bar in page 2067(no equation number) of the above article.
Definition at line 884 of file pml_formula.h.
|
inlineprotectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Definition at line 914 of file pml_formula.h.
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
|
inlinevirtual |
Definition at line 874 of file pml_formula.h.
|
inlinevirtual |
Definition at line 900 of file pml_formula.h.
|
inlinevirtual |
Definition at line 868 of file pml_formula.h.
|
pure virtualinherited |
|
pure virtualinherited |
|
pure virtualinherited |
Definition at line 896 of file pml_formula.h.
Definition at line 892 of file pml_formula.h.
Definition at line 461 of file pml_formula.hh.
Definition at line 462 of file pml_formula.hh.