Class for PML in polar coordinates. More...
#include <pml_formula.h>


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 FormulaPMLRadia * | clone () const |
| Virtual copy constructor. | |
| virtual FormulaPMLRadia * | clone () 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 | |
| RCP< Formula< Real > > | sigma_ |
sigma function, which takes the general form of | |
| 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 | |
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"
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
Definition at line 823 of file pml_formula.h.
typedef Cmplx concepts::ElementFormula< Cmplx , typename Realtype<Cmplx >::type >::value_type [inherited] |
Definition at line 31 of file elementFormula.hh.
Definition at line 825 of file pml_formula.h.
Definition at line 376 of file pml_formula.hh.
| 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.
| 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 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.
| 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 389 of file pml_formula.hh.
Definition at line 877 of file pml_formula.h.
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.

| virtual FormulaPMLRadia* concepts::FormulaPMLRadia::clone | ( | ) | const [inline, virtual] |
Virtual copy constructor.
Implements concepts::ElementFormula< Cmplx >.
Definition at line 853 of file pml_formula.h.

Returns the parameter gamma in page 2067(no equation number) of the above article.
Definition at line 869 of file pml_formula.h.
Returns the parameter gamma in page 2067(no equation number) of the above article.
Definition at line 420 of file pml_formula.hh.
Returns the parameter gamma bar in page 2067(no equation number) of the above article.
Definition at line 873 of file pml_formula.h.
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.
| elm | Element |
| p | Point in space in local element coordinates |
| t | Point 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] |
| 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] |
| 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.
Definition at line 436 of file pml_formula.hh.
Definition at line 885 of file pml_formula.h.
Definition at line 881 of file pml_formula.h.
Definition at line 432 of file pml_formula.hh.
const ElementFormulaContainer<Cmplx> concepts::FormulaPMLRadia::coeff_a [private] |
globally defined material, piecewise constant dielectric
Definition at line 909 of file pml_formula.h.
const ElementFormulaContainer<Cmplx> concepts::FormulaPMLRadia::coeff_a_ [private] |
globally defined material, piecewise constant dielectric
Definition at line 460 of file pml_formula.hh.
const ElementFormulaContainer<Cmplx> concepts::FormulaPMLRadia::coeff_b [private] |
Definition at line 910 of file pml_formula.h.
const ElementFormulaContainer<Cmplx> concepts::FormulaPMLRadia::coeff_b_ [private] |
Definition at line 461 of file pml_formula.hh.
PMLMode concepts::FormulaPMLRadia::mode [private] |
The choosen mode.
Definition at line 916 of file pml_formula.h.
PMLMode concepts::FormulaPMLRadia::mode_ [private] |
The choosen mode.
Definition at line 467 of file pml_formula.hh.
double concepts::FormulaPMLRadia::omega [private] |
The wave number.
Definition at line 918 of file pml_formula.h.
double concepts::FormulaPMLRadia::omega_ [private] |
The wave number.
Definition at line 469 of file pml_formula.hh.
RCP<concepts::Formula<Real> > concepts::FormulaPMLRadia::sigma [private] |
sigma function, which takes the general form of
Definition at line 912 of file pml_formula.h.
RCP<Formula<Real> > concepts::FormulaPMLRadia::sigma_ [private] |
sigma function, which takes the general form of
Definition at line 463 of file pml_formula.hh.
RCP<concepts::Formula<Real> > concepts::FormulaPMLRadia::sigmaB [private] |
sigma bar function, given in the above article page 2067, the average of sigma
Definition at line 914 of file pml_formula.h.
RCP<Formula<Real> > concepts::FormulaPMLRadia::sigmaB_ [private] |
sigma bar function, given in the above article page 2067, the average of sigma
Definition at line 465 of file pml_formula.hh.