Class for Cartesian PML, see Collino & Monk. More...

#include <pml_formula.h>

Inheritance diagram for concepts::FormulaPMLCart:
concepts::ElementFormula< Cmplx > concepts::Cloneable concepts::OutputOperator

Public Types

enum  PMLMode {
  DXDX, DYDY, IDENT, DX,
  DY, DXDX, DYDY, IDENT,
  DX, DY
}
 
enum  PMLMode {
  DXDX, DYDY, IDENT, DX,
  DY, DXDX, DYDY, IDENT,
  DX, DY
}
 
typedef Cmplx value_type
 

Public Member Functions

virtual FormulaPMLCartclone () const
 Virtual constructor. More...
 
virtual FormulaPMLCartclone () const
 Virtual constructor. More...
 
virtual ElementFormula< Cmplx, typename Realtype< Cmplx >::type > * clone () const=0
 Virtual copy constructor. More...
 
 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)
 
 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)
 
Cmplx gammaX (Real x) const
 
Cmplx gammaX (Real x) const
 
Cmplx gammaY (Real y) const
 
Cmplx gammaY (Real y) 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 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
 
template<class RealNd >
Cmplx operator() (const ElementWithCell< Real > &elm, const RealNd &p, Real2d px, const Real t=0.0) const
 
template<class RealNd >
Cmplx operator() (const ElementWithCell< Real > &elm, const RealNd &p, Real2d px, 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...
 

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 Attributes

RCP< const concepts::ElementFormula< Cmplx > > coeff_a
 
const ElementFormulaContainer< Cmplxcoeff_a_
 
RCP< const concepts::ElementFormula< Cmplx > > coeff_b
 
const ElementFormulaContainer< Cmplxcoeff_b_
 
PMLMode mode
 
PMLMode mode_
 
double omega
 
double omega_
 
RCP< concepts::Formula< Real > > sigma_x
 
RCP< Formula< Real > > sigma_x_
 
RCP< concepts::Formula< Real > > sigma_y
 
RCP< Formula< Real > > sigma_y_
 

Detailed Description

Class for Cartesian PML, see Collino & Monk.

Definition at line 674 of file pml_formula.h.

Member Typedef Documentation

◆ value_type

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

Definition at line 37 of file elementFormula.hh.

Member Enumeration Documentation

◆ PMLMode [1/2]

Enumerator
DXDX 
DYDY 
IDENT 
DX 
DY 
DXDX 
DYDY 
IDENT 
DX 
DY 

Definition at line 676 of file pml_formula.h.

◆ PMLMode [2/2]

Enumerator
DXDX 
DYDY 
IDENT 
DX 
DY 
DXDX 
DYDY 
IDENT 
DX 
DY 

Definition at line 281 of file pml_formula.hh.

Constructor & Destructor Documentation

◆ FormulaPMLCart() [1/2]

concepts::FormulaPMLCart::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 
)
inline

Definition at line 678 of file pml_formula.h.

◆ FormulaPMLCart() [2/2]

concepts::FormulaPMLCart::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 
)
inline

Definition at line 283 of file pml_formula.hh.

Member Function Documentation

◆ clone() [1/3]

virtual FormulaPMLCart* concepts::FormulaPMLCart::clone ( ) const
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 693 of file pml_formula.h.

◆ clone() [2/3]

virtual FormulaPMLCart* concepts::FormulaPMLCart::clone ( ) const
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 298 of file pml_formula.hh.

◆ clone() [3/3]

virtual ElementFormula<Cmplx ,typename Realtype<Cmplx >::type >* concepts::ElementFormula< Cmplx , typename Realtype<Cmplx >::type >::clone ( ) const
pure virtualinherited

Virtual copy constructor.

◆ gammaX() [1/2]

Cmplx concepts::FormulaPMLCart::gammaX ( Real  x) const
inline

Definition at line 714 of file pml_formula.h.

◆ gammaX() [2/2]

