Skip to content
cfd-lab:~/es/posts/2026-07-21-water-wave-di…online
NOTE #110DAY TUE 유체역학DATE 2026.07.21READ 5 min readWORDS 997#Water-Waves#Dispersion#Group-Velocity#Capillary-Wave#유동현상

Una sola onda adelanta a su propio grupo — dispersión y velocidad de grupo

Por qué cada longitud de onda viaja a su propia velocidad, y por qué fase y grupo se separan

Se lanza una piedra a un estanque en calma. Las ondas se expanden en un anillo que crece. Hasta ahí todo el mundo lo sabe.

Pero al mirar el anillo de cerca, algo no cuadra. Cada onda pequeña nace en la parte trasera del grupo. Corre hacia afuera. Y luego muere en el borde delantero. El grupo se ensancha despacio, pero las ondas de su interior van por delante del grupo.

Este artículo trata dos ideas. La dispersión (dispersion, diferencia de velocidad según la longitud de onda): cada longitud de onda viaja a su propia velocidad. Y la velocidad de grupo (group velocity): una sola onda y un grupo de ondas se mueven a velocidades distintas. Al final quedará claro por qué el anillo de la piedra se ve así.

El anillo que hizo la piedra#

Una onda de superficie se mueve por la fuerza que devuelve el agua a su posición, es decir, la fuerza restauradora (restoring force). Hay dos.

Una es la gravedad. Empuja hacia abajo una cresta levantada. La otra es la tensión superficial (surface tension, la fuerza que tensa la superficie del agua). Intenta aplanar una superficie curvada.

Para ondas largas gana la gravedad. Cuando la longitud de onda baja de unos 1.7 cm, la tensión superficial toma el mando. El oleaje del mar son ondas de gravedad. Las ondulaciones del estanque son ondas capilares.

La longitud de onda fija la velocidad#

La física de una onda de superficie se resume en una relación de dispersión (dispersion relation).

ω2=(gk+σk3ρ)tanh(kh)\omega^2 = \left( g k + \frac{\sigma k^3}{\rho} \right)\tanh(k h)

Aquí ω\omega es la frecuencia angular, k=2π/λk = 2\pi/\lambda es el número de onda (ondas por unidad de longitud), λ\lambda es la longitud de onda, gg es la gravedad, σ\sigma es la tensión superficial, ρ\rho es la densidad y hh es la profundidad del agua.

La velocidad a la que avanza una sola onda es la velocidad de fase (phase velocity). Se define como c=ω/kc = \omega/k.

c=(gk+σkρ)tanh(kh)c = \sqrt{\left( \frac{g}{k} + \frac{\sigma k}{\rho} \right)\tanh(k h)}

Lo esencial es que cc depende de kk, y por tanto de la longitud de onda. Longitudes de onda distintas viajan a velocidades distintas. Eso es la dispersión. El sonido, y la luz en el vacío, viajan a la misma velocidad sin importar la longitud de onda. Las ondas de agua no.

El tira y afloja entre gravedad y tensión superficial#

Tomemos agua profunda. Cuando khkh es grande, tanh(kh)1\tanh(kh) \to 1, y la fórmula se simplifica.

c=gk+σkρc = \sqrt{ \frac{g}{k} + \frac{\sigma k}{\rho} }

El primer término es la parte de la gravedad. Crece cuando la longitud de onda crece (cuando kk disminuye). El segundo es la parte de la tensión superficial. Crece cuando la longitud de onda disminuye (cuando kk crece).

Los dos términos tiran en sentidos opuestos. Por eso la velocidad tiene un mínimo. Resolver dc/dk=0dc/dk = 0 da la longitud de onda de viaje más lento.

λ=2πσρg1.7cm\lambda_\ast = 2\pi\sqrt{\frac{\sigma}{\rho g}} \approx 1.7\,\text{cm}

En esta longitud de onda la velocidad de fase toca fondo cerca de 0.23 m/s. Compruébalo tú mismo en la gráfica de abajo.

1mm1cm10cm1m10m0.01.02.03.03.9m/swavelength λ (log)gravity ↔ capillaryc_min ≈ 0.23 m/sphase speed cgroup speed c_g

Lower σ toward 0 and the capillary upturn on the left flattens — only gravity is left. Shrink h and the long-wave end levels off at the shallow-water speed √(gh), where waves stop dispersing.

Baja la tensión superficial σ\sigma hacia cero y la rama capilar de la izquierda desaparece. Con solo gravedad, más corto siempre significa más lento. Observa cómo se desplazan el punto más bajo de la curva y la frontera donde la gravedad cede el paso a la tensión superficial.

Agua profunda y agua poco profunda#

¿Qué pasa cuando la profundidad es mucho menor que la longitud de onda? Cuando khkh es pequeño, tanh(kh)kh\tanh(kh) \approx kh. Si se ignora la tensión superficial, la velocidad se vuelve asombrosamente simple.

