-- AER004: Mécanique des fluides appliquée --

TN n°4

Projet jupyter

Calcul des pertes de charges dans une installation de chauffage

simon.marie@lecnam.net

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$:

Installation en parallèle

On pourra se servir pour cela du notebook sur les abaques numériques. Le Canevas suivant pourra servir de point de départ.

In [54]:
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.

In [ ]:
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:

In [ ]:
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.

In [ ]:
...
...
...

Discussions:

Vous pouvez télécharger ce Notebook ici et l'éxecuter sur JupyterHUB

In [1]:
from IPython.core.display import HTML
style=open('notebooks.css', "r").read()
HTML(style)
Out[1]: