37 const std::string subsection)
39 , hyperbolic_system_(hyperbolic_system)
41 primitive_left_[0] = 1.4;
42 primitive_left_[1] = 0.;
43 if constexpr (View::have_energy_equation)
44 primitive_left_[2] = 1.;
45 this->add_parameter(
"primitive state left",
47 "1d primitive state [rho, u, p] on the left (or "
48 "[rho, u] for the barotropic Euler module)");
50 primitive_right_[0] = 1.4;
51 primitive_right_[1] = 0.;
52 if constexpr (View::have_energy_equation)
53 primitive_right_[2] = 1.;
54 this->add_parameter(
"primitive state right",
56 "1d primitive state [rho, u, p] on the right (or "
57 "[rho, u] for the barotropic Euler module)");
59 const auto convert_states = [&]() {
60 const auto view = hyperbolic_system_.template view<dim, Number>();
61 state_left_ = view.from_initial_state(primitive_left_);
62 state_right_ = view.from_initial_state(primitive_right_);
64 this->parse_parameters_call_back.connect(convert_states);