Jak vypočítat Reynoldsovo číslo v Pythonu pomocí UliEngineering

Můžete snadno vypočítat Reynoldsovo číslo pomocí knihovny UliEngineering v Pythonu. Reynoldsovo číslo je bezrozměrná veličina, která predikuje vzorce proudění v dynamice tekutin:

TechOverflow calculators:
You can enter values with SI suffixes like 12.2m (equivalent to 0.012) or 14k (14000) or 32u (0.000032).
The results are calculated while you type and shown directly below the calculator, so there is no need to press return or click on a Calculate button.
kg/m³
m/s
m
Pa·s
reynolds_number.py
from UliEngineering.Physics.Viscosity import reynolds_number
from UliEngineering.EngineerIO import *

# Výpočet Reynoldsova čísla pro proudění vody v trubce
density = 998.2  # kg/m³ (voda)
velocity = 1.0  # m/s
characteristic_length = 0.01  # 1 cm (průměr trubky)
viscosity = 0.001  # Pa·s (voda)

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

# Výpočet Reynoldsova čísla pro proudění vzduchu
density = 1.225  # kg/m³ (vzduch)
velocity = 10.0  # m/s
characteristic_length = 0.1  # 10 cm
viscosity = 1.8e-5  # Pa·s (vzduch)

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

# Výpočet Reynoldsova čísla pro proudění glycerolu
density = 1261.0  # kg/m³ (glycerol)
velocity = 0.1  # m/s
characteristic_length = 0.01  # 1 cm
viscosity = 1.412  # Pa·s (glycerol)

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

Příklad výstupu

reynolds_number_output.txt
Reynolds number: 9982
Air Reynolds number: 68083
Glycerol Reynolds number: 9

reynolds plot.svg

Reynoldsovo číslo je dáno:

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

kde $Re$ je Reynoldsovo číslo, $\rho$ je hustota tekutiny, $v$ je rychlost proudění, $L$ je charakteristická délka (například průměr trubky) a $\eta$ je dynamická viskozita.

Reynoldsovo číslo indikuje, zda je proudění laminární nebo turbulentní:

Graf výše ukazuje, jak se Reynoldsovo číslo mění s rychlostí pro vodu proudící trubkou o průměru 1 cm. Zelená přerušovaná čára při Re = 2300 označuje přechod z laminárního do přechodného proudění, zatímco červená přerušovaná čára při Re = 4000 označuje nástup turbulentního proudění.

Reynoldsovo číslo je základní pro mechaniku tekutin a používá se v analýze proudění v trubkách, aerodynamice, přenosu tepla a mnoha dalších inženýrských aplikacích. Představuje poměr setrvačných sil k viskózním silám v tekutině.

Související příspěvky


Skript pro generování grafu

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

# Rozsah rychlostí pro graf
v = np.linspace(0.001, 10, 100)  # 0.001 až 10 m/s

# Vytvoření grafu
plt.figure(figsize=(10, 6))

# Pevné parametry (proudění podobné vodě v trubce)
density = 1000.0  # kg/m³
characteristic_length = 0.01  # 1 cm (průměr trubky)
viscosity = 0.001  # Pa·s

# Výpočet Reynoldsova čísla
Re = reynolds_number(density, v, characteristic_length, viscosity)

plt.plot(v, Re, color='blue', linewidth=2)
plt.xlabel('Rychlost (m/s)', fontsize=12)
plt.ylabel('Reynoldsovo číslo', fontsize=12)
plt.title('Reynoldsovo číslo vs rychlost (voda v 1cm trubce)', fontsize=14, fontweight='bold')
plt.grid(True, alpha=0.3)

# Přidání čar přechodu laminární/turbulentní
plt.axhline(y=2300, color='green', linestyle='--', linewidth=2, label='Laminární limit (2300)')
plt.axhline(y=4000, color='red', linestyle='--', linewidth=2, label='Nástup turbulence (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")

Podívejte se na podobné články podle kategorie: Calculators, Physics, Python