Cmplx concepts::FormulaPMLCart::gammaX ( Real  x) const
inline

Definition at line 318 of file pml_formula.hh.

◆ gammaY() [1/2]

Cmplx concepts::FormulaPMLCart::gammaY ( Real  y) const
inline

Definition at line 718 of file pml_formula.h.

◆ gammaY() [2/2]

Cmplx concepts::FormulaPMLCart::gammaY ( Real  y) const
inline

Definition at line 322 of file pml_formula.hh.

◆ info() [1/2]

virtual std::ostream& concepts::FormulaPMLCart::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 740 of file pml_formula.h.

◆ info() [2/2]

virtual std::ostream& concepts::FormulaPMLCart::info ( std::ostream &  os) const
inlineprotectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 342 of file pml_formula.hh.

◆ operator()() [1/11]

virtual Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 708 of file pml_formula.h.

◆ operator()() [2/11]

virtual Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 312 of file pml_formula.hh.

◆ operator()() [3/11]

virtual Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 703 of file pml_formula.h.

◆ operator()() [4/11]

virtual Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 307 of file pml_formula.hh.

◆ operator()() [5/11]

virtual Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 698 of file pml_formula.h.

◆ operator()() [6/11]

virtual Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtual

Definition at line 302 of file pml_formula.hh.

◆ operator()() [7/11]

template<class RealNd >
Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const RealNd &  p,
Real2d  px,
const Real  t = 0.0 
) const
inline

Definition at line 725 of file pml_formula.h.

◆ operator()() [8/11]

template<class RealNd >
Cmplx concepts::FormulaPMLCart::operator() ( const ElementWithCell< Real > &  elm,
const RealNd &  p,
Real2d  px,
const Real  t = 0.0 
) const
inline

Definition at line 327 of file pml_formula.hh.

◆ operator()() [9/11]

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

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [10/11]

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

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

◆ operator()() [11/11]

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

Evaluates the formula.

Parameters
elmElement
pPoint in space in local element coordinates
tPoint in time

Member Data Documentation

◆ coeff_a

RCP<const concepts::ElementFormula<Cmplx> > concepts::FormulaPMLCart::coeff_a
private

Definition at line 747 of file pml_formula.h.

◆ coeff_a_

const ElementFormulaContainer<Cmplx> concepts::FormulaPMLCart::coeff_a_
private

Definition at line 349 of file pml_formula.hh.

◆ coeff_b

RCP<const concepts::ElementFormula<Cmplx> > concepts::FormulaPMLCart::coeff_b
private

Definition at line 748 of file pml_formula.h.

◆ coeff_b_

const ElementFormulaContainer<Cmplx> concepts::FormulaPMLCart::coeff_b_
private

Definition at line 350 of file pml_formula.hh.

◆ mode

PMLMode concepts::FormulaPMLCart::mode
private

Definition at line 751 of file pml_formula.h.

◆ mode_

PMLMode concepts::FormulaPMLCart::mode_
private

Definition at line 353 of file pml_formula.hh.

◆ omega

double concepts::FormulaPMLCart::omega
private

Definition at line 752 of file pml_formula.h.

◆ omega_

double concepts::FormulaPMLCart::omega_
private

Definition at line 354 of file pml_formula.hh.

◆ sigma_x

RCP<concepts::Formula<Real> > concepts::FormulaPMLCart::sigma_x
private

Definition at line 749 of file pml_formula.h.

◆ sigma_x_

RCP<Formula<Real> > concepts::FormulaPMLCart::sigma_x_
private

Definition at line 351 of file pml_formula.hh.

◆ sigma_y

RCP<concepts::Formula<Real> > concepts::FormulaPMLCart::sigma_y
private

Definition at line 750 of file pml_formula.h.

◆ sigma_y_

RCP<Formula<Real> > concepts::FormulaPMLCart::sigma_y_
private

Definition at line 352 of file pml_formula.hh.


The documentation for this class was generated from the following files:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich