periodic_1d.cpp
1 #include "periodic_1d.hpp"
2 #include "../../misc/universal_error.hpp"
3 #include "flux_conversion.hpp"
4 #include <cmath>
5 
6 Extensive Periodic1D::operator()
7  (const SimulationState1D& ss,
8  const EquationOfState& eos,
9  const RiemannSolver& rs,
10  const vector<double>& vertex_velocity,
11  const bool /*side*/) const
12 {
13  const Primitive left = cc2primitive(ss.getCells().back(), eos);
14  const Primitive right = cc2primitive(ss.getCells().front(), eos);
15  const double vv =
16  0.5*(vertex_velocity.front() + vertex_velocity.back());
17  return flux2extensive
18  (rs(left, right, vv),
19  ss.getCells().back(),
20  ss.getCells().front());
21 }
Extensive variables.
Definition: extensive.hpp:18
Base class for Riemann solver.
const vector< ComputationalCell > & getCells(void) const
Access to hydro cells.
Base class for equation of state.
Periodic boundary conditions.
Primitive hydrodynamic variables.
Package for computational domain and hydro cells.