Jak vypočítat průtok Poiseuille v Pythonu pomocí UliEngineering
Můžete snadno vypočítat objemový průtok pro laminární proudění ve válcových trubkách pomocí Poiseuilleova zákona s knihovnou UliEngineering v Pythonu:
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.
from UliEngineering.Physics.Viscosity import poiseuille_flow_rate
from UliEngineering.EngineerIO import *
# Výpočet průtoku pro trubku s poloměrem 5mm
radius = 0.005 # 5mm v metrech
pressure_drop = 1000.0 # Pa
length = 1.0 # m
viscosity = 0.001 # Pa·s (voda)
Q = poiseuille_flow_rate(radius, pressure_drop, length, viscosity)
print(f"Flow rate: {format_value(Q, 'm³/s')}")
# Výpočet průtoku pro trubku s poloměrem 10mm
radius = 0.01
Q = poiseuille_flow_rate(radius, pressure_drop, length, viscosity)
print(f"Flow rate (10mm pipe): {format_value(Q, 'm³/s')}")
# Výpočet průtoku s vyšším tlakovým spádem
pressure_drop = 5000.0
Q = poiseuille_flow_rate(0.005, pressure_drop, length, viscosity)
print(f"Flow rate (5kPa drop): {format_value(Q, 'm³/s')}")Příklad výstupu
Flow rate: 4.91 mL/s
Flow rate (10mm pipe): 78.5 mL/s
Flow rate (5kPa drop): 24.5 mL/sPoiseuilleův zákon je dán:
$$ Q = \frac{\pi \cdot r^4 \cdot \Delta P}{8 \cdot \eta \cdot L} $$kde $Q$ je objemový průtok, $r$ je poloměr trubky, $\Delta P$ je tlakový spád podél trubky, $\eta$ je dynamická viskozita a $L$ je délka trubky.
Poiseuilleův zákon popisuje laminární proudění ve válcových trubkách a je platný pro Reynoldsova čísla pod přibližně 2300. Silná závislost na čtvrté mocnině poloměru znamená, že zdvojnásobení poloměru trubky zvyšuje průtok 16krát.
Graf výše ukazuje, jak se průtok mění s poloměrem trubky pro pevný tlakový spád, délku a viskozitu. Všimněte si dramatického nárůstu průtoku s rostoucím poloměrem, sledujícího vztah $r^4$.
Tento zákon je základní pro dynamiku tekutin a používá se v aplikacích od analýzy průtoku krve až po návrh potrubí a mikrofluidiku.
Související příspěvky
- Jak vypočítat Binghamovo napětí v Pythonu pomocí UliEngineering
- Jak vypočítat Reynoldsovo číslo v Pythonu pomocí UliEngineering
- Jak vypočítat kinematickou viskozitu v Pythonu pomocí UliEngineering
Skript pro generování grafu
#!/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 poiseuille_flow_rate
# Rozsah poloměrů trubky pro graf
r = np.linspace(0.001, 0.01, 100) # 1mm až 10mm
# Vytvoření grafu
plt.figure(figsize=(10, 6))
# Pevné parametry
pressure_drop = 1000.0 # Pa
length = 1.0 # m
viscosity = 0.001 # Pa·s (podobné vodě)
# Výpočet průtoku
Q = poiseuille_flow_rate(r, pressure_drop, length, viscosity) * 1e6 # Převod na mL/s
plt.plot(r * 1000, Q, color='blue', linewidth=2)
plt.xlabel('Poloměr trubky (mm)', fontsize=12)
plt.ylabel('Průtok (mL/s)', fontsize=12)
plt.title('Průtok Poiseuille vs poloměr trubky', fontsize=14, fontweight='bold')
plt.grid(True, alpha=0.3)
plt.tight_layout()
plt.savefig('poiseuille_plot.svg', format='svg', dpi=300)
print("Plot saved to poiseuille_plot.svg")