concepts::FormulaPMLRadia Class Referenceabstract
Class for PML in polar coordinates. More...
#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 | |
Real | c_c (Real2d &p) const |
virtual FormulaPMLRadia * | clone () const |
Virtual constructor. More... | |
virtual FormulaPMLRadia * | clone () const |
Virtual constructor. More... | |
virtual ElementFormula< Cmplx, typename Realtype< Cmplx >::type > * | clone () const=0 |
Virtual copy constructor. More... | |
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. More... | |
FormulaPMLRadia (RCP< Formula< Real > > sigma, RCP< Formula< Real > > sigmaB, PMLMode mode, const Real2d ¢er=Real2d(0, 0)) | |
Constructor. More... | |
Cmplx | gamma (Real2d &p) const |
Returns the parameter gamma in page 2067(no equation number) of the above article. More... | |
Cmplx | gammaB (Real2d &p) const |
Returns the parameter gamma bar in page 2067(no equation number) of the above article. More... | |
virtual Cmplx | operator() (const ElementWithCell< Real > &elm, const Real 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< 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 |
virtual Cmplx | operator() (const ElementWithCell< Real > &elm, const Real3d &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. More... | |
virtual Cmplx | operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real2d &p, const Real t=0.0) const=0 |
Evaluates the formula. More... | |
virtual Cmplx | operator() (const ElementWithCell< typename Realtype< Cmplx >::type > &elm, const Real3d &p, const Real t=0.0) const=0 |
Evaluates the formula. More... | |
Real | s_c (Real2d &p) const |
Real | s_s (Real2d &p) const |
RCP< Formula< Real > > | sigma () const |
RCP< Formula< Real > > | sigmaB () const |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
Private Member Functions | |
Cmplx | gamma_ (Real2d &p) const |
Returns the parameter on page 2067 (no equation number) of the above article. More... | |
Cmplx | gammaB_ (Real2d &p) const |
Returns the parameter on page 2067 (no equation number) of the above article. More... | |
Private Attributes | |
Real2d | center_ |
Center of PML. More... | |
const ElementFormulaContainer< Cmplx > | coeff_a |
globally defined material, piecewise constant dielectric More... | |
const ElementFormulaContainer< Cmplx > | coeff_b |
PMLMode | mode |
The choosen mode. More... | |
PMLMode | mode_ |
The choosen mode. More... | |
double | omega |
The wave number. More... | |
RCP< concepts::Formula< Real > > | sigma |
sigma function, which takes the general form of More... | |
RCP< Formula< Real > > | sigma_ |
Function . More... | |
RCP< concepts::Formula< Real > > | sigmaB |
sigma bar function, given in the above article page 2067, the average of sigma More... | |
RCP< Formula< Real > > | sigmaB_ |
Function . More... | |
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"
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.
Member Typedef Documentation
◆ value_type
|
inherited |
Definition at line 37 of file elementFormula.hh.
Member Enumeration Documentation
◆ PMLMode [1/2]
Enumerator | |
---|---|
AD1 | |
AD2 | |
AS | |
IDENT | |
AD1 | |
AD2 | |
AS1 | |
AS2 | |
IDENT |
Definition at line 836 of file pml_formula.h.
◆ PMLMode [2/2]
Enumerator | |
---|---|
AD1 | |
AD2 | |
AS | |
IDENT | |
AD1 | |
AD2 | |
AS1 | |
AS2 | |
IDENT |
Definition at line 434 of file pml_formula.hh.
Constructor & Destructor Documentation
◆ FormulaPMLRadia() [1/2]
|
inline |
Constructor.
- Parameters
-
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.
◆ FormulaPMLRadia() [2/2]
Member Function Documentation
◆ c_c()
Definition at line 888 of file pml_formula.h.
◆ clone() [1/3]
|
inlinevirtual |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
Implements concepts::Cloneable.
Definition at line 864 of file pml_formula.h.
◆ clone() [2/3]
|
inlinevirtual |
Virtual constructor.
Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.
Implements concepts::Cloneable.
Definition at line 450 of file pml_formula.hh.
◆ clone() [3/3]
|
pure virtualinherited |
Virtual copy constructor.
◆ gamma()
Returns the parameter gamma in page 2067(no equation number) of the above article.
Definition at line 880 of file pml_formula.h.
◆ gamma_()
Returns the parameter on page 2067 (no equation number) of the above article.
Definition at line 479 of file pml_formula.hh.
◆ gammaB()
Returns the parameter gamma bar in page 2067(no equation number) of the above article.
Definition at line 884 of file pml_formula.h.
◆ gammaB_()
Returns the parameter on page 2067 (no equation number) of the above article.
Definition at line 485 of file pml_formula.hh.
◆ info() [1/2]
|
inlineprotectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Definition at line 914 of file pml_formula.h.
◆ info() [2/2]
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
◆ operator()() [1/9]
|
inlinevirtual |
Definition at line 874 of file pml_formula.h.
◆ operator()() [2/9]
|
virtual |
◆ operator()() [3/9]
|
inlinevirtual |
Definition at line 900 of file pml_formula.h.
◆ operator()() [4/9]
|
virtual |
◆ operator()() [5/9]
|
inlinevirtual |
Definition at line 868 of file pml_formula.h.
◆ operator()() [6/9]
|
virtual |
◆ operator()() [7/9]
|
pure virtualinherited |
◆ operator()() [8/9]
|
pure virtualinherited |
◆ operator()() [9/9]
|
pure virtualinherited |
◆ s_c()
Definition at line 896 of file pml_formula.h.
◆ s_s()
Definition at line 892 of file pml_formula.h.
◆ sigma()
Definition at line 461 of file pml_formula.hh.
◆ sigmaB()
Definition at line 462 of file pml_formula.hh.
Member Data Documentation
◆ center_
|
private |
Center of PML.
Definition at line 473 of file pml_formula.hh.
◆ coeff_a
|
private |
globally defined material, piecewise constant dielectric
Definition at line 920 of file pml_formula.h.
◆ coeff_b
|
private |
Definition at line 921 of file pml_formula.h.
◆ mode
|
private |
The choosen mode.
Definition at line 927 of file pml_formula.h.
◆ mode_
|
private |
The choosen mode.
Definition at line 471 of file pml_formula.hh.
◆ omega
|
private |
The wave number.
Definition at line 929 of file pml_formula.h.
◆ sigma
|
private |
sigma function, which takes the general form of
Definition at line 923 of file pml_formula.h.
◆ sigma_
Function .
Definition at line 467 of file pml_formula.hh.
◆ sigmaB
|
private |
sigma bar function, given in the above article page 2067, the average of sigma
Definition at line 925 of file pml_formula.h.
◆ sigmaB_
Function .
Definition at line 469 of file pml_formula.hh.
The documentation for this class was generated from the following files:
- applications/pml_formula.h
- waveprop/pml_formula.hh