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/820a2f6080c1d7635e47d002c606078dbbb57b8f43399e8f9b6f77f00e18203b.png
ml.plots.contour(win=[-150, 150, -50, 50], ngr=40, t=1, layers=2, labels=False);
../../_images/8620476a017f0bc2d48ec8aa43ffbe275d8fa06a3b2133adb4d05bf36516a0b5.png