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