pml_formula.hh
Go to the documentation of this file.
302 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
307 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
312 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
372 virtual F operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
378 virtual F operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
410 return os << concepts::typeOf(*this)<<"(" << formula << " :" << *sigma_x << ", " << sigma_y << ")))";
569 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
574 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
579 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
597 inline Cmplx operator() (const ElementWithCell< Real > &elm, const RealNd &p, Real2d px, const Real t=0.0) const
766 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
772 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real2d &p, const Real t=0.0) const
778 virtual Cmplx operator() (const ElementWithCell< Real > &elm, const Real p, const Real t=0.0) const
786 inline Cmplx operator() (const ElementWithCell< Real > &elm, const RealNd &p, Real2d px, const Real t=0.0) const
ElementFormulaContainer< Cmplx > M() const
Returns formula related to the bilinear form .
Definition: pml_formula.hh:868
#define conceptsThrowSimpleE(msg)
Throws a equivalent to conceptsAssert(false, exc)
Definition: exceptions.hh:411
Class for the function for radial PML, see INRIA report of Collino & Monk.
Definition: pml_formula.h:551
virtual std::ostream & info(std::ostream &os) const
Definition: pml_formula.hh:87
RCP< Formula< Real > > sigmaB() const
Definition: pml_formula.hh:526
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
bool inPMLregion(const Real2d &p, const Real t=0.0) const
Definition: pml_formula.hh:139
RCP< Formula< Real > > sigmay() const
Definition: pml_formula.hh:586
RCP< Formula< Real > > sigmax() const
Definition: pml_formula.hh:585
const ElementFormulaContainer< Cmplx > coeff_b_
Definition: pml_formula.hh:350
RCP< Formula< Real > > sigma() const
Definition: pml_formula.hh:525
FormulaPMLPowerSigma2D(const Real offset, const int power=2, const F sigma0=5.0, const Real2d ¢er=Real2d(0, 0))
Constructor.
Definition: pml_formula.hh:124
friend std::ostream & operator<<(std::ostream &out, const CartesianPMLFormulas &ca)
Definition: pml_formula.hh:672
ElementFormulaContainer< Cmplx > M() const
Returns formula related to the bilinear form.
Definition: pml_formula.hh:521
RadialPMLFormulas(const Real offset, const int power=2, const Real sigma0=5.0, const Real2d ¢er=Real2d(0, 0))
Constructor.
virtual F operator()(const Real p, const Real t=0.0) const
Application operator.
Definition: pml_formula.h:509
CartesianPMLFormulas(const Real offset_x, const Real offset_y, const int power=2, const Real sigma0=5.0, const Real center_x=0, const Real center_y=0)
Constructor.
concepts::Real arg(const concepts::Point< concepts::Real, 2 > &p)
Returns the phase angle of a real 2D vector.
RCP< concepts::Formula< Real > > sigmaB
sigma bar function, given in the above article page 2067, the average of sigma
Definition: pml_formula.h:925
ElementFormulaContainer< MapCmplx2d > A() const
Returns formula related to the bilinear form .
Definition: pml_formula.hh:862
Real3d elemMap(const Real coord_local) const
Definition: element.hh:86
virtual Cmplx operator()(const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
Definition: pml_formula.hh:569
bool inPMLregion(const Real p, const Real t=0.0)
Definition: pml_formula.hh:53
Class for hamburger PML A hamburger PML is divided in three parts one rectangle in the middle region,...
Definition: pml_formula.hh:824
FormulaPMLPowerSigma(const Real offset, const int power=2, const F sigma0=5.0, const Real center=0)
Definition: pml_formula.hh:41
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
FormulaPMLHamburger(const Real R_, const Real d_, const int power_, const Real sigma0_, const Real center_x_, const Real center_y_, PMLMode mode_)
Definition: pml_formula.hh:727
Real2d center_point_down
Definition: pml_formula.hh:696
Cmplx gammaB_(Real2d &p) const
Returns the parameter on page 2067 (no equation number) of the above article.
Definition: pml_formula.hh:485
RCP< ElementFormula< F > > formula
Definition: pml_formula.hh:415
RCP< concepts::ElementFormula< F > > formula
Definition: pml_formula.h:813
RCP< const concepts::ElementFormula< Cmplx > > coeff_b
Definition: pml_formula.h:748
static Real powi(Real x, int powercoeff)
Definition: pml_formula.hh:75
virtual F operator()(const Real p, const Real t=0.0) const
Application operator.
Definition: pml_formula.h:561
RCP< FormulaPMLPowerSigma< Real > > sigma_y
Definition: pml_formula.hh:414
virtual std::ostream & info(std::ostream &os) const
Definition: pml_formula.hh:258
FormulaPMLPowerSigmaB2D(const Real offset, const int power=2, const F sigma0=5.0, const Real2d ¢er=Real2d(0, 0))
Constructor.
Definition: pml_formula.hh:213
RCP< concepts::Formula< Real > > sigma
sigma function, which takes the general form of
Definition: pml_formula.h:923
ElementFormulaContainer< MapCmplx2d > A() const
Returns formula related to the bilinear form .
Definition: pml_formula.hh:659
FormulaPMLBoxRestriction(RCP< concepts::FormulaPMLPowerSigma< Real > > sigma_x, RCP< concepts::FormulaPMLPowerSigma< Real > > sigma_y, RCP< concepts::ElementFormula< F, G > > formula)
Definition: pml_formula.h:760
New class for Cartesian PML that gets rid of the equation coefficients in the PML structure.
Definition: pml_formula.hh:553
RCP< concepts::Formula< Real > > sigma_x
Definition: pml_formula.h:749
MatrixElementFormula< Cmplx, 2 > A_
Formula related to the bilinear form .
Definition: pml_formula.hh:634
FormulaPMLCart(RCP< const ElementFormula< Cmplx > > coeff_a, RCP< const ElementFormula< Cmplx > > coeff_b, RCP< concepts::Formula< Real > > sigma_x, RCP< concepts::Formula< Real > > sigma_y, PMLMode mode, double omega)
Definition: pml_formula.h:678
friend std::ostream & operator<<(std::ostream &out, const HamburgerPMLFormulas &ca)
Definition: pml_formula.hh:874
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: pml_formula.hh:806
ElementFormulaContainer< MapCmplx2d > A() const
Returns formula related to the bilinear form.
Definition: pml_formula.hh:514
static Real powi(Real x, int powercoeff)
Definition: pml_formula.hh:158
virtual Cmplx operator()(const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
Definition: pml_formula.h:698
RCP< concepts::FormulaPMLPowerSigma< Real > > sigma_x
Definition: pml_formula.h:811
Interface for a formula defined element by element.
Definition: elementFormula.hh:35
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual F operator()(const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
Definition: pml_formula.h:770
MatrixElementFormula< Cmplx, 2 > A_
Formula related to the bilinear form .
Definition: pml_formula.hh:833
static Real powi(Real x, int power)
Definition: pml_formula.h:525
FormulaPMLRadia::PMLMode convert_mode_to_radia(FormulaPMLHamburger::PMLMode mode)
Definition: pml_formula.hh:714
RCP< FormulaPMLPowerSigma< Real > > sigma_x
Definition: pml_formula.hh:413
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: pml_formula.hh:612
virtual Cmplx operator()(const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
Definition: pml_formula.hh:766
FormulaPMLCartNew::PMLMode convert_mode_to_cart(FormulaPMLHamburger::PMLMode mode)
Definition: pml_formula.hh:702
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Definition: typedefs.hh:39
RCP< concepts::FormulaPMLPowerSigma< Real > > sigma_y
Definition: pml_formula.h:812
static Real powi(Real x, int powercoeff)
Definition: pml_formula.hh:246
RCP< T > makeRCP(T *x)
Function to create a RCP which deletes the object when no RCP points on it anymore.
Definition: sharedPointer_boost.hh:102
virtual FormulaPMLPowerSigmaB2D * clone() const
Definition: pml_formula.hh:218
Definition: pml_formula.h:488
const ElementFormulaContainer< Cmplx > coeff_a_
Definition: pml_formula.hh:349
RCP< Formula< Real > > sigmaB() const
Definition: pml_formula.hh:462
virtual Cmplx operator()(const ElementWithCell< Real > &elm, const Real3d &p, const Real t=0.0) const
Definition: pml_formula.h:868
bool inPMLregion(const Real2d &p, const Real t=0.0) const
Definition: pml_formula.hh:227
FormulaPMLRadia(RCP< Formula< Real > > sigma, RCP< Formula< Real > > sigmaB, PMLMode mode, const Real2d ¢er=Real2d(0, 0))
Constructor.
MatrixElementFormula< Cmplx, 2 > A_
Formula related to the bilinear form.
Definition: pml_formula.hh:534
virtual FormulaPMLPowerSigma2D * clone() const
Definition: pml_formula.hh:130
RCP< const concepts::ElementFormula< Cmplx > > coeff_a
Definition: pml_formula.h:747
const Real offset_
Distance of PML interface to center of circular domain.
Definition: pml_formula.hh:176
FormulaPMLCartNew(RCP< Formula< Real > > sigma_x, RCP< Formula< Real > > sigma_y, PMLMode mode)
Definition: pml_formula.hh:557
Class for providing the formulas in bilinear forms coming from the PML transformation of the radial P...
Definition: pml_formula.hh:497
ElementFormulaContainer< Cmplx > M() const
Returns formula related to the bilinear form .
Definition: pml_formula.hh:665
RCP< Formula< Real > > sigmax() const
Definition: pml_formula.hh:669
Class for the function for radial PML, see INRIA report of Collino & Monk.
Definition: pml_formula.h:614
HamburgerPMLFormulas(const Real R, const Real d, const int power=2, const Real sigma0=5.0, const Real center_x=0, const Real center_y=0)
Constructor.
RCP< Formula< Real > > sigmay() const
Definition: pml_formula.hh:670
FormulaPMLCart(const ElementFormulaContainer< Cmplx > coeff_a, const ElementFormulaContainer< Cmplx > coeff_b, RCP< Formula< Real > > sigma_x, RCP< Formula< Real > > sigma_y, PMLMode mode, double omega)
Definition: pml_formula.hh:283
FormulaPMLBoxRestriction(RCP< FormulaPMLPowerSigma< Real > > sigma_x, RCP< FormulaPMLPowerSigma< Real > > sigma_y, RCP< ElementFormula< F, G > > formula)
Definition: pml_formula.hh:362
virtual F operator()(const Real p, const Real t=0.0) const
Application operator.
Definition: pml_formula.h:624
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.
Definition: pml_formula.h:849
virtual std::ostream & info(std::ostream &os) const
Definition: pml_formula.hh:170
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: pml_formula.hh:409
static Real powi(Real x, int power)
Definition: pml_formula.h:649
Cmplx gamma_(Real2d &p) const
Returns the parameter on page 2067 (no equation number) of the above article.
Definition: pml_formula.hh:479
Class providing the formulas for hamburger PML.
Definition: pml_formula.hh:687
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
RCP< concepts::Formula< Real > > sigma_y
Definition: pml_formula.h:750
virtual FormulaPMLPowerSigma * clone() const
Definition: pml_formula.hh:49
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Definition: pml_formula.hh:342
static Real powi(Real x, int power)
Definition: pml_formula.h:586
const Real offset_
Distance of PML interface to center of circular domain.
Definition: pml_formula.hh:265