Acoustic FDTD Solver
ELFDTD22.hpp
Go to the documentation of this file.
1 #ifndef ELFDTD22_HPP
2 #define ELFDTD22_HPP
3 
4 #include "constant.hpp"
5 
6 #include "Model.hpp"
8 #include "ObservationRegion.hpp"
9 #include "PointSensor.hpp"
10 #include "LineSensor.hpp"
11 
12 
18 class ELFDTD22 {
19 
21  double **yya, **yyb, **zza, **zzb;
22  double **yza, **yzb;
23 
25  double **uya, **uyb, **uza, **uzb;
26 
27  std::vector<unsigned> sensor_j;
28  std::vector<unsigned> sensor_k;
29  std::vector<std::vector<double> > sensor;
30 private:
31  double dt;
33 public:
34  ELFDTD22();
38  void calcCoefficients(Model &model,
39  const Grid &grid,
40  Function *signal,
41  const double &cfl_number);
45  void execute(const Grid &grid,
46  const CartPosition &sig_loc,
47  Function *signal,
48  const double &time_span);
49 
50  void attach(const unsigned &j, const unsigned &k);
51  std::vector<std::vector<double> > detach();
52 
53  ~ELFDTD22();
54 };
55 
56 
57 #endif