Comment calculer le nombre de Reynolds en Python avec UliEngineering

Vous pouvez facilement calculer le nombre de Reynolds en utilisant la bibliothèque Python UliEngineering. Le nombre de Reynolds est une quantité sans dimension qui prédit les modèles d’écoulement en dynamique des fluides :

reynolds_number.py
from UliEngineering.Physics.Viscosity import reynolds_number
from UliEngineering.EngineerIO import *

# Calculer le nombre de Reynolds pour un écoulement d'eau dans un tuyau
density = 998.2  # kg/m³ (eau)
velocity = 1.0  # m/s
characteristic_length = 0.01  # 1 cm (diamètre du tuyau)
viscosity = 0.001  # Pa·s (eau)

Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Nombre de Reynolds : {Re:.0f}")

# Calculer le nombre de Reynolds pour un écoulement d'air
density = 1.225  # kg/m³ (air)
velocity = 10.0  # m/s
characteristic_length = 0.1  # 10 cm
viscosity = 1.8e-5  # Pa·s (air)

Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Nombre de Reynolds de l'air : {Re:.0f}")

# Calculer le nombre de Reynolds pour un écoulement de glycérine
density = 1261.0  # kg/m³ (glycérine)
velocity = 0.1  # m/s
characteristic_length = 0.01  # 1 cm
viscosity = 1.412  # Pa·s (glycérine)

Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Nombre de Reynolds de la glycérine : {Re:.0f}")

Exemple de sortie

reynolds_number_output.txt
Nombre de Reynolds : 9982
Nombre de Reynolds de l'air : 68083
Nombre de Reynolds de la glycérine : 9

reynolds plot.svg

Le nombre de Reynolds est donné par :

$$ Re = \frac{\rho v L}{\eta} $$

où $Re$ est le nombre de Reynolds, $\rho$ est la densité du fluide, $v$ est la vitesse d’écoulement, $L$ est la longueur caractéristique (comme le diamètre du tuyau), et $\eta$ est la viscosité dynamique.

Le nombre de Reynolds indique si l’écoulement est laminaire ou turbulent :

Le graphique ci-dessus montre comment le nombre de Reynolds varie en fonction de la vitesse pour de l’eau s’écoulant dans un tuyau de 1 cm de diamètre. La ligne verte pointillée à Re = 2300 marque la transition de l’écoulement laminaire à transitoire, tandis que la ligne rouge pointillée à Re = 4000 marque le début de l’écoulement turbulent.

Le nombre de Reynolds est fondamental pour la mécanique des fluides et est utilisé dans l’analyse des écoulements en tuyau, l’aérodynamique, le transfert de chaleur et de nombreuses autres applications d’ingénierie. Il représente le rapport entre les forces d’inertie et les forces visqueuses dans un fluide.

Articles liés


Script de génération du graphique

plot_reynolds.py
#!/usr/bin/env python3
import matplotlib.pyplot as plt
import numpy as np
import sys
sys.path.insert(0, '/home/uli/dev/UliEngineering')

from UliEngineering.Physics.Viscosity import reynolds_number

# Plage de vitesses pour le tracé
v = np.linspace(0.001, 10, 100)  # 0.001 à 10 m/s

# Créer le graphique
plt.figure(figsize=(10, 6))

# Paramètres fixes (écoulement de type eau dans un tuyau)
density = 1000.0  # kg/m³
characteristic_length = 0.01  # 1 cm (diamètre du tuyau)
viscosity = 0.001  # Pa·s

# Calculer le nombre de Reynolds
Re = reynolds_number(density, v, characteristic_length, viscosity)

plt.plot(v, Re, color='blue', linewidth=2)
plt.xlabel('Velocity (m/s)', fontsize=12)
plt.ylabel('Reynolds Number', fontsize=12)
plt.title('Reynolds Number vs Velocity (Water in 1cm Pipe)', fontsize=14, fontweight='bold')
plt.grid(True, alpha=0.3)

# Ajouter les lignes de transition laminaire/turbulent
plt.axhline(y=2300, color='green', linestyle='--', linewidth=2, label='Laminar limit (2300)')
plt.axhline(y=4000, color='red', linestyle='--', linewidth=2, label='Turbulent onset (4000)')
plt.legend(loc='upper left', fontsize=10)

plt.tight_layout()
plt.savefig('reynolds_plot.svg', format='svg', dpi=300)
print("Plot saved to reynolds_plot.svg")

Check out similar posts by category: Physics, Python