simulation_state_1d.hpp
Go to the documentation of this file.
1 
6 #ifndef SIMULATION_STATE_1D_HPP
7 #define SIMULATION_STATE_1D_HPP
8 
9 #include <utility>
10 #include <vector>
11 #include <string>
13 #include "../two_dimensional/computational_cell_2d.hpp"
14 
15 using std::pair;
16 using std::vector;
17 using std::string;
18 
21 {
22 public:
23 
28  virtual bool operator()(double x) const = 0;
29 
30  virtual ~BoolSpatialDistribution(void);
31 };
32 
35 {
36 public:
37 
48  (const vector<double>& vertices,
49  const SpatialDistribution1D& density,
50  const SpatialDistribution1D& pressure,
51  const SpatialDistribution1D& para_velocity,
52  const SpatialDistribution1D& perp_velocity,
53  const vector<pair<string, const SpatialDistribution1D*> >& tracers,
54  const vector<pair<string, const BoolSpatialDistribution*> >& stickers);
55 
59  const vector<double>& getVertices(void) const;
60 
64  const vector<ComputationalCell>& getCells(void) const;
65 
69  const TracerStickerNames& getTracerStickerNames(void) const;
70 
74  void updateVertices(const vector<double>& vertices);
75 
79  void updateCells(const vector<ComputationalCell>& cells);
80 
81 private:
82  vector<double> vertices_;
83  vector<ComputationalCell> cells_;
84  TracerStickerNames tsn_;
85 };
86 
87 #endif // SIMULATION_STATE_1D_HPP
Spatial distribution of boolean values.
Base class for initial conditions.
Class for keeping the names of the tracers and stickers.
Abstract class for initial conditions.
Package for computational domain and hydro cells.
virtual bool operator()(double x) const =0
Evaluate function.