c=ghc = \sqrt{g h}

La longitud de onda desapareció. En agua poco profunda todas las longitudes de onda viajan a la misma velocidad. No hay dispersión. Este estado se llama no dispersivo (non-dispersive).

Por eso un tsunami es tan peligroso. Sobre un océano de 4 km de profundidad, gh\sqrt{gh} alcanza 700 km/h. Una onda de cientos de kilómetros de largo corre a velocidad de avión a reacción sin apenas cambiar de forma.

El grupo va más lento que las ondas#

Ahora, de vuelta al enigma inicial. ¿Por qué una sola onda adelanta a su grupo?

La velocidad a la que se mueve un grupo de ondas —un paquete de ondas (wave packet)— es la velocidad de grupo. Se define como cg=dω/dkc_g = d\omega/dk. Es una cantidad distinta de la velocidad de fase.

Considera ondas de gravedad puras en agua profunda, donde ω=gk\omega = \sqrt{gk}. Al derivar, el resultado es limpio.

cg=dωdk=12gk=c2c_g = \frac{d\omega}{dk} = \frac{1}{2}\sqrt{\frac{g}{k}} = \frac{c}{2}

La velocidad de grupo es exactamente la mitad de la velocidad de fase. El grupo se arrastra a la mitad de la velocidad de sus propias ondas. Por eso cada onda nace en la parte trasera del grupo, corre hacia adelante y se desvanece en el borde delantero.

La energía viaja a la velocidad de grupo. Solo la forma de la cresta viaja a la velocidad de fase. Abajo, sigue una cresta amarilla.

At c_g/c = 0.5 (deep-water gravity waves) the yellow crest clearly outruns the pink envelope and fades at the front. Set the ratio to 1 and the crest freezes inside the lump — nothing disperses.

Pon c_g/c en 0.5 y la cresta amarilla adelanta a la envolvente rosa (envelope, el contorno del grupo) y se apaga en el frente. Sube la razón a 1 y la cresta queda fija dentro del grupo: la imagen de una onda no dispersiva.

Graficar la curva de dispersión en Python#

Con la relación de dispersión en mano, la velocidad de fase y la de grupo salen directas. La velocidad de grupo se obtiene derivando ω(k)\omega(k) de forma numérica.

import numpy as np
 
g, rho = 9.81, 1000.0          # gravedad [m/s^2], densidad del agua [kg/m^3]
sigma = 0.072                  # tension superficial agua-aire [N/m]
 
def omega(k, h):
    return np.sqrt((g * k + sigma * k**3 / rho) * np.tanh(k * h))
 
def phase_speed(lam, h):
    k = 2.0 * np.pi / lam
    return omega(k, h) / k
 
def group_speed(lam, h):
    k = 2.0 * np.pi / lam
    dk = k * 1e-5                       # diferencia central para domega/dk
    return (omega(k + dk, h) - omega(k - dk, h)) / (2.0 * dk)
 
lam = np.geomspace(1e-3, 10.0, 400)    # 1mm a 10m, suposicion de agua profunda
c = phase_speed(lam, h=100.0)
i = int(np.argmin(c))
print(f"velocidad de fase minima {c[i]:.3f} m/s @ longitud de onda {lam[i]*100:.2f} cm")
# velocidad de fase minima 0.232 m/s @ longitud de onda 1.73 cm
 
lam_swell = 2.0                        # oleaje de 2m: dominado por gravedad
cp = phase_speed(lam_swell, 100.0)
cg = group_speed(lam_swell, 100.0)
print(f"fase {cp:.3f} m/s, grupo {cg:.3f} m/s, razon {cg/cp:.3f}")
# fase 1.767 m/s, grupo 0.884 m/s, razon 0.500

La velocidad de fase mínima coincide con el cálculo a mano: 0.232 m/s en 1.73 cm. Y la velocidad de grupo de un oleaje de 2 m sale en exactamente la mitad de la velocidad de fase. La derivación anterior a mano, reproducida en código.

Qué recordar al hacer sapitos en el agua#

  • Dispersión: las ondas de agua viajan a velocidades distintas según la longitud de onda. Las ondas largas se aceleran por la gravedad, las cortas por la tensión superficial, y entre medias queda una velocidad mínima (unos 0.23 m/s).
  • Agua poco profunda: cuando la profundidad es menor que la longitud de onda, la velocidad es solo gh\sqrt{gh}. La longitud de onda desaparece, así que no hay dispersión.
  • Velocidad de grupo: la energía y el grupo se mueven a cgc_g. Para ondas de gravedad en agua profunda cg=c/2c_g = c/2, de modo que una sola cresta nace por delante del grupo y luego muere.

Comparte si te resultó útil.