simple_flux_calculator.hpp
Go to the documentation of this file.
1 
6 #ifndef SIMPLE_FLUX_CALCULATOR_HPP
7 #define SIMPLE_FLUX_CALCULATOR_HPP 1
8 
9 #include "flux_calculator_2d.hpp"
10 #include "../common/riemann_solver.hpp"
11 
19  const EquationOfState& eos, TracerStickerNames const& tracerstickernames);
20 
26 Primitive reflect(const Primitive& p,
27  const Vector2D& axis);
28 
35  const Vector2D& p);
36 
39 {
40 public:
41 
45  explicit SimpleFluxCalculator(const RiemannSolver& rs);
46 
47  vector<Extensive> operator()
48  (const Tessellation& tess,
49  const vector<Vector2D>& edge_velocities,
50  const vector<ComputationalCell>& cells,
51  const vector<Extensive>& extensives,
52  const CacheData& cd,
53  const EquationOfState& eos,
54  const double time,
55  const double dt,
56  const TracerStickerNames& tracerstickernames) const;
57 
58 private:
59  const RiemannSolver& rs_;
60 
61  Conserved calcHydroFlux(const Tessellation& tess,
62  const vector<Vector2D>& edge_velocities,
63  const vector<ComputationalCell>& cells,
64  const EquationOfState& eos,
65  const size_t i,
66  TracerStickerNames const& tracerstickernames) const;
67 };
68 
79 (const RiemannSolver& rs,
80  const Primitive& left,
81  const Primitive& right,
82  const double velocity,
83  const Vector2D& n,
84  const Vector2D& p);
85 
86 #endif // SIMPLE_FLUX_CALCULATOR_HPP
Set of conserved variables (extensive)
Vector2D remove_parallel_component(const Vector2D &v, const Vector2D &p)
Remove parallel component of a vector.
Abstract class for tessellation.
Primitive convert_to_primitive(const ComputationalCell &cell, const EquationOfState &eos, TracerStickerNames const &tracerstickernames)
Converts computational cell to primitive variables.
Base class for flux calculator.
SimpleFluxCalculator(const RiemannSolver &rs)
Class constructor.
Base class for Riemann solver.
Conserved rotate_solve_rotate_back(const RiemannSolver &rs, const Primitive &left, const Primitive &right, const double velocity, const Vector2D &n, const Vector2D &p)
Rotates, solve riemann problem and rotates results back.
Base class for flux calculator.
Base class for equation of state.
Primitive reflect(const Primitive &p, const Vector2D &axis)
Reflects velocity about axis.
Container for cache data.
Definition: cache_data.hpp:14
Class for keeping the names of the tracers and stickers.
Simple flux calculator.
Primitive hydrodynamic variables.
2D Mathematical vector
Definition: geometry.hpp:15
Computational cell.