Flux related to the shallow water model.
|
| template<class Scalar> |
| RiemannSolution< Scalar > | Dumux::ShallowWater::exactRiemann (const Scalar dl, const Scalar dr, const Scalar ul, const Scalar ur, const Scalar vl, const Scalar vr, const Scalar grav, const Scalar s=0.0) |
| | Exact Riemann solver for Shallow water equations.
|
| template<class Scalar> |
| static Scalar | Dumux::ShallowWater::fluxLimiterLET (const Scalar valueLeft, const Scalar valueRight, const Scalar upperH, const Scalar lowerH) |
| | Flux limiter function to scale fluxes for small water depths.
|
| template<class Scalar, class GlobalPosition> |
| std::array< Scalar, 3 > | Dumux::ShallowWater::riemannProblem (const Scalar waterDepthLeft, const Scalar waterDepthRight, Scalar velocityXLeft, Scalar velocityXRight, Scalar velocityYLeft, Scalar velocityYRight, const Scalar bedSurfaceLeft, const Scalar bedSurfaceRight, const Scalar gravity, const GlobalPosition &nxy) |
| | Construct Riemann Problem and solve it.
|
template<class Scalar, class GlobalPosition>
| std::array< Scalar, 3 > Dumux::ShallowWater::riemannProblem |
( |
const Scalar | waterDepthLeft, |
|
|
const Scalar | waterDepthRight, |
|
|
Scalar | velocityXLeft, |
|
|
Scalar | velocityXRight, |
|
|
Scalar | velocityYLeft, |
|
|
Scalar | velocityYRight, |
|
|
const Scalar | bedSurfaceLeft, |
|
|
const Scalar | bedSurfaceRight, |
|
|
const Scalar | gravity, |
|
|
const GlobalPosition & | nxy ) |
Construct Riemann Problem and solve it.
Riemann Problem applies the hydrostatic reconstruction, uses the Riemann invariants to transform the two-dimensional problem to an one-dimensional problem and solves this new problem, and rotates the problem back. Further it applies an flux limiter for the water flux handle drying of elements. The correction of the bed slope surce terme leads to an non-symetric flux term at the interface for the momentum equations since DuMuX computes the fluxes twice from each side this does not matter.
So far we have only the exact Riemann solver, and the reconstruction after Audusse but further solvers and reconstructions ca be implemented.
- Parameters
-
| waterDepthLeft | water depth on the left side |
| waterDepthRight | water depth on the right side |
| velocityXLeft | veloctiyX on the left side |
| velocityXRight | velocityX on the right side |
| velocityYLeft | velocityY on the left side |
| velocityYRight | velocityY on the right side |
| bedSurfaceLeft | surface of the bed on the left side |
| bedSurfaceRight | surface of the bed on the right side |
| gravity | gravity constant |
| nxy | the normal vector |