top of page

Cómo calcular el caudal en canales trapezoidales con Python (usando la fórmula de Manning)

Actualizado: 6 jul 2025

El caculo del caudal en canales abiertos, es un calculo fundamental de la ingeniería civil. Su aplicación en python contempla una visualización del canal, así como una explicación detallada de cada fórmula y línea de código.

🧭 Contexto histórico de la fórmula de Manning

La fórmula de Manning fue propuesta en 1889 por el ingeniero hidráulico Robert Manning (1816–1897), un autodidacta irlandés que desarrolló esta expresión de manera empírica tras comparar numerosas fórmulas existentes y ajustar sus predicciones a resultados reales de flujo en canales.

Por su simplicidad y precisión fue rápidamente adoptada por ingenieros civiles en todo el mundo, desplazando a fórmulas anteriores como la de Chezy.

📘 Fundamentos de la fórmula de Manning

La fórmula permite calcular el caudal medio de un flujo uniforme en canales abiertos, utilizando parámetros geométricos y de fricción:


Formula de Manning
Formula de Manning

⚠️ Esta fórmula es válida para flujo uniforme, permanente y en régimen estacionario.

🧱 ¿Qué representa el coeficiente de rugosidad de Manning?

El coeficiente n representa las pérdidas por fricción del flujo con las paredes del canal. Este valor es empírico y depende de la textura, regularidad, vegetación, y material del canal.

Tipo de canal

n típico

Descripción

Concreto

0.011 – 0.015

Superficie lisa

Tierra compactada

0.020 – 0.030

Común en canales agrícolas

Rocoso o vegetado

0.035 – 0.070

Natural, con obstáculos

Maleza densa / rústico

> 0.070

Alta resistencia


📐 Fórmulas geométricas necesarias

Para usar la fórmula de Manning en canales trapezoidales, debemos calcular primero:

  1. Área hidráulica

    Fórmula Área hidráulica
    Fórmula Área hidráulica
  2. Perímetro mojado

    Fórmula: Perímetro mojado
    Fórmula: Perímetro mojado
  3. Radio hidráulico


💻 Cálculo en Python paso a paso

Aquí tienes el código completo comentado y estructurado:

import math
import matplotlib.pyplot as plt

# -------------------------
# PARÁMETROS DE ENTRADA
# -------------------------
base = 3.0         # m - base inferior del canal
h = 1.5            # m - tirante de agua
talud = 1.5        # m/m - inclinación lateral
pendiente = 0.001  # m/m - pendiente longitudinal
n = 0.025          # coeficiente de Manning

# -------------------------
# CÁLCULOS HIDRÁULICOS
# -------------------------

# 1. Área hidráulica A = h(b + z*h)
area = (base + talud * h) * h

# 2. Perímetro mojado P = b + 2h√(1 + z²)
perimetro = base + 2 * h * math.sqrt(1 + talud ** 2)

# 3. Radio hidráulico R = A / P
radio_hidraulico = area / perimetro

# 4. Fórmula de Manning: Q = (1/n) * A * R^(2/3) * S^(1/2)
Q = (1 / n) * area * (radio_hidraulico ** (2 / 3)) * (pendiente ** 0.5)

# -------------------------
# RESULTADO
# -------------------------
print(f"Caudal: {Q:.3f} m³/s")

 🔎 ¿Qué hace cada parte del código?

  • math.sqrt(...) permite calcular raíces cuadradas.

  • El área y perímetro se calculan según fórmulas específicas para trapecios.

  • radio hidráulico mide cuán eficiente es la sección.

  • Q es el caudal total, que dependerá del tirante, base, pendiente y rugosidad.


📊 Visualización del canal trapezoidal

Este código genera una visualización simple del canal:

# Coordenadas del canal trapezoidal
x_canal = [0, talud * h, talud * h + base, 2 * talud * h + base]
y_canal = [0, h, h, 0]

# Color del borde según rugosidad
if n <= 0.015:
    color_borde = 'lightgrey'
elif n <= 0.030:
    color_borde = 'saddlebrown'
elif n <= 0.070:
    color_borde = 'darkgreen'
else:
    color_borde = 'lightgreen'

# Gráfico
plt.figure(figsize=(8, 4))
plt.plot(x_canal + [x_canal[0]], y_canal + [y_canal[0]], color=color_borde, linewidth=4, label=f'Revestimiento (n = {n})')
plt.fill(x_canal, y_canal, 'skyblue', alpha=0.5, label='Agua')
plt.title('Sección transversal del canal trapezoidal')
plt.xlabel('Ancho (m)')
plt.ylabel('Altura (m)')
plt.axis('equal')
plt.grid(True)
plt.legend()
plt.tight_layout()
plt.show()

🎨 El borde del canal cambia de color dependiendo de la rugosidad, pero el agua siempre se mantiene azul.


🧠 Conclusión

La formula de Manning, ha sido la herramienta mas confiable para el deseño hidraulico por mas un siglo. con Python puedes:

  1. Automatizar cálculos complejos

  2. Crear visualizaciones que mejoren la comprensión.

  3. Adaptar el código a distintos escenarios.


🔗 Recursos adicionales

¿Te gustaría ver este ejemplo en acción?


Comentarios


bottom of page