37 const std::string subsection)
39 , hyperbolic_system_(hyperbolic_system)
40 , geotiff_reader_(subsection +
"/geotiff")
42 height_expression_ =
"1.4";
44 "water height expression",
46 "A function expression describing the initial total water height");
48 velocity_expression_ =
"0.0";
50 "velocity expression",
52 "A function expression describing the initial velocity");
54 const auto set_up = [
this] {
55 using FP = dealii::FunctionParser<dim>;
61 height_function_ = std::make_unique<FP>(height_expression_);
62 velocity_function_ = std::make_unique<FP>(velocity_expression_);
66 this->parse_parameters_call_back.connect(set_up);
73 dealii::Tensor<1, 2, Number> primitive;
75 height_function_->set_time(t);
76 primitive[0] = std::max(0., height_function_->value(point) - z);
78 velocity_function_->set_time(t);
79 primitive[1] = velocity_function_->value(point);
81 const auto view = hyperbolic_system_.template view<dim, Number>();
82 return view.from_initial_state(primitive);