Como calcular o número de Reynolds em Python usando UliEngineering

Você pode calcular facilmente o número de Reynolds usando a biblioteca Python UliEngineering. O número de Reynolds é uma quantidade adimensional que prevê padrões de fluxo em dinâmica de fluidos:

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 *

# Calcular número de Reynolds para fluxo de água em um tubo
density = 998.2  # kg/m³ (água)
velocity = 1.0  # m/s
characteristic_length = 0.01  # 1 cm (diâmetro do tubo)
viscosity = 0.001  # Pa·s (água)

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

# Calcular número de Reynolds para fluxo de ar
density = 1.225  # kg/m³ (ar)
velocity = 10.0  # m/s
characteristic_length = 0.1  # 10 cm
viscosity = 1.8e-5  # Pa·s (ar)

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

# Calcular número de Reynolds para fluxo de glicerol
density = 1261.0  # kg/m³ (glicerol)
velocity = 0.1  # m/s
characteristic_length = 0.01  # 1 cm
viscosity = 1.412  # Pa·s (glicerol)

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

Exemplo de saída

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

reynolds plot.svg

O número de Reynolds é dado por:

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

onde $Re$ é o número de Reynolds, $\rho$ é a densidade do fluido, $v$ é a velocidade do fluxo, $L$ é o comprimento característico (como diâmetro do tubo), e $\eta$ é a viscosidade dinâmica.

O número de Reynolds indica se o fluxo é laminar ou turbulento:

O gráfico acima mostra como o número de Reynolds varia com a velocidade para água fluindo através de um tubo de 1 cm de diâmetro. A linha tracejada verde em Re = 2300 marca a transição de fluxo laminar para transicional, enquanto a linha tracejada vermelha em Re = 4000 marca o início do fluxo turbulento.

O número de Reynolds é fundamental para a mecânica dos fluidos e é usado em análise de fluxo em tubos, aerodinâmica, transferência de calor e muitas outras aplicações de engenharia. Representa a razão entre forças inerciais e forças viscosas em um fluido.

Posts relacionados


Script de geração do gráfico

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

# Faixa de velocidade para plotagem
v = np.linspace(0.001, 10, 100)  # 0.001 a 10 m/s

# Criar gráfico
plt.figure(figsize=(10, 6))

# Parâmetros fixos (fluxo tipo água em um tubo)
density = 1000.0  # kg/m³
characteristic_length = 0.01  # 1 cm (diâmetro do tubo)
viscosity = 0.001  # Pa·s

# Calcular número de Reynolds
Re = reynolds_number(density, v, characteristic_length, viscosity)

plt.plot(v, Re, color='blue', linewidth=2)
plt.xlabel('Velocity (m/s)', fontsize=12)
plt.ylabel('Reynolds Number', fontsize=12)
plt.title('Reynolds Number vs Velocity (Water in 1cm Pipe)', fontsize=14, fontweight='bold')
plt.grid(True, alpha=0.3)

# Adicionar linhas de transição laminar/turbulento
plt.axhline(y=2300, color='green', linestyle='--', linewidth=2, label='Laminar limit (2300)')
plt.axhline(y=4000, color='red', linestyle='--', linewidth=2, label='Turbulent onset (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")

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