El caos que empieza en el fondo de una olla — Convección de Rayleigh–Bénard y las ecuaciones de Lorenz
El instante en que la flotabilidad vence a la viscosidad, y cómo los rollos se vuelven caos
En 1900, el físico francés Henri Bénard calentaba una capa delgada de aceite desde abajo cuando vio algo extraño. Un líquido que había estado en completo reposo se agrietó de pronto en un panal de hexágonos. Nadie lo removió y, sin embargo, empezó a moverse en un patrón regular. Dieciséis años después, Lord Rayleigh explicó ese umbral con un solo número, y cuarenta y siete años más tarde Edward Lorenz encontró el caos escondido en las mismas ecuaciones.
Esta entrada sigue lo que ocurre al calentar una olla desde abajo, en tres pasos. Está el número de Rayleigh (la razón entre la flotabilidad y el freno viscoso y difusivo), el número de Rayleigh crítico de 1708 donde se enciende la convección, y el caos de Lorenz que brota al reducir esa convección a tres ecuaciones. Integramos el sistema de Lorenz en Python para observar directamente las tres caras de la convección.
Por qué un líquido en reposo empieza a moverse#
Imagina una capa de líquido caliente abajo y fría arriba. El fluido cálido del fondo se expande y se vuelve más ligero. Lo ligero abajo, lo pesado arriba: una disposición de densidad invertida. La flotabilidad quiere darle la vuelta.
Sin embargo, el fluido no se lanza hacia arriba de inmediato. Dos cosas frenan a la flotabilidad. La viscosidad se opone al flujo. La difusión térmica derrama el calor de una burbuja cálida ascendente hacia su entorno, matando la flotabilidad que la elevaba. Ambas son frenos de la convección.
Así que si la convección se enciende se decide en un pulso de fuerzas. Si gana la flotabilidad, el fluido se voltea y se forma una circulación (un rollo de convección). Si ganan los frenos, el fluido se queda quieto y el calor viaja solo por conducción.
El número de Rayleigh — fuerza que voltea sobre fuerza que retiene#
Ese pulso de fuerzas se comprime en un solo número adimensional: el número de Rayleigh.
Aquí es la aceleración de la gravedad, es el coeficiente de expansión térmica (cuánto crece el volumen al subir la temperatura), es la diferencia de temperatura entre arriba y abajo, es el espesor de la capa, es la viscosidad cinemática y es la difusividad térmica. El numerador es la flotabilidad que voltea; el denominador es la viscosidad y difusión que retienen.
La clave es . Al engrosar la capa, el número de Rayleigh crece al cubo. Una película fina de aceite rara vez convecta, pero el océano profundo o el manto terrestre convectan con una diferencia de temperatura minúscula. Por eso una olla un poco más honda enciende la convección con mucha más facilidad.
Número de Rayleigh crítico 1708 — el umbral donde se enciende la convección#
El análisis de estabilidad lineal de Rayleigh da una respuesta asombrosamente limpia. Con fronteras superior e inferior libres e idealizadas, la convección comienza en . Con las paredes rígidas comunes en los experimentos reales, .
Por debajo de , cualquier oscilación pequeña es devorada por la viscosidad y la difusión y se apaga. El fluido vuelve al reposo. En el instante en que se cruza , una oscilación de cierta longitud de onda empieza a crecer por sí sola. Esa es la semilla de un rollo de convección.
Pruébalo en la simulación de abajo. Al subir el número de Rayleigh se puede ver el umbral donde se enciende la convección.
Mantén Ra por debajo de 1708 y las partículas quedan casi congeladas mientras la temperatura forma capas horizontales suaves (conducción). Cruza el umbral y aparecen rollos que giran en sentidos opuestos, con columnas calientes que suben y frías que bajan. Sube más Ra y los rollos giran más rápido.
La forma de un rollo y el número de Nusselt#
Justo pasado el umbral, la convección aparece como rollos de cierta longitud de onda. El número de onda crítico es : un rollo es tan ancho como profunda es la capa. Los rollos son casi cuadrados. Esa forma no es casualidad: el modo que crece con mayor facilidad (el que se enciende al menor Ra) tiene exactamente esa longitud de onda.
Qué tan bien la convección transporta calor se mide con el número de Nusselt (transferencia de calor total sobre transferencia por conducción pura).
Aquí es el flujo de calor real y es el flujo sin convección. Con solo conducción . Cuando la convección se intensifica, los experimentos dan aproximadamente . La convección no mueve solo un poco más de calor: lo palea a una escala que la conducción nunca alcanza.
La convección que Lorenz redujo a tres ecuaciones#
En 1963, el meteorólogo Edward Lorenz simplificó esta convección al extremo. Al conservar solo los pocos modos más gruesos de los campos de temperatura y flujo (un truncamiento de Galerkin), las ecuaciones en derivadas parciales colapsan a solo tres ecuaciones diferenciales ordinarias.
Aquí es la intensidad de circulación del rollo, es el contraste de temperatura entre columnas ascendentes y descendentes, y es la distorsión del perfil vertical de temperatura. es el número de Prandtl (difusividad de momento sobre difusividad térmica), es una constante geométrica y es exactamente : la misma razón de Rayleigh de la que venimos hablando.
Subir equivale a calentar la olla con más fuerza. Para toda trayectoria va hacia el origen (conducción). Para converge a un punto fijo fuera del origen (un rollo de convección estacionario). Al cruzar , la trayectoria nunca se asienta en ningún punto fijo; deambula para siempre entre dos alas. Eso es el caos.
Python — integrando las tres caras de la convección#
Integramos el sistema de Lorenz con Runge–Kutta de cuarto orden para ver cómo cambia la convección con .
import numpy as np
SIGMA, BETA = 10.0, 8.0 / 3.0
def lorenz_deriv(state, rho):
x, y, z = state
return np.array([
SIGMA * (y - x), # cambio en la intensidad de circulacion del rollo
x * (rho - z) - y, # cambio en el contraste ascenso/descenso
x * y - BETA * z, # cambio en la distorsion vertical de temperatura
])
def integrate_rk4(rho, dt=0.01, n=20000, s0=(0.6, 0.4, 0.2)):
s = np.array(s0, dtype=float)
traj = np.empty((n, 3))
for i in range(n):
k1 = lorenz_deriv(s, rho)
k2 = lorenz_deriv(s + 0.5 * dt * k1, rho)
k3 = lorenz_deriv(s + 0.5 * dt * k2, rho)
k4 = lorenz_deriv(s + dt * k3, rho)
s = s + (dt / 6.0) * (k1 + 2 * k2 + 2 * k3 + k4)
traj[i] = s
return traj
def convection_regime(rho):
tail = integrate_rk4(rho)[-4000:] # cola tras descartar el transitorio
spread = tail[:, 0].max() - tail[:, 0].min()
if abs(tail[-1, 0]) < 1e-3 and rho < 1.0:
return "conduction" # converge al origen
if spread < 0.1:
return "steady roll" # converge a un punto fijo
return "chaos" # oscila entre dos alas
for rho in (0.8, 15.0, 28.0):
print(f"rho={rho:5.1f} -> {convection_regime(rho)}")La salida es:
rho= 0.8 -> conduction
rho= 15.0 -> steady roll
rho= 28.0 -> chaosLas mismas ecuaciones oscilan entre reposo, convección estacionaria y caos con una sola perilla de calentamiento. Pruébalo en la simulación de abajo.
Mantén por debajo de 24.74 y la trayectoria es atraída hacia uno de los puntos fijos amarillos (un rollo de convección estacionario). Cruza el umbral y aparecen las famosas alas de mariposa. Pulsa reset con un punto inicial apenas distinto y dos trayectorias que al principio se superponen pronto se separan por completo: el efecto mariposa.
Para recordar#
- El número de Rayleigh es la razón entre la flotabilidad que voltea y la viscosidad y difusión que retienen. Escala como , así que las capas más profundas convectan con mayor facilidad.
- Al cruzar 1708, un líquido en reposo se organiza solo en rollos de convección. La convección es un fenómeno de umbral que se enciende y se apaga.
- Las tres ecuaciones de Lorenz son una miniatura de esta convección, y subir el calentamiento hace colapsar la convección estacionaria en caos. Los límites de la predicción del tiempo empezaron en el fondo de esta misma olla.
Comparte si te resultó útil.