concepts::FormulaPMLCartNew Class Referenceabstract

New class for Cartesian PML that gets rid of the equation coefficients in the PML structure. More...

#include <pml_formula.hh>

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

Public Types

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

Public Member Functions

virtual FormulaPMLCartNewclone () const
 Virtual constructor. More...
 
virtual ElementFormula< Cmplx, typename Realtype< Cmplx >::type > * clone () const=0
 Virtual copy constructor. More...
 
 FormulaPMLCartNew (RCP< Formula< Real > > sigma_x, RCP< Formula< Real > > sigma_y, PMLMode mode)
 
Cmplx gammaX (Real x) 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 Real2d &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
 
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...
 
RCP< Formula< Real > > sigmax () const
 
RCP< Formula< Real > > sigmay () const
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Private Attributes

PMLMode mode_
 
RCP< Formula< Real > > sigma_x_
 
RCP< Formula< Real > > sigma_y_
 

Detailed Description

New class for Cartesian PML that gets rid of the equation coefficients in the PML structure.

Author
Juliette Chabassier, 2012

Definition at line 553 of file pml_formula.hh.

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

Enumerator
DXDX 
DYDY 
IDENT 
DX 
DY 
ZERO 

Definition at line 555 of file pml_formula.hh.

Constructor & Destructor Documentation

◆ FormulaPMLCartNew()

concepts::FormulaPMLCartNew::FormulaPMLCartNew ( RCP< Formula< Real > >  sigma_x,
RCP< Formula< Real > >  sigma_y,
PMLMode  mode 
)
inline

Definition at line 557 of file pml_formula.hh.

Member Function Documentation

◆ clone() [1/2]

virtual FormulaPMLCartNew* concepts::FormulaPMLCartNew::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 565 of file pml_formula.hh.

◆ clone() [2/2]

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

Virtual copy constructor.

◆ gammaX()

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

Definition at line 588 of file pml_formula.hh.

◆ gammaY()

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

Definition at line 592 of file pml_formula.hh.

◆ info()

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

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Definition at line 612 of file pml_formula.hh.

◆ operator()() [1/7]

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

Definition at line 579 of file pml_formula.hh.

◆ operator()() [2/7]

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

Definition at line 574 of file pml_formula.hh.

◆ operator()() [3/7]

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

Definition at line 569 of file pml_formula.hh.

◆ operator()() [4/7]

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

Definition at line 597 of file pml_formula.hh.

◆ operator()() [5/7]

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()() [6/7]

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()() [7/7]

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

◆ sigmax()

RCP<Formula<Real> > concepts::FormulaPMLCartNew::sigmax ( ) const
inline

Definition at line 585 of file pml_formula.hh.

◆ sigmay()

RCP<Formula<Real> > concepts::FormulaPMLCartNew::sigmay ( ) const
inline

Definition at line 586 of file pml_formula.hh.

Member Data Documentation

◆ mode_

PMLMode concepts::FormulaPMLCartNew::mode_
private

Definition at line 620 of file pml_formula.hh.

◆ sigma_x_

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

Definition at line 618 of file pml_formula.hh.

◆ sigma_y_

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

Definition at line 619 of file pml_formula.hh.


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