Как вычислить расход Пуазёйля на Python с помощью UliEngineering

Можно легко вычислить объёмный расход для ламинарного течения в цилиндрических трубах по закону Пуазёйля с помощью библиотеки Python UliEngineering:

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.
m
Pa
m
Pa·s
poiseuille_flow_rate.py
from UliEngineering.Physics.Viscosity import poiseuille_flow_rate
from UliEngineering.EngineerIO import *

# Вычислить расход для трубы радиусом 5 мм
radius = 0.005  # 5 мм в метрах
pressure_drop = 1000.0  # Па
length = 1.0  # м
viscosity = 0.001  # Па·с (вода)

Q = poiseuille_flow_rate(radius, pressure_drop, length, viscosity)
print(f"Flow rate: {format_value(Q, 'm³/s')}")

# Вычислить расход для трубы радиусом 10 мм
radius = 0.01
Q = poiseuille_flow_rate(radius, pressure_drop, length, viscosity)
print(f"Flow rate (10mm pipe): {format_value(Q, 'm³/s')}")

# Вычислить расход с большим перепадом давления
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')}")

Пример вывода

poiseuille_flow_rate_output.txt
Flow rate: 4.91 mL/s
Flow rate (10mm pipe): 78.5 mL/s
Flow rate (5kPa drop): 24.5 mL/s

poiseuille plot.svg

Закон Пуазёйля задаётся формулой:

$$ Q = \frac{\pi \cdot r^4 \cdot \Delta P}{8 \cdot \eta \cdot L} $$

где $Q$ — объёмный расход, $r$ — радиус трубы, $\Delta P$ — перепад давления вдоль трубы, $\eta$ — динамическая вязкость, а $L$ — длина трубы.

Закон Пуазёйля описывает ламинарное течение в цилиндрических трубах и справедлив для чисел Рейнольдса ниже примерно 2300. Сильная зависимость от четвёртой степени радиуса означает, что удвоение радиуса трубы увеличивает расход в 16 раз.

График выше показывает, как расход изменяется с радиусом трубы для фиксированного перепада давления, длины и вязкости. Обратите внимание на резкое увеличение расхода с ростом радиуса, следуя зависимости $r^4$.

Этот закон фундаментален для гидродинамики и используется в применениях от анализа кровотока до проектирования трубопроводов и микрофлюидики.

Связанные записи


Скрипт для построения графика

plot_poiseuille.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 poiseuille_flow_rate

# Диапазон радиусов трубы для построения графика
r = np.linspace(0.001, 0.01, 100)  # от 1 мм до 10 мм

# Создание графика
plt.figure(figsize=(10, 6))

# Фиксированные параметры
pressure_drop = 1000.0  # Па
length = 1.0  # м
viscosity = 0.001  # Па·с (водоподобная)

# Расчёт расхода
Q = poiseuille_flow_rate(r, pressure_drop, length, viscosity) * 1e6  # Преобразование в мл/с

plt.plot(r * 1000, Q, color='blue', linewidth=2)
plt.xlabel('Pipe Radius (mm)', fontsize=12)
plt.ylabel('Flow Rate (mL/s)', fontsize=12)
plt.title('Poiseuille Flow Rate vs Pipe Radius', 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")

Check out similar posts by category: Calculators, Physics, Python