localDtNmap2D.hh

Go to the documentation of this file.
1 
6 #ifndef LOCALDTNMAP2D_HH_
7 #define LOCALDTNMAP2D_HH_
8 
9 #include "formula.hh"
10 #include "hp2D.hh"
11 #include "hp1D.hh"
12 
13 namespace concepts {
14 
20  public:
21 
24 
26  virtual ~LocalDtNmapFeng2D();
27 
33 
40 
47 
52  void setFactor(const concepts::Cmplx factor);
53 
63  void addlocalDtNmapFeng2D(double R, double k, int N, double h, int p,
64  Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc);
65 
78  void addlocalDtNmapFeng2D(double R, double k, int N, double h, int p,
79  Matrix<Cmplx>& dest, concepts::Vector<Cmplx>& destVec,
80  const SpaceOnCells<Real>& spc);
81 
82  protected:
83 
84  //The incoming wave
85  std::unique_ptr<concepts::ParsedFormula<Cmplx> > uInc_;
86 
88  std::unique_ptr<concepts::ParsedFormula<Cmplx> > uIncD2_;
89 
91  std::unique_ptr<concepts::ParsedFormula<Cmplx> > uIncD4_;
92 
98 
99  };
100 
101 } /* namespace concepts */
102 #endif /* LOCALDTNMAP2D_HH_ */
void setFactor(const concepts::Cmplx factor)
Changes the factor for the local DtN map.
std::unique_ptr< concepts::ParsedFormula< Cmplx > > uInc_
void addlocalDtNmapFeng2D(double R, double k, int N, double h, int p, Matrix< Cmplx > &dest, concepts::Vector< Cmplx > &destVec, const SpaceOnCells< Real > &spc)
Adds the local DtN operator of Feng to the destination matrix, evaluates the DtN operator on the inco...
void setuIncD2(const concepts::ParsedFormula< Cmplx > &uincD2)
Sets the second tangential derivative of the incoming wave for the ...field formulation.
virtual ~LocalDtNmapFeng2D()
Destructor.
void setuIncD4(const concepts::ParsedFormula< Cmplx > &uincD4)
Sets the fourth tangential derivative of the incoming wave for the ...field formulation.
LocalDtNmapFeng2D()
Constructor.
void addlocalDtNmapFeng2D(double R, double k, int N, double h, int p, Matrix< Cmplx > &dest, const SpaceOnCells< Real > &spc)
Adds the local DtN operator of Feng to the destination matrix.
concepts::Cmplx factor_
The DtN map is multiplied with the factor before added into the destination matrix.
Abstract class for an operator.
Definition: compositions.hh:31
std::complex< Real > Cmplx
Type for a complex number. It also depends on the setting of Real.
Definition: typedefs.hh:39
std::unique_ptr< concepts::ParsedFormula< Cmplx > > uIncD4_
The second tangential derivative of the incoming wave.
void setuInc(const concepts::ParsedFormula< Cmplx > &uinc)
Sets the incoming wave for the ...field formulation.
std::unique_ptr< concepts::ParsedFormula< Cmplx > > uIncD2_
The second tangential derivative of the incoming wave.
Class that allows to apply the local DtN Boundary Conditions of Feng for the Helmholtz equation for o...
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich