Class documentation of Concepts

Loading...
Searching...
No Matches
DtNmap2D.hh
Go to the documentation of this file.
1
9#ifndef dtn_map2d_hh
10#define dtn_map2d_hh
11
12#include "basics/exceptions.hh"
13#include "toolbox/sequence.hh"
14#include "space/integral.hh"
16#include "formula/formulas2D.hh"
17#include "formula/bessel.hh"
19#include "function/vector.hh"
20#include "operator/sparseMatrix.hh"
21#include "hp1D/linearForm.hh"
22
23
24namespace concepts {
25
26 // ******************************************* getHelmholtzDtNCoeff_Circle2D **
27
37 uint N = 0);
38
39 // ********************************************* getLaplaceDtNCoeff_Circle2D **
40
51
52 // ******************************************* getLaplaceDtNCoeff_Straight2D **
53
102
103 // ****************************************** getHelmholtzDtNCoeff_Straight2D **
104
152 const Real L, uint N = 0);
153
154 // **************************************************** addExactDtN_Circle2D **
155
156
166
173 template<class F>
175 const Sequence<F> DtNCoeff);
176
179 const ElementFormula<Real>& frm,
181
182 template<class F, class G>
185 const ElementFormula<G>& frm,
187
188 // ******************************************************** addExactDtN_X_2D **
189
190 void addExactDtN_X_2D(Matrix<Real>& dest, const SpaceOnCells<Real>& spc,
191 const Sequence<Real> DtNCoeff, const Real L = 1.0);
192
193 template<class F>
194 void addExactDtN_X_2D(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
195 const Sequence<F> DtNCoeff, const Real L = 1.0);
196
197 template<class F, class G>
198 void addExactDtN_X_2D(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
200 const ElementFormula<G>& frm, const Sequence<F> DtNCoeffRhs,
201 const Real L = 1.0);
202
203 // ******************************************************** addExactDtN_Y_2D **
204
205 template<class F>
206 void addExactDtN_Y_2D(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
207 const Sequence<F> DtNCoeff, const Real L = 1.0);
208
209 template<class F, class G>
210 void addExactDtN_Y_2D(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
212 const ElementFormula<G>& frm,
213 const Sequence<F> DtNCoeffRhs, const Real L = 1.0);
214
215 // ****************************************************** addExactDtN_Y_2Dsym **
216
217 template<class F>
218 void addExactDtN_Y_2Dsym(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
219 const Sequence<F> DtNCoeff, const Real L = 1.0);
220
221 // ****************************************************** addExactDtN_Y_2Dcos **
222
223 template<class F>
224 void addExactDtN_Y_2Dcos(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
225 const Sequence<F> DtNCoeff, const Real L = 1.0);
226
227 // ****************************************************** addExactDtN_Y_2Dsin **
228
229 template<class F>
230 void addExactDtN_Y_2Dsin(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
231 const Sequence<F> DtNCoeff, const Real L = 1.0);
232
233 // **************************************************** addExactDtN_Y_2Dunsym **
234
235 template<class F>
236 void addExactDtN_Y_2Dunsym(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
237 const Sequence<F> DtNCoeff, const Real L = 1.0);
238
239 // *************************************************** addExactDtN_Y_2Dcossin **
240
241 template<class F>
242 void addExactDtN_Y_2Dcossin(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
243 const Sequence<F> DtNCoeff, const Real L = 1.0);
244
245 // *************************************************** addExactDtN_Y_2Dsincos **
246
247 template<class F>
248 void addExactDtN_Y_2Dsincos(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
249 const Sequence<F> DtNCoeff, const Real L = 1.0);
250
251 template<class F>
252 void addExactDtN_X_2Dsym(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
253 const Sequence<F> DtNCoeff, const Real L = 1.0);
254
255 // ****************************************************** addExactDtN_X_2Dcos **
256
257 template<class F>
258 void addExactDtN_X_2Dcos(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
259 const Sequence<F> DtNCoeff, const Real L = 1.0);
260
261 template<class F, class G>
262 void addExactDtN_X_2Dcos(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
264 const ElementFormula<G>& frm,
265 const Sequence<F> DtNCoeffRhs, const Real L = 1.0);
266
267 // ****************************************************** addExactDtN_X_2Dsin **
268
269 template<class F>
270 void addExactDtN_X_2Dsin(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
271 const Sequence<F> DtNCoeff, const Real L = 1.0);
272
273 template<class F, class G>
274 void addExactDtN_X_2Dsin(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
276 const ElementFormula<G>& frm,
277 const Sequence<F> DtNCoeffRhs, const Real L = 1.0);
278
279 // **************************************************** addExactDtN_Y_2Dunsym **
280
281 template<class F>
282 void addExactDtN_X_2Dunsym(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
283 const Sequence<F> DtNCoeff, const Real L = 1.0);
284
285 // *************************************************** addExactDtN_Y_2Dcossin **
286
287 template<class F>
288 void addExactDtN_X_2Dcossin(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
289 const Sequence<F> DtNCoeff, const Real L = 1.0);
290
291 template<class F, class G>
292 void addExactDtN_X_2Dcossin(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
294 const ElementFormula<G>& frm,
295 const Sequence<F> DtNCoeffRhs, const Real L = 1.0);
296
297 // *************************************************** addExactDtN_Y_2Dsincos **
298
299 template<class F>
300 void addExactDtN_X_2Dsincos(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
301 const Sequence<F> DtNCoeff, const Real L = 1.0);
302
303
304 template<class F, class G>
305 void addExactDtN_X_2Dsincos(Matrix<Cmplx>& dest, const SpaceOnCells<Real>& spc,
307 const ElementFormula<G>& frm,
308 const Sequence<F> DtNCoeffRhs, const Real L = 1.0);
309
310} // namespace concepts
311
312#endif // dtn_map2d_hh
Sequence< Real > getLaplaceDtNCoeff_Straight2D(const Real L, uint N=0)
double Real
Definition typedefs.hh:39
Sequence< Real > getLaplaceDtNCoeff_Circle2D(const Real R, uint N=0)
Sequence< Cmplx > getHelmholtzDtNCoeff_Circle2D(const Real omega, const Real R, uint N=0)
void addExactDtN_Circle2D(Matrix< Real > &dest, const SpaceOnCells< Real > &spc, const Sequence< Real > DtNCoeff)
Sequence< Cmplx > getHelmholtzDtNCoeff_Straight2D(const Real omega, const Real L, uint N=0)
Set< F > makeSet(uint n, const F &first,...)
Definition set.hh:320