10#include <compile_time_options.h>
16 namespace ShallowWaterInitialStates
24 template <
typename Description,
int dim,
typename Number>
34 const std::string subsection)
36 , hyperbolic_system_(hyperbolic_system)
38 primitive_left_[0] = 1.;
39 primitive_left_[1] = 0.0;
40 this->add_parameter(
"primitive state left",
42 "Initial 1d primitive state (h, u) on the left");
44 primitive_right_[0] = 1.;
45 primitive_right_[1] = 0.0;
46 this->add_parameter(
"primitive state right",
48 "Initial 1d primitive state (h, u) on the right");
53 const auto view = hyperbolic_system_.template view<dim, Number>();
54 const auto temp = point[0] > 0. ? primitive_right_ : primitive_left_;
55 return view.from_initial_state(temp);
61 dealii::Tensor<1, 2, Number> primitive_left_;
62 dealii::Tensor<1, 2, Number> primitive_right_;
typename Description::HyperbolicSystem HyperbolicSystem
typename View::state_type state_type
typename Description::template HyperbolicSystemView< dim, Number > View
state_type compute(const dealii::Point< dim > &point, Number) final
Contrast(const HyperbolicSystem &hyperbolic_system, const std::string subsection)
Euler::HyperbolicSystem HyperbolicSystem