Skip to content
cfd-lab:~/es/posts/2026-04-28-rankine-vorte…● online

Traducción del original en coreano escrito por el autor. Leer el original (한국어)

NOTE #025DAY TUE 유체역학DATE 2026.04.28UPDATED 2026.10.19READ 6 min read#Vortex#Vorticity#Fluid-Dynamics#Flow-Phenomena#Helmholtz

Las dos caras de un remolino — vórtice libre, vórtice forzado y Helmholtz

Una hoja que mantiene la misma cara hacia el desagüe solo revoluciona. El giro propio, y la vorticidad 2ω, quedan en el núcleo amarillo.

Al destapar una bañera, el agua gira. A esa escena se la llama "el agua rota". Quien mira casi toda esa región desde la mecánica de fluidos dice lo contrario: ahí no hay rotación (irrotacional). La contradicción es falsa. Dentro vive la definición real de un vórtice. La misma imagen contiene un vórtice libre con velocidad 1/r1/r y un vórtice forzado con velocidad ωr\omega r. La vorticidad — el doble de la velocidad angular de giro de una partícula — mide la diferencia. El teorema de Helmholtz empuja la pregunta hasta por qué ese vórtice cuesta tanto matarlo.

¿El remolino de la bañera es realmente "rotación"?#

Dentro de una sola palabra conviven dos sentidos. Uno es la revolución: moverse en círculo alrededor de un punto. El otro es el giro propio: la partícula rotando sobre su eje.

En el remolino del desagüe las partículas de agua hacen revolución. El giro propio, lejos del agujero, casi no existe. Una hojita traza un círculo y no rota su cuerpo. La misma cara apunta siempre hacia el desagüe.

En mecánica de fluidos, "rotación" significa giro propio. Un vórtice libre es no rotante en todas partes, salvo en el centro singular.

Al reducir el radio del núcleo RR se estrecha la zona amarilla que gira, y al subir Umax⁡U_{\max} sube la vorticidad del núcleo 2Umax⁡/R2U_{\max}/R.

Yellow tracers sit inside the forced-vortex core and rotate as a solid body (ω = 2U/R). Blue tracers outside follow u_θ = ΓR/r — circular streamlines but zero local spin. The Rankine combined vortex is the simplest model for a bath-tub drain or tornado.

Las partículas amarillas giran sobre sí mismas. Las azules solo revolucionan, con una cara fija hacia el desagüe, y la curva del recuadro es lineal para r≤Rr \le R y 1/r1/r fuera.

Forzado contra libre: misma imagen, alma distinta#

Si se agita el agua de un balde el tiempo suficiente, el líquido entero gira como un sólido rígido. Es el vórtice forzado. Cada partícula hace revolución y giro propio a la vez.

uθ(r)=ω ru_\theta(r) = \omega \, r

Aquí uθu_\theta es la velocidad tangencial, ω\omega la velocidad angular del cuerpo rígido y rr la distancia al eje. La velocidad es proporcional al radio.

El remolino que aparece en un fluido ideal, sin viscosidad, es el vórtice libre, o vórtice potencial.

uθ(r)=Γ2πru_\theta(r) = \frac{\Gamma}{2\pi r}

Γ\Gamma es la circulación, la integral de línea de la velocidad sobre una curva cerrada. La velocidad cae como 1/r1/r y diverge en el centro. En un fluido real la viscosidad domestica esa singularidad.

ForzadoLibre
Velocidadωr\omega rΓ/2πr\Gamma / 2\pi r
Giro propiosíno
Aporte de energíacontinuouna sola vez
Ejemplo cotidianotaza removidabañera, tornado

Las mismas líneas circulares, y un giro propio opuesto. Un solo escalar cuantifica la diferencia.

Lo que mide la vorticidad#

La vorticidad ω\boldsymbol{\omega} es el rotacional del campo de velocidad.

ω=∇×u\boldsymbol{\omega} = \nabla \times \mathbf{u}

En dos dimensiones sobrevive solo la componente zz:

