21 #ifndef FUB_EQUATIONS_SHALLOW_WATER_HPP
22 #define FUB_EQUATIONS_SHALLOW_WATER_HPP
43 static constexpr
auto names = std::make_tuple(
"Height",
"Momentum");
45 static constexpr
auto pointers_to_member =
62 static constexpr
int Rank() noexcept {
return 2; }
void SolveRiemannProblem(Complete &state, const Complete &left, const Complete &right, Direction dir)
Returns either left or right, depending on the upwind velocity.
std::array< Array1d, 2 > ComputeSignals(const CompleteArray &, const CompleteArray &, Direction dir)
Returns the upwind velocity in the specified direction.
ExactRiemannSolver(const ShallowWater &equation)
Definition: ShallowWater.hpp:78
ShallowWater equation_
Definition: ShallowWater.hpp:100
typename ShallowWater::CompleteArray CompleteArray
Definition: ShallowWater.hpp:76
void SolveRiemannProblem(CompleteArray &state, const CompleteArray &left, const CompleteArray &right, Direction dir)
Returns either left or right, depending on the upwind velocity.
Complete ComputeMiddleState(const Complete &left, const Complete &right, Direction dir)
typename ShallowWater::Complete Complete
Definition: ShallowWater.hpp:75
std::array< double, 2 > ComputeSignals(const Complete &, const Complete &, Direction dir)
Returns the upwind velocity in the specified direction.
Definition: ExactRiemannSolver.hpp:26
This class applies a base flux nethod on a view of states.
Definition: flux_method/FluxMethod.hpp:57
Definition: HllMethod.hpp:139
constexpr struct fub::euler::MomentumFn Momentum
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
Direction
This is a type safe type to denote a dimensional split direction.
Definition: Direction.hpp:30
Definition: StateArray.hpp:178
This type has a constructor which takes an equation and might allocate any dynamically sized member v...
Definition: State.hpp:335
Definition: StateArray.hpp:135
This type has a constructor which takes an equation and might allocate any dynamically sized member v...
Definition: State.hpp:251
Definition: HllMethod.hpp:150
Definition: flux_method/MusclHancockMethod.hpp:193
Definition: ShallowWater.hpp:103
std::array< double, 2 > operator()(const ShallowWater &equation, const Complete &left, const Complete &right, Direction dir)
std::array< Array1d, 2 > operator()(const ShallowWater &equation, const CompleteArray &left, const CompleteArray &right, Direction dir)
Definition: ShallowWater.hpp:37
Heigth height
Definition: ShallowWater.hpp:38
Momentum momentum
Definition: ShallowWater.hpp:39
Definition: ShallowWater.hpp:52
ShallowWaterVariables< ScalarDepth, VectorDepth< 2 > > ConservativeDepths
Definition: ShallowWater.hpp:53
void Flux(Conservative &flux, const Complete &state, Direction dir) const noexcept
::fub::CompleteArray< ShallowWater > CompleteArray
Definition: ShallowWater.hpp:60
void Flux(ConservativeArray &flux, const CompleteArray &state, Direction dir) const noexcept
::fub::Complete< ShallowWater > Complete
Definition: ShallowWater.hpp:57
static constexpr int Rank() noexcept
Definition: ShallowWater.hpp:62
double gravity_
Definition: ShallowWater.hpp:70