66 const auto view = hyperbolic_system_.template view<dim, Number>();
68 auto point_bar = point;
69 point_bar[0] = point_bar[0] - mach_number_ * t;
70 const auto x = Number(point_bar[0]);
72 const Number polynomial = Number(64) *
73 ryujin::fixed_power<3>(x - left_) *
74 ryujin::fixed_power<3>(right_ - x) /
75 ryujin::fixed_power<6>(right_ - left_);
78 Number rho = density_ref_;
79 if (left_ <= point_bar[0] && point_bar[0] <= right_)
80 rho = density_ref_ + polynomial;
83 initial_state[0] = rho;
84 initial_state[1] = mach_number_;
85 if constexpr (View::have_energy_equation)
86 initial_state[2] = pressure_ref_;
87 return view.from_initial_state(initial_state);