Learn R Programming

hydReng (version 0.1.0)

flow_max_freeboard: Maximum Flow Including Freeboard

Description

Calculates the maximum discharge of a CSarbitrary object including a freebord for a given bottom slope under uniform flow conditions.

Usage

flow_max_freeboard(object, J, type = "KOHS", sigma_wz = 0, fw = TRUE, fv = FALSE, ft = 0,
fe = NULL, fe_min = 0, fe_max = Inf, method = "Strickler",
ret = "all", plot = FALSE)

Value

Depending on ret, returns flow, water level, velocity, or all details.

Arguments

object

A CSarbitrary object.

J

Bottom slope [-].

type

Type of freeboard calculation. Defaults to "KOHS".

sigma_wz

Uncertainty in bed elevation (morphodynamics) [m].

fw

Logical; considers freeboard due to uncertainty in water elevation. If TRUE, calculates according to KOHS; if FALSE, sets fw = 0.

fv

Logical; considers freeboard due to waves. If `TRUE`, calculates according to KOHS; if FALSE, sets fv = 0.

ft

Freeboard due to driftwood based on KOHS (2013) [m].

fe

Fixed freeboard value to override calculations [m].

fe_min

Minimum freeboard [m].

fe_max

Maximum freeboard [m].

method

Method to calculate the roughness. Allowed are "Strickler" (equal roughness) and "Einstein" (mean roughness).

ret

Definition of the result returned by the function ("all", "Qmax", "hmax", "fe", or "v").

plot

Logical; whether to plot the results.

References

KOHS (2013). Freibord bei Hochwasserschutzprojekten und Gefahrenbeurteilungen - Empfehlungen der Kommission Hochwasserschutz KOHS. Wasser Energie Luft 105(1): 43-53.

Examples

Run this code
# Cross section
x <- c(-0.85, 3, 15, 18.85)
z <- c(3.85, 0, 0, 3.85)
cs<- CSarbitrary(x = x, z = z, xb_l = 3, xb_r = 15,
                                      kSt_B = 45)

# Channel
flow_max_freeboard(cs, sigma_wz = 0.3, fv = FALSE, J = 2.2 * 10^-2)
# Dam
flow_max_freeboard(cs, sigma_wz = 0.3, fv = TRUE, J = 2.2 * 10^-2)
# Bridge
flow_max_freeboard(cs, sigma_wz = 0.3, fv = TRUE, ft = 0.5,
           J = 2.2 * 10^-2)

# Sensitivity analysis for slope
J <- seq(1, 3, 0.1) * 10^-2
Q <- sapply(J, function(J) {
  flow_max_freeboard(cs, sigma_wz = 0.3, fv = TRUE, ft = 0.5,
             J = J)$Qmax
})
plot(J, Q, type = "l")

Run the code above in your browser using DataLab