8#include <ryujin/base/compile_time_options.h>
13 namespace EquationsOfState
32 this->add_parameter(
"gamma", gamma_,
"The ratio of specific heats");
41 "gas constant R", R_,
"The specific gas constant R");
43 cv_ = R_ / (gamma_ - 1.);
46 this->add_parameter(
"reference specific entropy",
48 "The reference specific entropy");
51 ParameterAcceptor::parse_parameters_call_back.connect(
52 [
this] { cv_ = R_ / (gamma_ - 1.); });
61 double pressure(
double rho,
double e)
const final
63 return (gamma_ - 1.) * rho * e;
74 return p / (rho * (gamma_ - 1.));
108 const auto gm1 = gamma_ - 1.;
109 const auto p = gm1 * rho * e;
110 return cv_ * (std::log(p) - gamma_ * std::log(gm1 * cv_ * rho)) + s0_;
122 return std::sqrt(gamma_ * (gamma_ - 1.) * e);
virtual double pressure(double rho, double e) const =0
virtual double temperature(double, double) const
virtual double speed_of_sound(double, double) const
virtual double specific_internal_energy(double rho, double p) const =0
double temperature(double, double e) const final
double pressure(double rho, double e) const final
double speed_of_sound(double, double e) const final
PolytropicGas(const std::string &subsection)
double specific_entropy(double rho, double e) const final
double cold_curve_bound(double) const final
double specific_internal_energy(double rho, double p) const final