21 #ifndef FUB_EQUATIONS_ADVECTION_HPP
22 #define FUB_EQUATIONS_ADVECTION_HPP
41 static constexpr
auto names = std::make_tuple(
"Mass");
42 static constexpr
auto pointers_to_member =
65 static constexpr
int Rank() {
return 2; }
std::array< Array1d, 1 > ComputeSignals(const CompleteArray &, const CompleteArray &, Direction dir)
Returns the upwind velocity in the specified direction.
void SolveRiemannProblem(CompleteArray &state, const CompleteArray &left, const CompleteArray &right, Direction dir)
Returns either left or right, depending on the upwind velocity.
ExactRiemannSolver(const Advection2d &equation)
Definition: Advection.hpp:93
std::array< double, 1 > ComputeSignals(const Complete &, const Complete &, Direction dir)
Returns the upwind velocity in the specified direction.
typename Advection2d::CompleteArray CompleteArray
Definition: Advection.hpp:91
typename Advection2d::Complete Complete
Definition: Advection.hpp:90
void SolveRiemannProblem(Complete &state, const Complete &left, const Complete &right, Direction dir)
Returns either left or right, depending on the upwind velocity.
Advection2d equation_
Definition: Advection.hpp:112
Definition: ExactRiemannSolver.hpp:26
This class applies a base flux nethod on a view of states.
Definition: flux_method/FluxMethod.hpp:57
The fub namespace.
Definition: AnyBoundaryCondition.hpp:31
Direction
This is a type safe type to denote a dimensional split direction.
Definition: Direction.hpp:30
This class descibes the 2-dimensional advection equation with constant transport velocity.
Definition: Advection.hpp:51
::fub::CompleteArray< Advection2d > CompleteArray
Definition: Advection.hpp:58
void Flux(ConservativeArray &flux, const CompleteArray &state, Direction dir) const noexcept
Computes the linear transport flux in the specified direction (Array version).
std::array< double, 2 > velocity
This member variable stores the constant transport velocity.
Definition: Advection.hpp:85
AdvectionVariables< ScalarDepth > ConservativeDepths
Definition: Advection.hpp:52
static constexpr int Rank()
Returns 2, which is the space dimension for this equation.
Definition: Advection.hpp:65
Advection2d(const std::array< double, 2 > &v) noexcept
Constructs an equation object with velocity v.
Definition: Advection.hpp:62
void Flux(Conservative &flux, const Complete &state, Direction dir) const noexcept
Computes the linear transport flux in the specified direction.
::fub::Complete< Advection2d > Complete
Definition: Advection.hpp:55
Definition: Advection.hpp:38
Mass mass
Definition: Advection.hpp:38
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