-
Notifications
You must be signed in to change notification settings - Fork 1
/
sink_flux.hpp
38 lines (30 loc) · 955 Bytes
/
sink_flux.hpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef SINK_FLUX_HPP
#define SINK_FLUX_HPP 1
#include "source/newtonian/two_dimensional/flux_calculator_2d.hpp"
#include "source/newtonian/common/riemann_solver.hpp"
#include "source/newtonian/two_dimensional/extensive.hpp"
#include "source/tessellation/tessellation.hpp"
using std::vector;
class SinkFlux: public FluxCalculator
{
public:
SinkFlux(const RiemannSolver& rs);
vector<Extensive> operator()
(const Tessellation& tess,
const vector<Vector2D>& point_velocities,
const vector<ComputationalCell>& cells,
const vector<Extensive>& extensives,
const CacheData& cd,
const EquationOfState& eos,
const double /*time*/,
const double /*dt*/) const;
private:
const RiemannSolver& rs_;
const Conserved calcHydroFlux
(const Tessellation& tess,
const vector<Vector2D>& point_velocities,
const vector<ComputationalCell>& cells,
const EquationOfState& eos,
const size_t i) const;
};
#endif // SINK_FLUX_HPP