get_hydraulic_head.Rd
Get hydraulic head at location, accounting for the cumulative effect of wells at location, the aquifer type
(confined or unconfined), resting head, and cumulative effect of all wells. This function
is a wrapper around get_potential_differential()
to get the actual hydraulic head instead of the differential potential.
get_hydraulic_head(loc, wells, aquifer)
loc | coordinates vector as c(x,y), with units of [m] or as data.frame with columns $x and $y |
---|---|
wells | wells object with each row containing rate Q [m^3/s], diam [m], radius of influence R [m], & coordinates x [m], y [m] |
aquifer | Afuifer object containing aquifer_type, h0, Ksat, bounds, z0 (for confined case only) |
The output is the hydraulic head loc
, accounting for the
cumulative effect of all wells
(dP), which is given as hydraulic
head [units=m] if aquifer_type="confined"
or discharge potential
[m^2] if aquifer_type="unconfined"
. Then the head at loc
is:
\(h=h_0+dP\)
\(h=\sqrt{h_0^2+dP}\)
well1 <- define_wells(x=0,y=0,Q=1e-3,diam=0.75,R=300) well2 <- define_wells(x=0.5,y=0.25,Q=-2e-3,diam=0.8,R=300) aquifer <- define_aquifer(aquifer_type="confined",Ksat=0.00001,h0=0,z0=30) get_hydraulic_head(well1,loc=c(5,5),aquifer)#> [1] 1.988254#> [1] -4.058841#> [1] -2.070587grid_pts <- expand.grid(x=seq(0,10,by=5),y=seq(0,10,by=5)) aquifer_unconfined <- define_aquifer(aquifer_type="confined",Ksat=0.00001,h0=50,z0=30) get_hydraulic_head(well1,loc=grid_pts,aquifer=aquifer_unconfined)#> [1] 53.54630 52.17212 51.80439 52.17212 51.98825 51.74520 51.80439 51.74520 #> [9] 51.62053get_hydraulic_head(well2,loc=grid_pts,aquifer=aquifer_unconfined)#> [1] 43.33103 45.54561 46.33716 45.60719 45.94116 46.45517 46.36575 46.46680 #> [9] 46.71848get_hydraulic_head(wells,loc=grid_pts,aquifer=aquifer_unconfined)#> [1] 46.87732 47.71773 48.14155 47.77930 47.92941 48.20038 48.17014 48.21200 #> [9] 48.33901get_hydraulic_head(NULL,loc=grid_pts,aquifer=aquifer_unconfined)#> [1] 50 50 50 50 50 50 50 50 50# Ensure potentials are even when pumping is symmetric (and opposite sign) well1 <- define_wells(x=0,y=0,Q=1e-3,diam=0.5,R=300) well2 <- define_wells(x=1,y=1,Q=-2e-3,diam=0.5,R=300) well3 <- define_wells(x=0,y=0.5,Q=2e-3,diam=0.5,R=300) well4 <- define_wells(x=0.5,y=1,Q=-2e-3,diam=0.5,R=300) wells_even <- rbind(well1,well1,well2,well3,well4) grid_pts_even <- data.frame(x=c(0,0.5,1),y=c(1,0.5,0)) get_hydraulic_head(wells_even,loc=grid_pts_even,aquifer=aquifer_unconfined)#> [1] 50 50 50