Acoustic FDTD Solver
Grid.hpp
Go to the documentation of this file.
1 #ifndef GRID_HPP
2 #define GRID_HPP
3 
4 #include "constant.hpp"
5 #include "CartPosition.hpp"
6 #include "Utility.hpp"
7 
8 
12 class Grid {
13  // node
14  // element
15  // face
16 public:
17  std::vector<double> delt_y;
18  std::vector<double> prim_y;
19  std::vector<double> delt_z;
20  std::vector<double> prim_z;
22 private:
23  std::vector<double> getAxis(const std::vector<double> &axis, const std::vector<double> &delta, const int flag=-1) const;
24 
25 public:
26  Grid();
27 
35  Grid(const CartPosition &lower, const CartPosition &upper, const double dy, const double dz);
36 
37 
41  std::vector<double> getY(const int flag=-1) const;
42 
46  std::vector<double> getZ(const int flag=-1) const;
47 
48  std::vector<double> getDeltaY(const int flag=-1) const;
49 
50  std::vector<double> getDeltaZ(const int flag=-1) const;
57  double getMinimumElementEdgeLength() const;
58 
65  std::vector<unsigned> getIntegerCoordinate(const CartPosition &p, const int flag=-1) const;
66 
67 
98  std::vector<std::vector<unsigned> > getNeighbourIndices(const double y, const double z, const int flag=-1) const;
99 
104  unsigned getIndex(const CartPosition &p) const;
105 
106 };
107 
108 #endif