41 const std::string &subsection)
44 , hyperbolic_system_(hyperbolic_system)
46 primitive_inner_[0] = 1.4;
47 primitive_inner_[1] = 0.0;
48 if constexpr (View::have_energy_equation)
49 primitive_inner_[2] = 1.;
50 this->add_parameter(
"primitive state inner",
52 "1d primitive state [rho, u, p] on the inner disk "
53 "(or [rho, u] for the barotropic Euler module)");
55 primitive_outer_[0] = 1.4;
56 primitive_outer_[1] = 0.0;
57 if constexpr (View::have_energy_equation)
58 primitive_outer_[2] = 1.;
60 "primitive state outer",
62 "1d primitive state [rho, u, p] on the outer annulus (or [rho, u] "
63 "for the barotropic Euler module)");
66 this->add_parameter(
"radius", radius_,
"Radius of radial area");
68 const auto convert_states = [&]() {
69 const auto view = hyperbolic_system_.template view<dim, Number>();
70 state_inner_ = view.from_initial_state(primitive_inner_);
71 state_outer_ = view.from_initial_state(primitive_outer_);
73 this->parse_parameters_call_back.connect(convert_states);