Python: Reynolds-Zahl mit UliEngineering berechnen
Du kannst leicht die Reynolds-Zahl mit der UliEngineering-Python-Bibliothek berechnen. Die Reynolds-Zahl ist eine dimensionslose Größe, die Strömungsmuster in der Fluidmechanik vorhersagt:
from UliEngineering.Physics.Viscosity import reynolds_number
from UliEngineering.EngineerIO import *
# Reynolds-Zahl für Wasserströmung in einem Rohr berechnen
density = 998.2 # kg/m³ (Wasser)
velocity = 1.0 # m/s
characteristic_length = 0.01 # 1 cm (Rohrdurchmesser)
viscosity = 0.001 # Pa·s (Wasser)
Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Reynolds-Zahl: {Re:.0f}")
# Reynolds-Zahl für Luftströmung berechnen
density = 1.225 # kg/m³ (Luft)
velocity = 10.0 # m/s
characteristic_length = 0.1 # 10 cm
viscosity = 1.8e-5 # Pa·s (Luft)
Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Luft-Reynolds-Zahl: {Re:.0f}")
# Reynolds-Zahl für Glycerinströmung berechnen
density = 1261.0 # kg/m³ (Glycerin)
velocity = 0.1 # m/s
characteristic_length = 0.01 # 1 cm
viscosity = 1.412 # Pa·s (Glycerin)
Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Glycerin-Reynolds-Zahl: {Re:.0f}")Beispielausgabe
Reynolds-Zahl: 9982
Luft-Reynolds-Zahl: 68083
Glycerin-Reynolds-Zahl: 9Die Reynolds-Zahl ist gegeben durch:
$$ Re = \frac{\rho v L}{\eta} $$wobei $Re$ die Reynolds-Zahl, $\rho$ die Fluiddichte, $v$ die Strömungsgeschwindigkeit, $L$ die charakteristische Länge (z.B. Rohrdurchmesser) und $\eta$ die dynamische Viskosität ist.
Die Reynolds-Zahl gibt an, ob die Strömung laminar oder turbulent ist:
- Re < 2300: Laminare Strömung (gleichmäßig, geordnet)
- 2300 < Re < 4000: Übergangsströmung
- Re > 4000: Turbulente Strömung (chaotisch, durchmischt)
Der obige Plot zeigt, wie die Reynolds-Zahl mit der Geschwindigkeit für Wasser in einem 1 cm dicken Rohr variiert. Die grüne gestrichelte Linie bei Re = 2300 markiert den Übergang von laminarer zu Übergangsströmung, während die rote gestrichelte Linie bei Re = 4000 den Beginn der turbulenten Strömung markiert.
Die Reynolds-Zahl ist grundlegend für Strömungsmechanik und wird in Rohrströmungsanalyse, Aerodynamik, Wärmeübertragung und vielen anderen technischen Anwendungen verwendet. Sie repräsentiert das Verhältnis von Trägheitskräften zu viskosen Kräften in einem Fluid.
Verwandte Beiträge
- How to compute kinematic viscosity in Python using UliEngineering
- How to compute Poiseuille flow rate in Python using UliEngineering
- How to compute Stokes drag in Python using UliEngineering
Plot-Erzeugungsskript
#!/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
# Geschwindigkeitsbereich für Plotting
v = np.linspace(0.001, 10, 100) # 0,001 bis 10 m/s
# Plot erstellen
plt.figure(figsize=(10, 6))
# Feste Parameter (wasserähnliche Strömung in einem Rohr)
density = 1000.0 # kg/m³
characteristic_length = 0.01 # 1 cm (Rohrdurchmesser)
viscosity = 0.001 # Pa·s
# Reynolds-Zahl berechnen
Re = reynolds_number(density, v, characteristic_length, viscosity)
plt.plot(v, Re, color='blue', linewidth=2)
plt.xlabel('Geschwindigkeit (m/s)', fontsize=12)
plt.ylabel('Reynolds-Zahl', fontsize=12)
plt.title('Reynolds-Zahl vs Geschwindigkeit (Wasser in 1cm-Rohr)', fontsize=14, fontweight='bold')
plt.grid(True, alpha=0.3)
# Laminar/Turbulent-Übergangslinien hinzufügen
plt.axhline(y=2300, color='green', linestyle='--', linewidth=2, label='Laminare Grenze (2300)')
plt.axhline(y=4000, color='red', linestyle='--', linewidth=2, label='Turbulenzbeginn (4000)')
plt.legend(loc='upper left', fontsize=10)
plt.tight_layout()
plt.savefig('reynolds_plot.svg', format='svg', dpi=300)
print("Plot gespeichert als reynolds_plot.svg")