9#include <initial_state.h>
13 namespace ShallowWater
20 template <
int dim,
typename Number,
typename state_type>
25 const std::string sub)
27 , hyperbolic_system(hyperbolic_system)
29 still_water_depth_ = 0.5;
30 this->add_parameter(
"still water depth",
32 "Depth of still water outside circular dam");
34 this->add_parameter(
"radius", radius_,
"Radius of circular dam ");
38 "dam amplitude", dam_amplitude_,
"Amplitude of circular dam");
43 const Number r = point.norm_square();
44 const Number h = (r <= radius_ ? dam_amplitude_ : still_water_depth_);
46 return hyperbolic_system.template expand_state<dim>(
55 Number still_water_depth_;
57 Number dam_amplitude_;
typename HyperbolicSystemView::state_type state_type
CircularDamBreak(const HyperbolicSystem &hyperbolic_system, const std::string sub)
state_type compute(const dealii::Point< dim > &point, Number) final
dealii::Tensor< 1, problem_dimension< dim >, Number > state_type