head specified element that starts at time t1 > 0, fixes the head to 0 for t < t1
mbakker7 opened this issue · 1 comments
ml = ModelMaq(tmin = 0.01, tmax=100)
ch = HeadLineSink(ml,x1 = -1, y1 = -10, x2 = -1, y2 = 10, tsandh=[(0,-20),(100,-20)])
ml.solve()
h = ml.head(0.1, 0, 4)
w = HeadWell(ml, tsandh=[(5,100.), (10,110.)])
ml.solve()
h = ml.head(0.1, 0, 4) # Should give the same head, as well isn't turned on yet, but it doesn't
This issue also occurs when using 2 head wells starting at different times @mbakker7 . The head at the second well is fixed at 0, until after it starts. The discharge at the second well is adding to the system to maintain the head at zero.
`#model
ml = ModelMaq(kaq=10,z=[20,0],Saq=1e-5,tmin=0.1,tmax=1000,M=20)
w1=HeadWell(ml, xw=0,yw=0,tsandh=(0.1,-20), rw=0.3)
w2=HeadWell(ml,xw=500,yw=0,tsandh=(100,-10),rw=0.3)
ml.solve()
t=np.linspace(start=0.1, stop=500, num=10)
modelHeadatw2=ml.head(500,0,t)
w2head=w2.headinside(t)
w2discharge=w2.discharge(t)
print('model head at w2 is:',modelHeadatw2[0])
print('w2 discharge:',w2discharge[0])
print('w2 head:', w2head[0])
plt.semilogx(t,w2discharge[0],label='w2discharge',marker='o')
ml.contour([-1500, 1500, -1500, 1500], labels=True, levels=10,t=99)
plt.show()`