Classes | |
struct | RiemannSolution |
Functions | |
template<class Scalar > | |
RiemannSolution< Scalar > | 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 the shallow water equations. More... | |
template<class Scalar > | |
static Scalar | fluxLimiterLET (const Scalar valueLeft, const Scalar valueRight, const Scalar upperH, const Scalar lowerH) |
Flux limiter function to scale fluxes for small water depths. More... | |
template<class Scalar , class GlobalPosition > | |
std::array< Scalar, 3 > | 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 a Riemann problem and solve it. More... | |
template<class Scalar , class GlobalPosition > | |
std::array< Scalar, 3 > | fixedWaterDepthBoundary (const Scalar waterDepthBoundary, const Scalar waterDepthInside, const Scalar velocityXInside, const Scalar velocityYInside, const Scalar gravity, const GlobalPosition &nxy) |
Compute the outer cell state for fixed water depth boundary. More... | |
template<class Scalar , class GlobalPosition > | |
std::array< Scalar, 3 > | fixedDischargeBoundary (const Scalar dischargeBoundary, const Scalar waterDepthInside, const Scalar velocityXInside, const Scalar velocityYInside, const Scalar gravity, const GlobalPosition &nxy) |
Compute the outer cell state for a fixed discharge boundary. More... | |
template<class PrimaryVariables , class Scalar , class GlobalPosition > | |
std::array< Scalar, 3 > | noslipWallBoundary (const Scalar alphaWall, const Scalar turbulentViscosity, const PrimaryVariables &state, const GlobalPosition &cellCenterToBoundaryFaceCenter, const GlobalPosition &unitNormal) |
Compute the viscosity/diffusive flux at a rough wall boundary using no-slip formulation. More... | |
template<class PrimaryVariables , class Scalar , class GlobalPosition > | |
std::array< Scalar, 3 > | nikuradseWallBoundary (const Scalar ksWall, const PrimaryVariables &state, const GlobalPosition &cellCenterToBoundaryFaceCenter, const GlobalPosition &unitNormal) |
Compute the viscosity/diffusive flux at a rough wall boundary using Nikuradse formulation. More... | |
std::array< Scalar, 3 > Dumux::ShallowWater::fixedDischargeBoundary | ( | const Scalar | dischargeBoundary, |
const Scalar | waterDepthInside, | ||
const Scalar | velocityXInside, | ||
const Scalar | velocityYInside, | ||
const Scalar | gravity, | ||
const GlobalPosition & | nxy | ||
) |
Compute the outer cell state for a fixed discharge boundary.
dischargeBoundary | Discharge per meter at the boundary face [m^2/s] |
waterDepthInside | Water depth in the inner cell [m] |
velocityXInside | Velocity in x-direction in the inner cell [m/s] |
velocityYInside | Velocity in y-direction in the inner cell [m/s] |
gravity | Gravity constant [m/s^2] |
nxy | Normal vector of the boundary face |
std::array< Scalar, 3 > Dumux::ShallowWater::fixedWaterDepthBoundary | ( | const Scalar | waterDepthBoundary, |
const Scalar | waterDepthInside, | ||
const Scalar | velocityXInside, | ||
const Scalar | velocityYInside, | ||
const Scalar | gravity, | ||
const GlobalPosition & | nxy | ||
) |
Compute the outer cell state for fixed water depth boundary.
waterDepthBoundary | Water depth at the boundary face [m^2/s] |
waterDepthInside | Water depth in the inner cell [m] |
velocityXInside | Velocity in x-direction in the inner cell [m/s] |
velocityYInside | Velocity in y-direction in the inner cell [m/s] |
gravity | Gravity constant [m/s^2] |
nxy | Normal vector of the boundary face |
std::array< Scalar, 3 > Dumux::ShallowWater::nikuradseWallBoundary | ( | const Scalar | ksWall, |
const PrimaryVariables & | state, | ||
const GlobalPosition & | cellCenterToBoundaryFaceCenter, | ||
const GlobalPosition & | unitNormal | ||
) |
Compute the viscosity/diffusive flux at a rough wall boundary using Nikuradse formulation.
ksWall | Nikuradse roughness height for the wall [m] |
state | the primary variable state (water depth, velocities) |
cellCenterToBoundaryFaceCenter | Cell-center to boundary distance |
unitNormal | Normal vector of the boundary face |
std::array< Scalar, 3 > Dumux::ShallowWater::noslipWallBoundary | ( | const Scalar | alphaWall, |
const Scalar | turbulentViscosity, | ||
const PrimaryVariables & | state, | ||
const GlobalPosition & | cellCenterToBoundaryFaceCenter, | ||
const GlobalPosition & | unitNormal | ||
) |
Compute the viscosity/diffusive flux at a rough wall boundary using no-slip formulation.
alphaWall | Roughness parameter: alphaWall=0.0 means full slip, alphaWall=1.0 means no slip, \(0.0<\text{alphaWall}<1.0\) means partial slip [-] |
turbulentViscosity | Turbulent viscosity [m^2/s] |
state | Primary variables (water depth, velocities) |
cellCenterToBoundaryFaceCenter | Cell-center to boundary distance |
unitNormal | Normal vector of the boundary face |