12 namespace EquationOfStateLibrary
26 this->add_parameter(
"gamma", gamma_,
"The ratio of specific heats");
35 "gas constant R", R_,
"The specific gas constant R");
37 cv_ = R_ / (gamma_ - 1.);
41 "covolume b", b_,
"The maximum compressibility constant");
44 this->add_parameter(
"reference specific internal energy",
46 "The reference specific internal energy");
50 "reference pressure", pinf_,
"The reference pressure p infinity");
53 ParameterAcceptor::parse_parameters_call_back.connect(
64 double pressure(
double rho,
double e)
const final
66 return (gamma_ - 1.) * rho * (e - q_) / (1. - b_ * rho) -
79 const auto numerator = (p + gamma_ * pinf_) * (1. - b_ * rho);
80 const auto denominator = rho * (gamma_ - 1.);
81 return q_ + numerator / denominator;
92 return (e - q_ - pinf_ * (1. / rho - b_)) / cv_;
104 const auto covolume = 1. - b_ * rho;
105 auto numerator = (rho * (e - q_) - pinf_ * covolume) / rho;
106 numerator *= gamma_ * (gamma_ - 1.);
107 return std::sqrt(numerator) / covolume;
double speed_of_sound(double rho, double e) const final
NobleAbelStiffenedGas(const std::string &subsection)
double temperature(double rho, double e) const final
double pressure(double rho, double e) const final
double specific_internal_energy(double rho, double p) const final