Cómo calcular el número de Reynolds en Python usando UliEngineering

Puedes calcular fácilmente el número de Reynolds usando la librería Python UliEngineering. El número de Reynolds es una cantidad adimensional que predice los patrones de flujo en la dinámica de fluidos:

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

# Calcular número de Reynolds para flujo de agua en una tubería
density = 998.2  # kg/m³ (agua)
velocity = 1.0  # m/s
characteristic_length = 0.01  # 1 cm (diámetro de tubería)
viscosity = 0.001  # Pa·s (agua)

Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Número de Reynolds: {Re:.0f}")

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

Re = reynolds_number(density, velocity, characteristic_length, viscosity)
print(f"Número de Reynolds del aire: {Re:.0f}")

# Calcular número de Reynolds para flujo 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"Número de Reynolds del glicerol: {Re:.0f}")

Ejemplo de salida

reynolds_number_output.txt
Número de Reynolds: 9982
Número de Reynolds del aire: 68083
Número de Reynolds del glicerol: 9

reynolds plot.svg

El número de Reynolds viene dado por:

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

donde $Re$ es el número de Reynolds, $\rho$ es la densidad del fluido, $v$ es la velocidad del flujo, $L$ es la longitud característica (como el diámetro de la tubería), y $\eta$ es la viscosidad dinámica.

El número de Reynolds indica si el flujo es laminar o turbulento:

La gráfica anterior muestra cómo varía el número de Reynolds con la velocidad para el agua que fluye a través de una tubería de 1 cm de diámetro. La línea verde discontinua en Re = 2300 marca la transición de flujo laminar a flujo de transición, mientras que la línea roja discontinua en Re = 4000 marca el inicio del flujo turbulento.

El número de Reynolds es fundamental para la mecánica de fluidos y se usa en análisis de flujo en tuberías, aerodinámica, transferencia de calor y muchas otras aplicaciones de ingeniería. Representa la relación entre las fuerzas inerciales y las fuerzas viscosas en un fluido.

Entradas relacionadas


Script de generación de la gráfica

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

# Velocity range for plotting
v = np.linspace(0.001, 10, 100)  # 0.001 to 10 m/s

# Create plot
plt.figure(figsize=(10, 6))

# Fixed parameters (water-like flow in a pipe)
density = 1000.0  # kg/m³
characteristic_length = 0.01  # 1 cm (pipe diameter)
viscosity = 0.001  # Pa·s

# Calculate Reynolds number
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)

# Add laminar/turbulent transition lines
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")

Echa un vistazo a artículos similares por categoría: Physics, Python