Welcome, User!
Un bloque ameno y científico que reproduce el experimento mental del demonio de Maxwell en Python, mostrando cómo la clasificación de moléculas crea un gradiente de temperatura y enfrenta el coste de información (Landauer). Descubre por qué, al final, la segunda ley siempre sale ganando.
En 1871, James Clerk Maxwell retó la intuición de sus colegas: ¿y si un ser microscópico pudiera abrir y cerrar una puerta entre dos cámaras de gas, dejando pasar solo moléculas rápidas a un lado y lentas al otro? Al acumular moléculas energéticas en una cámara, parecería obtenerse un gradiente de temperatura sin aportar trabajo externo, lo cual amenazaba la segunda ley de la termodinámica:
«Es imposible un proceso que solo transfiera calor de un cuerpo frío a uno caliente sin trabajo externo».
Maxwell usó su demonio como experimento mental para mostrar que la segunda ley descansa en supuestos estadísticos y de información, no solo mecánicos.
$$\Delta S_{total} = \Delta S_{gas} + \Delta S_{demonio} \ge 0$$
import numpy as np
import matplotlib.pyplot as plt
# Parámetros
N = 1000 # número de moléculas
T0 = 1.0 # temperatura inicial (unidades)
v_th = 1.0 # umbral velocidad
t_steps = 6000 # pasos de simulación
kB = 1.0 # constante de Boltzmann
E_bit = kB * T0 * np.log(2) # coste por bit
# Estado inicial
vel = np.random.randn(N) * np.sqrt(T0)
side = np.zeros(N, int) # 0 = izq, 1 = der
# Registros
deltaT = []
cost = []
E_acc = 0.0
for t in range(t_steps):
# 1) Demonio clasifica una molécula al azar
i = np.random.randint(N)
if side[i] == 0 and vel[i] > v_th:
side[i] = 1
E_acc += E_bit
elif side[i] == 1 and vel[i] < -v_th:
side[i] = 0
E_acc += E_bit
# 2) Registro de temperaturas (energía cinética media)
KE0 = np.mean(vel[side == 0]**2) / 2
KE1 = np.mean(vel[side == 1]**2) / 2
deltaT.append(KE0 - KE1)
cost.append(E_acc)
# Graficar resultados
plt.figure(figsize=(8,6))
plt.subplot(2,1,1)
plt.plot(deltaT)
plt.title('ΔT = T_izq - T_der vs. Paso')
plt.ylabel('ΔT')
plt.subplot(2,1,2)
plt.plot(cost)
plt.title('Coste acumulado del demonio')
plt.ylabel('Energía')
plt.xlabel('Paso')
plt.tight_layout()
plt.show()
Figura 1. Evolución de \( \Delta T = T_{\mathrm{izq}} - T_{\mathrm{der}} \) (arriba), que se vuelve más negativa cuando el demonio concentra moléculas rápidas en la derecha; abajo, el coste acumulado \( E_{\text{acc}} \) crece casi linealmente con cada bit borrado — la segunda ley siempre pasa la factura. 🧾🔥
Después de clasificar cada molécula, el demonio debe borrar su bit de memoria para estar listo para la siguiente medición. Ese reseteo es lo que cuesta \(k_B T \ln 2\). En un gas real las colisiones vuelven a mezclar las energías, de modo que el demonio debe medir-borrar en cada instante, pagando continuamente y asegurando que la segunda ley siga mandando.
Aunque el demonio ordena el gas (disminuye su entropía local), paga ese orden con un aumento de entropía en su memoria al borrar información. En conjunto:
$$ \Delta S_{gas} < 0,\quad \Delta S_{demonio} > 0,\quad \Delta S_{total} = \Delta S_{gas} + \Delta S_{demonio} \ge 0. $$
La segunda ley sale invicta.
"Demonio vs. segunda ley: empate técnico, victoria termodinámica." 😉