Pour ceux qui ne seraient pas familier avec le language python, vous pouvez consulter le Notebook Introduction au Python.
Proposer une méthode pour le calcul des pertes de charge de l'installation suivante dans laquelle on impose un débit en entrée de $0.4 m^3/h$:
On pourra se servir pour cela du notebook sur les abaques numériques. Le Canevas suivant pourra servir de point de départ.
import numpy as np
import matplotlib.pyplot as plt
import math
import copy
def Blasius(Re):
l=0.316*Re**(-0.25)
return l
def Collebrook(Re,r):
l=Blasius(Re)
l2=1./(-2.*math.log10((2.51/(Re*math.sqrt(l)))+r*(1./3.71)))**2
i=0;
while abs(l2-l)>1e-4:
i+=1
l=l2
l2=1./(-2.*math.log10((2.51/(Re*math.sqrt(l)))+r*(1./3.71)))**2
return l2
def Nikuradse_Rug(r):
l=1./(1.14-2.*math.log10(r))**2
return l
def lcoeff(Re,r=0):
if Re<2000:
l=64./Re
elif (Re>=2000 and Re<1e5 and r<=1e-5):
l=Blasius(Re)
elif (Re>=2000 and Re<1e5 and r>1e-5):
l=Collebrook(Re,r)
elif (Re>1e5 and r<=1e-5):
l=Collebrook(Re,r)
elif (Re>1e5 and r>1e-5):
l=Nikuradse_Rug(r)
return l
def perte_lin_qv(L,D,qv,r=1e-6,rho=1000,nu=1e-6):
S=np.pi*D**2/4.;U=qv/S;Re=U*D/nu
dP=lcoeff(Re,r)*(L/D)*0.5*rho*U**2
return dP
On peut commencer par définir toutes les données connues du problème.
Di=np.array([12,12,15])/1000. #Les diamètres de chaque branches
Si=np.pi*Di**2/4.
Ksi=np.array([8.,11.,13.5]) #Les perte de charge singulières de chaque branches
Li=np.array([3.,4.5,6.]) #Les longueurs de chaque branches
rho=1000. #Masse volumique de l'eau
nu=1e-6 # Viscosité cinématique de l'eau
qvi=... #calcul des débits initiaux dans chaque branche
...
Définir une fonction permettant de calculer le coefficient de perte de charge totale associée à chaque branche:
def compute_Ki(qvi,Di,Si,Li,Ksi,nu):
Ki=np.zeros(len(qvi))
for i in range(len(qvi)):
Re=Di[i]*qvi[i]/(Si[i]*nu)
l=lcoeff(Re)
Ki[i]=...
return Ki
Ki=compute_Ki(qvi,Di,Si,Li,Ksi,nu)
En utilisant la méthode générale décrite en cours, calculer les pertes de charge dans l'installation présentée ci-dessus.
...
...
...
Discussions:
Vous pouvez télécharger ce Notebook ici et l'éxecuter sur JupyterHUB
from IPython.core.display import HTML
style=open('notebooks.css', "r").read()
HTML(style)