Acoustic FDTD Solver
ACFDTD22MemEfficient.hpp
Go to the documentation of this file.
1 #ifndef ACFDTD22MEM_HPP
2 #define ACFDTD22MEM_HPP
3 
4 #include "constant.hpp"
5 
6 #include "Model.hpp"
8 #include "ObservationRegion.hpp"
9 #include "PointSensor.hpp"
10 #include "LineSensor.hpp"
11 #include "ACFDTD22.hpp"
12 
18 private:
19  unsigned short **bya, **byb, **bza, **bzb;
20  unsigned short **pra;
21  unsigned short **prb;
22  unsigned short **prc;
23  unsigned short **prd;
24  unsigned short **pre;
26  unsigned short **aya, **ayb, **aza, **azb;
27  unsigned short uya;
28  unsigned short **uyb;
29  unsigned short **uyc;
30  unsigned short uza;
31  unsigned short **uzb;
32  unsigned short **uzc;
34  void parseModel(const Model &model, const Grid &grid);
35 
36 public:
37  ACFDTD22MemEfficient(const double frequency, const double cfl_number);
38 
39  virtual void calcCoefficients(const Model &model, const Grid &grid);
40 
41  virtual void execute(const Grid &grid,
42  const CartPosition &sig_loc,
43  const Function *signal,
44  const double time_span,
45  const std::vector<Sensor *> &sen_vec,
46  const unsigned negY=BC_PRESS,
47  const unsigned posY=BC_PRESS,
48  const unsigned negZ=BC_PRESS,
49  const unsigned posZ=BC_PRESS);
50 
51  virtual void execute(const Model &model,
52  const Grid &grid,
53  const HardPlaneWaveSource &source,
54  const double time_span,
55  const std::vector<Sensor *> &sen_vec,
56  const unsigned negY=BC_PRESS,
57  const unsigned posY=BC_PRESS,
58  const unsigned negZ=BC_PRESS,
59  const unsigned posZ=BC_PRESS);
60 
61  virtual ~ACFDTD22MemEfficient();
62 
63 };
64 
65 #endif