mbakker7 / ttim

MIT License
33 stars 23 forks source link

head specified element that starts at time t1 > 0, fixes the head to 0 for t < t1 #1

Open mbakker7 opened 8 years ago

mbakker7 commented 8 years ago

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

PilbaraPanther commented 5 years ago

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()`