34 p_expression_ =
"(1.4 - 1.0) * rho * e";
38 "A function expression for the pressure as a function of density, "
39 "rho, and specific internal energy, e: p(rho, e)");
41 sie_expression_ =
"p / (rho * (1.4 - 1.0))";
43 "specific internal energy",
45 "A function expression for the specific internal energy as a "
46 "function of density, rho, and pressure, p: e(rho, p)");
48 se_expression_ =
"287.052874 / (1.4 - 1.0) * (log((1.4 - 1.0) * rho * "
49 "e) - 1.4 * log(287.052874 * rho))";
50 add_parameter(
"specific entropy",
52 "A function expression for the specific entropy as a "
53 "function of density, "
54 "rho, and specific internal energy, e: s(rho, e)");
57 add_parameter(
"cold curve bound",
59 "A function expression for the cold curve bound as a "
60 "function of density: e_0(rho)");
62 temperature_expression_ =
"e * (1.4 - 1.0) / 287.052874";
63 add_parameter(
"temperature",
64 temperature_expression_,
65 "A function expression for the temperature as a "
66 "function of density, rho, and specific internal energy, "
69 sos_expression_ =
"sqrt(1.4 * (1.4 - 1.0) * e)";
73 "A function expression for the speed of sound as a function of "
74 "density, rho, and specific internal energy, e: s(rho, e)");
79 "The maximum compressibility constant b for the equation of state");
81 add_parameter(
"interpolatory reference pressure",
83 "The interpolatory reference pressure p_infty used when "
84 "constructing the interpolatory equation of state");
87 "interpolatory reference specific internal energy",
89 "The interpolatory reference specific internal energy q used when "
90 "constructing the interpolatory equation of state");
96 const auto set_up_muparser = [
this] {
97 p_function_ = std::make_unique<dealii::FunctionParser<2>>();
98 p_function_->initialize(
101 sie_function_ = std::make_unique<dealii::FunctionParser<2>>();
102 sie_function_->initialize(
105 se_function_ = std::make_unique<dealii::FunctionParser<2>>();
106 se_function_->initialize(
109 e0_function_ = std::make_unique<dealii::FunctionParser<1>>();
110 e0_function_->initialize(
113 temperature_function_ = std::make_unique<dealii::FunctionParser<2>>();
114 temperature_function_->initialize(
"rho,e",
115 temperature_expression_,
118 sos_function_ = std::make_unique<dealii::FunctionParser<2>>();
119 sos_function_->initialize(
"rho,e", sos_expression_, {});
123 ParameterAcceptor::parse_parameters_call_back.connect(set_up_muparser);