Meandering river#

import numpy as np

import timflow.transient as tft
ml = tft.Model3D(
    kaq=[2, 1, 5, 10, 4],
    z=[10, 8, 6, 4, 2, 0],
    Saq=[0.1, 0.0001, 0.0002, 0.0002, 0.0001],
    phreatictop=True,
    kzoverkh=0.1,
    topboundary="conf",
    tmin=1,
    tmax=10,
)
w = tft.Well(ml, -25, 0, rw=0.3, tsandQ=[(0, 100)], layers=[2, 3])

dxdy = 30 * np.pi / 100 * np.cos(np.pi)
x1 = np.arange(-150, -100, 10)
y1 = (x1 + 100) * dxdy
x2 = np.linspace(-100, 100, 20)
y2 = 30 * np.sin(x2 * np.pi / 100)
yls = np.hstack((y1, y2))
xls = np.hstack((x1, x2))
xy = np.array([xls, yls]).T

ls1 = tft.RiverString(ml, xy=xy, tsandh="fixed", layers=[0, 1])
ml.solve()
self.neq  50
solution complete
ml.plots.contour(win=[-150, 150, -50, 50], ngr=40, t=1, layers=1, labels=False);
../../_images/6d4a3d52d0eee4c2bfc83e59ced5cc83c85684d7471bd391dfbffa6bb6a69cb0.png
ml.plots.contour(win=[-150, 150, -50, 50], ngr=40, t=1, layers=2, labels=False);
../../_images/6f3965af1efce970ca6e7a991419f71a199b5cdcff0604959e8d68ca438a1d90.png