The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
raem
is an R package for modeling steady-state,
single-layer groundwater flow under the Dupuit-Forchheimer assumption
using analytic elements.
To install the released version:
install.packages("raem")
The development version of raem
can be installed from GitHub with:
# install.packages("devtools")
::install_github("cneyens/raem") devtools
The package documentation can be found at https://cneyens.github.io/raem/.
Construct an analytic element model of an aquifer with uniform background flow, two extraction wells and a reference point.
Specify the aquifer parameters and create the elements:
library(raem)
# aquifer parameters ----
= 10 # hydraulic conductivity, m/d
k = 10 # aquifer top elevation, m
top = 0 # aquifer bottom elevation, m
base = 0.2 # aquifer porosity, -
n
= 15 # head at reference point, m
hr = k * (top - base) # constant transmissivity of background flow, m^2/d
TR
# create elements ----
= uniformflow(TR, gradient = 0.001, angle = -45)
uf = constant(xc = -1000, yc = 0, hc = hr)
rf = well(xw = 200, yw = 0, Q = 250)
w1 = well(xw = -200, yw = -150, Q = 400) w2
Create the model. This automatically solves the system of equations.
= aem(k = k, top = top, base = base, n = n, uf, rf, w1, w2) m
Find the head and discharge at two locations:
x = -200, y = 200
and x = 100, y = 200
. Note
that there are no vertical flow components in this model:
heads(m, x = c(-200, 100), y = 200)
#> [1] 13.64573 13.33314
discharge(m, c(-200, 100), 200, z = top) # m^2/d
#> Qx Qy Qz
#> [1,] 0.15028815 -0.2923908 0
#> [2,] 0.06041242 -0.3347206 0
Plot the head contours and element locations. First, specify the contouring grid:
= seq(-500, 500, length = 100)
xg = seq(-250, 250, length = 100) yg
Now plot:
contours(m, xg, yg, 'heads', col = 'dodgerblue', nlevels = 20)
plot(m, add = TRUE)
Compute particle traces starting along y = 200
at 20
intervals per year for 5 years and add to the plot:
= tracelines(m,
paths x0 = seq(-450, 450, 50),
y0 = 200,
z0 = top,
times = seq(0, 5 * 365, 365 / 20))
plot(paths, add = TRUE, col = 'orange')
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.