Skip to contents

This 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

Value

This function returns cumulative volumetric infiltration.

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