1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| import matplotlib.pyplot as plt
import numpy as np
from matplotlib.pyplot import fill_between
x=[58,52,51,49,47,45,44,42,35,26,43,17,0]
y=[-50,-62,-61,-60,-60,-61,-61,-61,-61,-61,-61,-62,-61]
z=[-80,-88,-85,-83,-82,-83,-85,-85,-86,-87,-89,-91,-93]
a=[-89,-93,-95,-101,-112,-120,-126,-127,-124,-119,-118,-118,-117]
b=[-145,-155,-160,-168,-182,-192,-201,-204,-206,-207,-210,-212,-214]
c=[-379,-390,-400,-395,-396,-382,-373,-383,-434,-490,-537,-409,-409]
e=[-571,-549,-530,-519,-509,-495,-482,-494,-549,-611,-670,-504,-504]
o=[0,1,2,3,4,5,6,7,8,9,10,11,12]
px = [6,6]
py= [0,-100]
def temps_salinisation(n,q,p): #n distance du forage à la mer, q point du forage
plt.plot(x)
plt.plot(y)
plt.plot(z)
plt.plot(a)
plt.plot(b)
plt.plot(c)
plt.plot(e)
px = [10,10] #position du puit
py= [0,-120] #position du puit
plt.plot(px,py, 'r-')
plt.grid(True)
plt.show()
K=0.0006 #coefficient de perméabilité du sable fin
I=Y[p]
J=Z[p]
Eau_salee=n
les=n #variable qui détermine les dx parcouru par l'eau à chaque dt jusqu'à atteindre Leau_salle-1. à t=0, les=Leau_salee
Ymin=I[0]
Zmax=J[0]
for k in range(2,n,1):
if I[k]< Ymin:
Ymin=I[k] #on détermine la profondeur maximale du toit de la nappe
elif J[k]>Zmax:
Zmax=J[k] # on détermine la hauteur maximale du plancher de la nappe
hauteur_forage=[X[p][q]+.05,(Ymin+Zmax)/2] # détermine la profondeur du forage
h=abs(Ymin-hauteur_forage[1]) #détermine la hauteur du cylindre dans lequel s'applique la loi de Darcy, en prenant en compte Ymin et Xmaxdétermine la profondeur du forage
d= n-q #distance à parcourir jusqu'au point de forage.
t=0
while Eau_salee > q: #tant que la limite d'eau salée n'a pas atteint le puit
Si=[]
Sj=[]
while les > Eau_salee-1 :
les= les-K*(h/d)*k #La loi de Darcy nous donne un débit volumique. on peut donc en déduire le volume d'eau introduit à chaque dt, et en simplifiant par la Section, on trouve la distance parcourue -tps nous donne le nombre de dt écoulés pour que l'eau salée atteigne le forage
t=t+1
Eau_salee=Eau_salee-1
for i in range(Eau_salee,n,1) :
Sj=Sj+[J[n-i+1]]
for i in range(Eau_salee,n,1):
Si=Si+[I[i]]
L=[ii for ii in range(n,Eau_salee+1,1)]
a1=[jj for jj in range(Eau_salee,n,1)]+L[::-1]
b1=Si+Sj
plt.fill_between(o,a1,b1,where=None,interpolate=True,hold=None)
return (t) |
Partager