Class for providing the formulas in bilinear forms coming from the PML transformation of the radial PML (in 2D). More...

#include <pml_edge.hh>

Inheritance diagram for concepts::RadialPML_2D:
concepts::OutputOperator

Public Member Functions

ElementFormulaContainer< MapCmplx2dgetGraduvFormula () const
 Returns formula related to the bilinear form. More...
 
ElementFormulaContainer< CmplxgetIdentityFormula () const
 Returns formula related to the bilinear form. More...
 
ElementFormulaContainer< MapCmplx2dgetLaplaceFormula () const
 Returns formula related to the bilinear form. More...
 
ElementFormulaContainer< CmplxgetRotRotFormula () const
 Returns formula related to the bilinear form. More...
 
ElementFormulaContainer< MapCmplx2dgetVectorIdentityFormula () const
 Returns formula related to the bilinear form. More...
 
 RadialPML_2D (const Real offset, const int power=2, const Real sigma0=5.0, const Real2d &center=Real2d(0, 0))
 Constructor. More...
 

Protected Member Functions

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

Private Attributes

std::unique_ptr< MatrixElementFormula< Cmplx, 2 > > _grad_u_grad_v_formula_
 
std::unique_ptr< MatrixElementFormula< Cmplx, 2 > > _grad_u_V_formula_
 
std::unique_ptr< FormulaPMLEdgeRadia_rot_U_rot_V_formula_
 
std::unique_ptr< FormulaPMLEdgeRadia_u_v_formula_
 
std::unique_ptr< MatrixElementFormula< Cmplx, 2 > > _U_V_formula_
 

Detailed Description

Class for providing the formulas in bilinear forms coming from the PML transformation of the radial PML (in 2D).

Author
Vinh Tho Ma, 2016

Definition at line 110 of file pml_edge.hh.

Constructor & Destructor Documentation

◆ RadialPML_2D()

concepts::RadialPML_2D::RadialPML_2D ( const Real  offset,
const int  power = 2,
const Real  sigma0 = 5.0,
const Real2d center = Real2d(0, 0) 
)

Constructor.

Parameters
offsetdistance of PML interface to center of circular domain
powerPML exponent
sigma0PML strength
centercenter of the circular domain

Member Function Documentation

◆ getGraduvFormula()

ElementFormulaContainer<MapCmplx2d> concepts::RadialPML_2D::getGraduvFormula ( ) const
inline

Returns formula related to the bilinear form.

\[\int_\Omega \operatorname{\bf grad} u(\mathbf{x}) \cdot \mathbf{v}(\mathbf{x})\ \mathrm{d}\mathbf{x}\]

.

Definition at line 158 of file pml_edge.hh.

◆ getIdentityFormula()

ElementFormulaContainer<Cmplx> concepts::RadialPML_2D::getIdentityFormula ( ) const
inline

Returns formula related to the bilinear form.

\[\int_\Omega u(\mathbf{x}) v(\mathbf{x})\ \mathrm{d}\mathbf{x}\]

.

Definition at line 126 of file pml_edge.hh.

◆ getLaplaceFormula()

ElementFormulaContainer<MapCmplx2d> concepts::RadialPML_2D::getLaplaceFormula ( ) const
inline

Returns formula related to the bilinear form.

\[\int_\Omega \operatorname{\bf grad}{u}(\mathbf{x}) \cdot \operatorname{\bf grad}{v}(\mathbf{x})\ \mathrm{d}\mathbf{x}\]

.

Definition at line 150 of file pml_edge.hh.

◆ getRotRotFormula()

ElementFormulaContainer<Cmplx> concepts::RadialPML_2D::getRotRotFormula ( ) const
inline

Returns formula related to the bilinear form.

\[\int_\Omega \operatorname{curl_{2D}} \mathbf{u}(\mathbf{x}) \operatorname{curl_{2D}} \mathbf{v}(\mathbf{x})\ \mathrm{d}\mathbf{x}\]

.

Definition at line 134 of file pml_edge.hh.

◆ getVectorIdentityFormula()

ElementFormulaContainer<MapCmplx2d> concepts::RadialPML_2D::getVectorIdentityFormula ( ) const
inline

Returns formula related to the bilinear form.

\[\int_\Omega \mathbf{u}(\mathbf{x}) \cdot \mathbf{v}(\mathbf{x})\ \mathrm{d}\mathbf{x}\]

.

Definition at line 142 of file pml_edge.hh.

◆ info()

virtual std::ostream& concepts::RadialPML_2D::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

Member Data Documentation

◆ _grad_u_grad_v_formula_

std::unique_ptr<MatrixElementFormula<Cmplx, 2> > concepts::RadialPML_2D::_grad_u_grad_v_formula_
private

Definition at line 168 of file pml_edge.hh.

◆ _grad_u_V_formula_

std::unique_ptr<MatrixElementFormula<Cmplx, 2> > concepts::RadialPML_2D::_grad_u_V_formula_
private

Definition at line 170 of file pml_edge.hh.

◆ _rot_U_rot_V_formula_

std::unique_ptr<FormulaPMLEdgeRadia> concepts::RadialPML_2D::_rot_U_rot_V_formula_
private

Definition at line 167 of file pml_edge.hh.

◆ _u_v_formula_

std::unique_ptr<FormulaPMLEdgeRadia> concepts::RadialPML_2D::_u_v_formula_
private

Definition at line 166 of file pml_edge.hh.

◆ _U_V_formula_

std::unique_ptr<MatrixElementFormula<Cmplx, 2> > concepts::RadialPML_2D::_U_V_formula_
private

Definition at line 169 of file pml_edge.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