ωz=∂v∂x−∂u∂y\omega_z = \frac{\partial v}{\partial x} - \frac{\partial u}{\partial y}

donde u,vu, v son las componentes en x,yx, y. El valor equivale al doble de la velocidad angular del giro propio.

Con el vórtice forzado, ωz=2ω\omega_z = 2\omega, uniforme en todo el dominio. Con el vórtice libre, ωz=0\omega_z = 0 en todas partes salvo el centro. Líneas redondas idénticas, giro propio opuesto.

Vórtice combinado de Rankine — el plano del tornado#

Los remolinos reales no obedecen una sola fórmula. Cerca del centro la viscosidad es fuerte y el fluido gira como un sólido. Lejos, la viscosidad se desprecia y manda la ley del vórtice libre. El empalme es el vórtice combinado de Rankine.

uθ(r)={Umax⁡R r,r≤RUmax⁡ Rr,r>Ru_\theta(r) = \begin{cases} \dfrac{U_{\max}}{R}\, r, & r \le R \\[6pt] \dfrac{U_{\max}\, R}{r}, & r > R \end{cases}

RR es el radio del núcleo y Umax⁡U_{\max} la velocidad tangencial máxima en el borde. Las dos piezas se encuentran en r=Rr = R. El viento de un tornado, el vórtice de punta de ala y la espiral sobre un desagüe siguen esta forma. Dentro: rotacional. Fuera: irrotacional.

Los valores por defecto del código entran directo en las fórmulas. Umax⁡=1U_{\max} = 1 y R=0.5R = 0.5. En r=Rr = R ambas piezas dan uθ=1u_\theta = 1. En r=0.25r = 0.25 la pieza interior da Umax⁡r/R=0.5U_{\max} r / R = 0.5. En r=1r = 1 la exterior da Umax⁡R/r=0.5U_{\max} R / r = 0.5. Misma distancia al eje, misma velocidad, pendiente opuesta.

La circulación de un lazo exterior no crece con el radio. Para r>Rr > R, uθ=Umax⁡R/ru_\theta = U_{\max} R / r, así que Γ=2πruθ=2πRUmax⁡\Gamma = 2\pi r u_\theta = 2\pi R U_{\max}. Los números dan 2π×0.5×1=π2\pi \times 0.5 \times 1 = \pi. La vorticidad del núcleo es ωz=2Umax⁡/R=4\omega_z = 2 U_{\max}/R = 4. El área del núcleo es πR2=π/4\pi R^2 = \pi/4, y 4×π/4=π4 \times \pi/4 = \pi. La integral de área y la integral de contorno cierran en la misma circulación. El camino de esa Γ\Gamma hasta la sustentación sigue en una pelota que gira.

El teorema de Helmholtz — la inmortalidad del vórtice#

En un fluido sin viscosidad, la única fuerza sobre una partícula es la presión, y la presión apunta al centro. No hay par. Una partícula que no gira nunca empieza, y una que gira nunca se detiene. Es el teorema de Helmholtz en una línea.

El teorema de Kelvin es la forma más precisa. La circulación Γ\Gamma sobre una curva material cerrada no cambia con el tiempo.

DΓDt=0\frac{D\Gamma}{Dt} = 0

D/DtD/Dt es la derivada material, la que sigue a la parcela. Los tubos de vórtice no se cortan ni terminan. Estirar uno lo hace girar más rápido, la misma física de una patinadora que cierra los brazos. Los fluidos reales tienen viscosidad y los vórtices acaban difundiendo, pero en agua o aire sobreviven días. Por eso el vórtice condensado de un avión queda visible mucho después del paso.

La puerta que abre el potencial de velocidad#

En una región irrotacional (ω=0\boldsymbol{\omega} = 0), una identidad vectorial entrega una línea:

∇×u=0⟹u=∇ϕ\nabla \times \mathbf{u} = 0 \quad \Longrightarrow \quad \mathbf{u} = \nabla \phi

La función escalar ϕ\phi se llama potencial de velocidad. Si además el flujo es incompresible, ∇⋅u=0\nabla \cdot \mathbf{u} = 0, entonces

∇2ϕ=0\nabla^2 \phi = 0

la ecuación de Laplace. El flujo no viscoso, irrotacional e incompresible se reduce a un escalar. Así pudo el siglo XIX tratar perfiles, fuentes y sumideros de forma analítica. El vórtice libre se escribe ϕ=(Γ/2π) θ\phi = (\Gamma / 2\pi)\, \theta, un potencial proporcional al ángulo.

Dos vórtices en código#

Al graficar la velocidad de Rankine y la vorticidad discreta, la diferencia salta a la vista.

import numpy as np
 
def rankine_speed(r, R_core, U_max):
    """Velocidad tangencial del vórtice combinado de Rankine"""
    speed = np.where(r <= R_core,
                     U_max * r / R_core,
                     U_max * R_core / np.maximum(r, 1e-9))
    return speed
 
def vorticity_field(u, v, dx, dy):
    """Rotacional discreto en 2D: omega_z = dv/dx - du/dy"""
    dvdx = (v[1:-1, 2:] - v[1:-1, :-2]) / (2 * dx)
    dudy = (u[2:, 1:-1] - u[:-2, 1:-1]) / (2 * dy)
    return dvdx - dudy
 
# Muestreo en una malla 200x200
N, L = 200, 2.0
x = np.linspace(-L, L, N)
y = np.linspace(-L, L, N)
X, Y = np.meshgrid(x, y)
R = np.hypot(X, Y)
THETA = np.arctan2(Y, X)
 
U_max, R_core = 1.0, 0.5
u_theta = rankine_speed(R, R_core, U_max)
u =  -u_theta * np.sin(THETA)
v =   u_theta * np.cos(THETA)
 
dx = dy = x[1] - x[0]
omega = vorticity_field(u, v, dx, dy)
 
# Vorticidad media dentro y fuera del núcleo
mask_in  = R[1:-1, 1:-1] <  R_core
mask_out = R[1:-1, 1:-1] >  1.5 * R_core
print(f"núcleo media omega_z ~ {omega[mask_in].mean():.3f}")   # ~ 2 * U_max / R_core
print(f"exterior media omega_z ~ {omega[mask_out].mean():.3f}") # ~ 0

Dentro del núcleo, ωz≈2Umax⁡/R\omega_z \approx 2 U_{\max}/R se mantiene casi constante. Fuera, cae a cero. En el mismo flujo redondo, la frontera en r=Rr = R separa quien gira de quien no.

La malla usa los mismos números. N=200N = 200 y L=2L = 2, así que el dominio va de −2-2 a 22 y el espaciado es 4/1994/199. Un núcleo de 0.50.5 son unas veinticinco celdas desde el origen. La máscara exterior abre en 1.5R=0.751.5 R = 0.75. Las celdas entre RR y 0.750.75 quedan fuera de ambos promedios: una diferencia centrada que cruza el borde devuelve un ωz\omega_z que no es ni 44 ni 00. El comentario espera 44 dentro y 00 fuera.

Dónde dejar el radio del núcleo#

Si el núcleo se corta demasiado pequeño, 2Umax⁡/R2U_{\max}/R se sale de la malla. Con Umax⁡=1U_{\max} = 1 y R=0.5R = 0.5, la vorticidad es 44. Al partir RR por la mitad, la misma fórmula da 88. Una diferencia centrada a través de ese salto ensucia el promedio con un valor que no es ni 44 ni 88. Por eso la máscara exterior empieza en 1.5R1.5R.

Si el núcleo se empuja hasta el borde del dominio, desaparece la cola 1/r1/r. La circulación Γ=2πRUmax⁡\Gamma = 2\pi R U_{\max} todavía se puede escribir, pero ya no queda un tramo irrotacional donde una hoja conserve la cara hacia el centro. Si la constante de Bernoulli se mantiene plana al cruzar esas líneas de corriente es otro cálculo: aquel en el que la presión total cayó y la disipación se quedó en cero.

Comparte si te resultó útil.