Get greenampt cylindrical flow integrated
get_greenampt_cyl_flow_integrated.RdThis function calculates green-ampt cylindrical flow (using `get_greenampt_cyl_horiz_numerical`) over a number of discrete vertical sections. This allows calculation of volumetric flow moving horizontally outward from a vertical, cylindrical pit filled with water. For instance, consider an idealized example of a cylindrical recharge well with a radius of 2 ft (`r_b`), a depth of 4 ft (`h_b`), screened over the bottom 3 ft (`d`). In this case, we might specify `num_sections = 3`, in which case this function would estimate planar radial flow (\(F_r\)) using `get_greenampt_cyl_horiz_numerical` with \(h_b \in \{1.5, 2.5, 3.5 ft\}\). Then the volumetric flow would be estimated as:
$$F_{c,total} = 1 ft \ times (F_r |_{h_b = 1.5} + F_r |_{h_b = 2.5} + F_r |_{h_b = 3.5})$$
The \(1 ft\) at the front represents the width of each section.
Usage
get_greenampt_cyl_flow_integrated(
theta_0,
theta_s,
Ksat,
h_b,
h_0,
r_b,
times,
F_units = "ft^2",
num_sections = 5,
d = NULL
)Arguments
- theta_0
Soil volumetric water content prior to event
- theta_s
Soil porosity
- Ksat
Saturated hydraulic conductivity
- h_b
Hydraulic head at soil surface boundary
- h_0
Hydraulic head in soil prior to event
- r_b
radius from the centroid to the free water--soil boundary
- times
times at which to calculate cumulative infiltration
- F_units
character indicating the areal (L^2) `units` for the output
- num_sections
Number of discrete bins over which to calculate recharge
- d
Depth over which to be integrated. If NULL, set to h_b
Examples
library(units)
r_b <- set_units(2, "ft") # length
theta_0 <- 0.2 # unitless
theta_s <- 0.35 # unitless
times <- set_units(c(0, 0.5, 1, 5), "hr")
Ksat <- set_units(0.2, "cm/h") # length / time
h_b <- set_units(4, "ft") # hydraulic head (length)
h_0 <- set_units(-10, "cm") # hydraulic head (length)
d <- set_units(3, "ft")
num_sections <- 3
F_v_cum <- get_greenampt_cyl_flow_integrated(theta_0, theta_s, Ksat, h_b, h_0, r_b, times,
F_units = "ft^2", num_sections = 3, d = d)
#> Error: cannot convert ft^3 into ft^2
# This is equivalent to a discretized version of `get_greenampt_cyl_horiz_numerical`:
Fc_1_5 <- get_greenampt_cyl_horiz_numerical(theta_0, theta_s, Ksat,
h_b = set_units(1.5,"ft"), h_0, r_b, times, F_units = "ft^2")
Fc_2_5 <- get_greenampt_cyl_horiz_numerical(theta_0, theta_s, Ksat,
h_b = set_units(2.5,"ft"), h_0, r_b, times, F_units = "ft^2")
Fc_3_5 <- get_greenampt_cyl_horiz_numerical(theta_0, theta_s, Ksat,
h_b = set_units(3.5,"ft"), h_0, r_b, times, F_units = "ft^2")
Fc_sum <- d / num_sections * (Fc_1_5 + Fc_2_5 + Fc_3_5)
F_v_cum
#> Error in eval(expr, envir, enclos): object 'F_v_cum' not found
Fc_sum
#> Units: [ft^3]
#> [1] 0.000000 2.080774 3.006697 7.300690