extensive_generator.cpp
2 
4  const EquationOfState& eos)
5 {
6  return Conserved3D(cell.density,
7  cell.density*cell.velocity,
8  cell.density*
9  (0.5*ScalarProd(cell.velocity,cell.velocity)+
10  eos.dp2e(cell.density,cell.pressure)),
11  cell.tracers);
12 }
13 
15 (const vector<ComputationalCell>& cells,
16  const Tessellation3D& tess,
17  const EquationOfState& eos):
18  cells_(cells), tess_(tess), eos_(eos) {}
19 
20 size_t ExtensiveGenerator::size(void) const
21 {
22  return cells_.size();
23 }
24 
26 {
27  return tess_.GetVolume(i)*calc_intensive(cells_[i],eos_);
28 }
Abstract class for tessellation in 3D.
virtual double GetVolume(size_t index) const =0
Returns the volume of a cell.
Conserved3D operator[](size_t i) const
Returns a single member of the list.
Container for the hydrodynamic variables.
ExtensiveGenerator(const vector< ComputationalCell > &cells, const Tessellation3D &tess, const EquationOfState &eos)
Class constructor.
size_t size(void) const
Returns the length of the list.
double ScalarProd(Vector3D const &v1, Vector3D const &v2)
Scalar product of two vectors.
Definition: Vector3D.cpp:185
Base class for equation of state.
Conserved3D calc_intensive(const ComputationalCell &cell, const EquationOfState &eos)
Calculates the extensive conserved variables.
virtual double dp2e(double d, double p, tvector const &tracers=tvector(), vector< string > const &tracernames=vector< string >()) const =0
Calculates the thermal energy per unit mass.
Conserved variables for a 3D computational cell.
Definition: conserved_3d.hpp:7
Generates extensive conserved variables.