Як обчислити число Рейнольдса у Python за допомогою UliEngineering

Ви можете легко обчислити число Рейнольдса за допомогою бібліотеки Python UliEngineering. Число Рейнольдса — це безрозмірна величина, що прогнозує режими потоку в гідродинаміці:

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

# Обчислити число Рейнольдса для потоку води в трубі
density = 998.2  # kg/m³ (water)
velocity = 1.0  # m/s
characteristic_length = 0.01  # 1 cm (pipe diameter)
viscosity = 0.001  # Pa·s (water)

Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Число Рейнольдса: {Re:.0f}")

# Обчислити число Рейнольдса для потоку повітря
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"Число Рейнольдса повітря: {Re:.0f}")

# Обчислити число Рейнольдса для потоку гліцеролу
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"Число Рейнольдса гліцеролу: {Re:.0f}")

Приклад виводу

reynolds_number_output.txt
Число Рейнольдса: 9982
Число Рейнольдса повітря: 68083
Число Рейнольдса гліцеролу: 9

reynolds plot.svg

Число Рейнольдса визначається як:

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

де $Re$ — число Рейнольдса, $\rho$ — густина рідини, $v$ — швидкість потоку, $L$ — характерна довжина (наприклад, діаметр труби), а $\eta$ — динамічна в’язкість.

Число Рейнольдса вказує, чи є потік ламінарним або турбулентним:

Графік вище показує, як число Рейнольдса змінюється зі швидкістю для води, що тече через трубу діаметром 1 см. Зелена пунктирна лінія при Re = 2300 позначає перехід від ламінарного до перехідного потоку, тоді як червона пунктирна лінія при Re = 4000 позначає початок турбулентного потоку.

Число Рейнольдса є фундаментальним для гідромеханіки та використовується в аналізі потоку в трубах, аеродинаміці, теплопередачі та багатьох інших інженерних застосуваннях. Воно відображає відношення сил інерції до сил в’язкості в рідині.

Пов’язані публікації


Скрипт генерації графіка

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

# Діапазон швидкостей для побудови графіка
v = np.linspace(0.001, 10, 100)  # 0.001 to 10 m/s

# Створити графік
plt.figure(figsize=(10, 6))

# Фіксовані параметри (потік, схожий на воду, у трубі)
density = 1000.0  # kg/m³
characteristic_length = 0.01  # 1 cm (pipe diameter)
viscosity = 0.001  # Pa·s

# Обчислити число Рейнольдса
Re = reynolds_number(density, v, characteristic_length, viscosity)

plt.plot(v, Re, color='blue', linewidth=2)
plt.xlabel('Швидкість (м/с)', fontsize=12)
plt.ylabel('Число Рейнольдса', fontsize=12)
plt.title('Число Рейнольдса залежно від швидкості (вода у трубі 1 см)', fontsize=14, fontweight='bold')
plt.grid(True, alpha=0.3)

# Додати лінії переходу ламінарний/турбулентний
plt.axhline(y=2300, color='green', linestyle='--', linewidth=2, label='Ламінарна межа (2300)')
plt.axhline(y=4000, color='red', linestyle='--', linewidth=2, label='Початок турбулентності (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")

Дивіться схожі статті за категоріями: Physics, Python