Les eaux usées issues d’une douche ou d’un bain contiennent une quantité importante de chaleur qui est généralement perdue dans les canalisations d’évacuation. Un récupérateur de chaleur sur eaux grises permet de récupérer une partie de cette chaleur pour préchauffer l’eau froide entrant dans le chauffe-eau, réduisant ainsi la consommation énergétique globale.
L’eau potable circule à contre-courant des eaux grises dans un échangeur thermique. On note et les températures d’entrée et de sortie de l’eau potable, et et celles des eaux grises. On suppose que les débits massiques sont constants et notés pour l’eau potable et pour les eaux grises. On note également la capacité thermique massique de l’eau.
L’échangeur est horizontal, son extérieur est calorifugé et on suppose l’eau incompressible.
La largeur de la conduite, dans sa dimension n’apparaissant pas sur le schéma, est notée . Sa longueur est . On note l’épaisseur des parois (constituée essentiellement de béton) de l’échangeur, et la conductivité thermique du matériau constituant l’échangeur.
1/ En effectuant un bilan d’énergie sur une section élémentaire de l’échangeur, montrer que les températures et de l’eau potable et des eaux grises vérifient le système d’équations différentielles suivant :
où est la puissance fournie par les eaux grises à l’eau potable sur la section .
On applique le PPI sur la section élémentaire pour chaque fluide. Pour l’eau potable, on a
de même, pour les eaux grises,
On souhaite exprimer en fonction des températures et . À chaque interface solide/liquide, la loi de Newton donne lieu à une résistance thermique .
2/ Exprimer la résistance thermique totale entre les deux fluides sur la section en fonction de , , de la conductivité thermique du matériau constituant l’échangeur et de son épaisseur . En déduire l’expression de en fonction de , , et de .
La résistance thermique totale entre les deux fluides est la somme des résistances thermiques aux interfaces solide/liquide et de la résistance thermique à travers le matériau de l’échangeur (elles sont en série) :
La puissance échangée est reliée à la différence de température entre les deux fluides par la relation
3/ Mettre le problème sous la forme d’un problème d’Euler portant sur .
En remplaçant dans le système d’équations différentielles, on obtient
On a bien exprimé les dérivées de et en fonction de et .
4/ Compléter le code suivant.
h = 20 # W/m²/K
l = 20e-2 # m
L = 100 # m
e = 5e-2 # m
conductivité = ... # W/m/K
K = l/(2/h + e/conductivité)
Dg = 1e-2 # kg/s
Dp = 1.2e-2 # kg/s
c = 4180 # J/kg/K
def dYdx(x,Y): # si Y = [Tg, Tp], la fonction retourne [dTg/dx, dTp/dx]
...conductivité = 1 # W/m/K
def dYdx(x,Y): # si Y = [Tg, Tp], la fonction retourne [dTg/dx, dTp/dx]
Tg, Tp = Y
return [K/(Dg*c)*(Tg - Tp), K/(Dp*c)*(Tg - Tp)]5/ On suppose que l’eau potable entre à et que les eaux grises entrent à . Compléter la fonction suivante qui doit renvoyer [0,0] lorsque les conditions aux limites sont satisfaites.
def conditionsLimites(Y0, YL): # Si Y0 = [Tg(0), Tp(0)] et YL = [Tg(L), Tp(L)], la fonction retourne
# [0,0] si et seulement si les conditions aux limites sont vérifiées.
...def conditionsLimites(Y0, YL):
Tgs, Tpe = Y0
Tge, Tps = YL
return [Tpe - 10, Tge - 25]Pour résoudre le problème, on utilise la fonction solve_bvp de la bibliothèque scipy.integrate :
import numpy as np
from scipy.integrate import solve_bvp
x = np.linspace(0, L, 100) # points d'évaluation
solution = solve_bvp(dYdx, conditionsLimites, x, np.array([[25]*100, [10]*100])) # résolution numérique
# extraction des grandeurs recherchées
x = solution.x
Tg = solution.y[0]
Tp = solution.y[1]6/ Tracer les profils de température et le long de l’échangeur.
On utilise le code suivant pour tracer les profils de température :
import matplotlib.pyplot as plt
plt.plot(x, Tp, label="Température de l'eau potable $T_p(x)$")
plt.plot(x, Tg, label="Température des eaux grises $T_g(x)$")
plt.xlabel("Position le long de l'échangeur $x$ (m)")
plt.ylabel("Température (°C)")
plt.title("Profils de température dans l'échangeur de chaleur")
plt.legend()
plt.grid()
plt.show()7/ Quelle énergie ce système permet-il d’économiser sur une journée de fonctionnement, par rapport à un système sans récupérateur de chaleur ? Cette énergie sera exprimée en puis en .
La puissance récupérée par l’eau potable est
L’énergie économisée sur une journée () est donc
En utilisant Python, on calcule cette énergie :
Delta_t = 24 * 3600 # s
E = Dp * c * (Tp[-1] - Tp[0]) * Delta_t # J
print(f"Énergie économisée sur une journée : {E} J = {E / 1000 / 3600} kW h")