Class documentation of Concepts

Loading...
Searching...
No Matches
concepts::FormulaLayerPlaneWaveTotal Class Referenceabstract

#include <sources.hh>

Inheritance diagram for concepts::FormulaLayerPlaneWaveTotal:
concepts::PiecewiseFormula< Cmplx > concepts::PiecewiseFormulaBase< F > concepts::ElementFormula< F, concepts::Realtype< F >::type > concepts::Cloneable concepts::OutputOperator

Public Types

typedef concepts::Realtype< F >::type G
 
typedefvalue_type
 

Public Member Functions

 FormulaLayerPlaneWaveTotal (const Vector< Real > &epsilon, const Vector< Real > &d, const Real kx, const Real omega, const std::map< int, int > phystolayer)
 
virtual PiecewiseFormula< Cmplx > * clone () const
 Virtual copy constructor.
 
virtual Cmplx operator() (const Connector &cell, const Real p, const Real t=0.0) const
 Gives the value in an particular cell.
 
virtual Cmplx operator() (const Connector &cell, const Real2d &p, const Real t=0.0) const
 
virtual Cmplx operator() (const Connector &cell, const Real3d &p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< G > &elm, const Real p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< G > &elm, const Real2d &p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< G > &elm, const Real3d &p, const Real t=0.0) const
 
virtualoperator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real p, const Real t=0.0) const=0
 
virtualoperator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real2d &p, const Real t=0.0) const=0
 
virtualoperator() (const ElementWithCell< concepts::Realtype< F >::type > &elm, const Real3d &p, const Real t=0.0) const=0
 
void set (const uint attrib, const Formula< Cmplx > &formula)
 
void set (const uint attrib, const Cmplx a)
 
void multiply (const H &factor)
 Multiplies all values with this factor.
 
void multiply (const uint attrib, const H &factor)
 Multiply the formula with attribute attrib with this factor.
 
virtual const F & dflt_value () const
 Gives default value.
 
virtual F & dflt_value ()
 Gives default value.
 

Protected Member Functions

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

Protected Attributes

HashMap< FormulaFactor > formula_
 Mapping from the elements on to the formula.
 

Detailed Description

Formula for plane wave source in layered structure.

This Formula build the layer plane wave

Author
Adrien Semin, 2016

Definition at line 1085 of file sources.hh.

Member Typedef Documentation

◆ G

template<typename F >
typedef concepts::Realtype<F>::type concepts::PiecewiseFormulaBase< F >::G
inherited

Definition at line 45 of file piecewiseFormula.hh.

◆ value_type

typedef F concepts::ElementFormula< F, concepts::Realtype< F >::type >::value_type
inherited

Definition at line 37 of file elementFormula.hh.

Constructor & Destructor Documentation

◆ FormulaLayerPlaneWaveTotal()

concepts::FormulaLayerPlaneWaveTotal::FormulaLayerPlaneWaveTotal ( const Vector< Real > &  epsilon,
const Vector< Real > &  d,
const Real  kx,
const Real  omega,
const std::map< int, int phystolayer 
)
inline

Constructor

Parameters
epsilonVector containing the $\varepsilon$ parameter, per layer, of size $N$
dVector containing the decreasing values of layer separation, of size $N-1$
kxWave number in the $x$-direction
omegaFrequency
phystolayerMapping from physical attributes to layer attributes.

For any cell that has a physical attribute p, and a layer attribute l, we consider that

  • l=0 : the cell is above the line $y=d(0)$
  • l=N-1 : the cell is below the line $y=d(N-1)$
  • other case : the cell is between the lines $y=d(l)$ and $y=d(l-1)$

Definition at line 1102 of file sources.hh.

◆ ~FormulaLayerPlaneWaveTotal()

concepts::FormulaLayerPlaneWaveTotal::~FormulaLayerPlaneWaveTotal ( )
inline

Definition at line 1188 of file sources.hh.

Member Function Documentation

◆ clone()

virtual PiecewiseFormula< Cmplx > * concepts::PiecewiseFormula< Cmplx >::clone ( ) const
virtualinherited

Virtual copy constructor.

Implements concepts::PiecewiseFormulaBase< F >.

◆ dflt_value() [1/2]

template<typename F >
virtual F & concepts::PiecewiseFormulaBase< F >::dflt_value ( )
inlinevirtualinherited

Gives default value.

Definition at line 83 of file piecewiseFormula.hh.

◆ dflt_value() [2/2]

template<typename F >
virtual const F & concepts::PiecewiseFormulaBase< F >::dflt_value ( ) const
inlinevirtualinherited

Gives default value.

Definition at line 81 of file piecewiseFormula.hh.

◆ info()

virtual std::ostream & concepts::PiecewiseFormula< Cmplx >::info ( std::ostream &  os) const
protectedvirtualinherited

Returns information in an output stream.

Reimplemented from concepts::PiecewiseFormulaBase< F >.

◆ multiply() [1/2]

void concepts::PiecewiseFormula< Cmplx >::multiply ( const H &  factor)
inherited

Multiplies all values with this factor.

Definition at line 239 of file formula.hh.

◆ multiply() [2/2]

void concepts::PiecewiseFormula< Cmplx >::multiply ( const uint  attrib,
const H &  factor 
)
inherited

Multiply the formula with attribute attrib with this factor.

Definition at line 242 of file formula.hh.

◆ operator()() [1/9]

virtual Cmplx concepts::PiecewiseFormula< Cmplx >::operator() ( const Connector cell,
const Real  p,
const Real  t = 0.0 
) const
virtualinherited

Gives the value in an particular cell.

Implements concepts::PiecewiseFormulaBase< F >.

◆ operator()() [2/9]

virtual Cmplx concepts::PiecewiseFormula< Cmplx >::operator() ( const Connector cell,
const Real2d p,
const Real  t = 0.0 
) const
virtualinherited

◆ operator()() [3/9]

virtual Cmplx concepts::PiecewiseFormula< Cmplx >::operator() ( const Connector cell,
const Real3d p,
const Real  t = 0.0 
) const
virtualinherited

◆ operator()() [4/9]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  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()() [5/9]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  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()() [6/9]

virtual F concepts::ElementFormula< F, concepts::Realtype< F >::type >::operator() ( const ElementWithCell< concepts::Realtype< F >::type > &  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

◆ operator()() [7/9]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real  p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 52 of file piecewiseFormula.hh.

◆ operator()() [8/9]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real2d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 57 of file piecewiseFormula.hh.

◆ operator()() [9/9]

template<typename F >
virtual F concepts::PiecewiseFormulaBase< F >::operator() ( const ElementWithCell< G > &  elm,
const Real3d p,
const Real  t = 0.0 
) const
inlinevirtualinherited

Definition at line 63 of file piecewiseFormula.hh.

◆ set()

void concepts::PiecewiseFormula< Cmplx >::set ( const uint  attrib,
const Formula< Cmplx > &  formula 
)
inherited

Set the constant in an particular cell

Parameters
cellCell the value is to set
valueValue
recursiveIf flag is set all children get the same value.

Member Data Documentation

◆ formula_

HashMap<FormulaFactor> concepts::PiecewiseFormula< Cmplx >::formula_
protectedinherited

Mapping from the elements on to the formula.

Definition at line 258 of file formula.hh.


The documentation for this class was generated from the following file: