💨 Autómata de Gas Reticular FHP
Partículas booleanas en una red hexagonal colisionan y se desplazan bajo reglas simples de conservación, promediándose en un flujo emergente similar al de un fluido — comportamiento de Navier-Stokes a partir de pura geometría discreta.
Cómo Funciona
El modelo FHP coloca "partículas" booleanas en los nodos de una red triangular, donde cada nodo tiene seis vecinos en incrementos de 60° (0°, 60°, 120°, 180°, 240°, 300°). Exclusión significa que como máximo una partícula puede viajar en cada una de las seis direcciones en un nodo. Cada paso de tiempo aplica dos operaciones locales en todas partes a la vez: colisión, una tabla de búsqueda que reordena las direcciones ocupadas en un nodo mientras conserva el número de partículas y el momento, y propagación, que desliza cada partícula un paso de red a lo largo de su dirección.
La ocupación cruda por nodo es solo ruido — un bit por dirección. Este simulador divide la red en pequeños bloques y promedia los vectores de dirección de las partículas ocupadas dentro de cada bloque en cada fotograma, produciendo el campo de flechas suave que ves: este paso de promediado es exactamente cómo emerge la hidrodinámica del continuo a partir de un conjunto de reglas microscópicas discreto y reversible. Una región sólida pintable refleja las partículas entrantes (rebote), lo cual basta para generar puntos de estancamiento, capas de cizalla separadas y, a tasas de entrada altas, vórtices desprendiéndose detrás del obstáculo.
Colisión de dos cuerpos: {i, i+3} → {i+1, i+4} o {i-1, i+2} (aleatorio, conserva el momento)
Colisión de tres cuerpos: {0,2,4} ↔ {1,3,5} (rotación de 60°)
Velocidad promediada: u(bloque) = (1/N)·Σ sobre direcciones ocupadas de (cos θ_i, sin θ_i)
Preguntas Frecuentes
¿Qué es un autómata de gas reticular, y en qué se diferencia el FHP de la dinámica molecular real?
Un autómata de gas reticular (LGA) reemplaza posiciones y velocidades continuas de partículas por números de ocupación booleanos en una red fija: cada nodo puede contener como máximo una partícula por dirección permitida. A diferencia de la dinámica molecular, que integra fuerzas y trayectorias de valor real, un LGA evoluciona mediante dos pasos locales discretos, colisión y propagación, aplicados simultáneamente a cada nodo. Es dramáticamente más barato de calcular y, sorprendentemente, aún reproduce las ecuaciones de Navier-Stokes en el límite macroscópico.
¿Por qué el FHP requirió una red hexagonal de 6 direcciones en lugar de una cuadrada?
Un gas de red cuadrada anterior (HPP) conserva masa y momento pero tiene solo simetría rotacional de 4 pliegues, lo que se filtra en las ecuaciones macroscópicas como una dependencia antifísica de la presión y la viscosidad respecto a la dirección. La red hexagonal tiene simetría de 6 pliegues, el mínimo necesario para que el tensor de viscosidad de cuarto rango se vuelva isotrópico. Frisch, Hasslacher y Pomeau demostraron en 1986 que este único cambio geométrico recupera un comportamiento de Navier-Stokes correcto e independiente de la dirección.
¿Qué hacen realmente los pasos de colisión y propagación?
La propagación (streaming) mueve cada partícula un paso de red a lo largo de su dirección de viaje. La colisión es una búsqueda puramente local: dos partículas frontales (180° de separación) se dispersan a uno de los dos pares de direcciones perpendiculares, elegido al azar; tres partículas a 120° entre sí giran juntas 60°; cualquier otra configuración pasa sin cambios. Ambas reglas solo reetiquetan qué direcciones están ocupadas en un nodo, por lo que el número total de partículas y el momento nunca cambian allí.
¿Por qué estas reglas de colisión conservan masa y momento?
La conservación de masa es automática porque las colisiones nunca crean ni destruyen direcciones ocupadas, solo las reasignan. La conservación del momento se sigue de la simetría: un par frontal tiene momento neto cero, y ambos pares de salida perpendiculares también tienen momento neto cero, por lo que el intercambio es neutro en momento; la rotación de tres partículas mapea una tripleta simétrica de momento cero sobre otra.
¿Cómo convierte el promediado (coarse-graining) booleanos discretos en un campo de flujo suave?
La ocupación de un solo nodo es esencialmente ruido. Promediar sobre un bloque de muchos nodos, sumando cada dirección ocupada como un vector unitario y dividiendo por el número de nodos, produce una velocidad media local que varía suavemente en el espacio y el tiempo — exactamente el procedimiento que usa la mecánica estadística para pasar de estados microscópicos a campos macroscópicos.
¿Cómo modela el FHP el flujo alrededor de un obstáculo y el desprendimiento de vórtices?
Una región sólida usa límites de rebote: cualquier partícula que entra en un nodo sólido invierte su dirección, así que reaparece por donde vino. Las partículas se acumulan aguas arriba y se enrarecen detrás del obstáculo; en el campo de velocidad promediado esto produce un punto de estancamiento al frente, capas de cizalla separadas, y, a velocidades de entrada más altas, vórtices alternantes desprendiéndose aguas abajo — un análogo reticular de una calle de vórtices de von Kármán.
¿Quién inventó el modelo FHP y por qué es históricamente importante?
El modelo lleva el nombre de Uriel Frisch, Brosl Hasslacher e Yves Pomeau, quienes lo publicaron en 1986 después de que se demostrara que un predecesor de red cuadrada (HPP) fallaba en lograr hidrodinámica isotrópica. FHP fue el primer autómata celular demostrado que recupera las ecuaciones de Navier-Stokes, e inspiró directamente el método de Boltzmann en redes, hoy una herramienta estándar en dinámica de fluidos computacional.
¿Cuáles son las principales limitaciones del modelo de gas reticular FHP?
Cada nodo contiene solo un puñado de partículas booleanas, así que las corridas individuales son extremadamente ruidosas; recuperar un campo de velocidad limpio requiere promediar sobre muchos nodos o corridas. El modelo está restringido a números de Mach bajos, tiene una viscosidad efectiva dependiente de la velocidad, y la exclusión discreta limita la densidad alcanzable. Estos problemas motivaron los métodos de Boltzmann en redes, que en gran medida sustituyeron al FHP para la CFD práctica.
¿Qué significa el principio de exclusión en la red FHP?
Exclusión significa que cada nodo puede contener como máximo una partícula por dirección, seis como máximo en total, todas moviéndose a la misma velocidad unitaria. Esto es una simplificación de modelado, no un requisito físico de los gases reales — mantiene el estado de cada nodo como un pequeño número booleano y hace que el autómata sea exactamente reversible y fácil de actualizar en paralelo.
¿Qué les ocurre a las partículas en los bordes de la red simulada?
Los bordes superior e inferior se envuelven periódicamente, evitando muros artificiales que perturbarían el flujo. El borde izquierdo actúa como entrada, donde nuevas partículas se inyectan continuamente en direcciones hacia adelante a una tasa fijada por el deslizador de densidad, y el borde derecho es una salida abierta — las partículas que pasan por él simplemente abandonan el dominio, imitando un túnel de viento con un flujo continuo constante.
Acerca de esta simulación
Este simulador ejecuta un auténtico autómata de gas reticular FHP: cada nodo en una red hexagonal contiene hasta seis partículas booleanas, una por dirección de 60°, que colisionan bajo reglas estrictas de conservación de masa y momento y luego se desplazan hacia sus vecinos. La ocupación de un solo nodo es ruido, pero promediar los vectores de dirección sobre pequeños bloques en cada fotograma revela un campo de velocidad suave basado en flechas — una vista de túnel de viento de cómo puede emerger un flujo tipo Navier-Stokes de nada más que geometría discreta y reversible. Pinta un obstáculo, aumenta la densidad de entrada y observa cómo aparecen puntos de estancamiento, capas de cizalla y vórtices desprendiéndose en el campo promediado.
🔬 Qué muestra
Un autómata de gas reticular hexagonal fluyendo hacia la derecha desde una entrada de túnel de viento, promediado en un campo de flechas por bloques para que el patrón de flujo emergente sea visible en lugar del ruido crudo de partículas. Una región sólida pintable refleja partículas mediante rebote, produciendo estelas y desprendimiento de vórtices.
🎮 Cómo usarlo
Elige un tamaño de cuadrícula, selecciona un círculo, placa plana o ningún obstáculo del menú desplegable, o haz clic y arrastra directamente en el lienzo para pintar tus propias celdas sólidas (clic derecho para borrar). Aumenta el deslizador de densidad de entrada para inyectar más partículas desde el borde izquierdo, y usa el deslizador de velocidad para ejecutar más pasos del autómata por fotograma renderizado.
💡 ¿Sabías que?
El FHP fue el primer autómata celular matemáticamente probado que recupera las ecuaciones incompresibles de Navier-Stokes en el límite del continuo — un conjunto de reglas puramente discreto y booleano que produce la misma física a gran escala que las ecuaciones diferenciales que usan los ingenieros para diseñar alas de avión.
Preguntas frecuentes
¿Por qué veo flechas en lugar de puntos de partículas individuales?
La ocupación de partículas en bruto es booleana y extremadamente ruidosa a la escala de un solo nodo. El simulador suma los vectores de dirección de las partículas ocupadas dentro de cada bloque pequeño y divide por el tamaño del bloque en cada fotograma, que es exactamente el paso de promediado que recupera un campo de velocidad macroscópico suave a partir de la discreción microscópica — dibujar puntos en bruto se vería simplemente como estática.
¿Qué significa la estadística "Re (unidades de red)"?
Es un indicador simplificado y adimensional construido a partir de la tasa de inyección en la entrada y el tamaño del obstáculo en celdas de red, que sustituye al verdadero número de Reynolds (el cual depende de la viscosidad física, no solo de la tasa de inyección). Valores bajos corresponden a un flujo promediado suave y de aspecto laminar; valores altos corresponden a un desprendimiento de vórtices visible detrás del obstáculo, la misma tendencia cualitativa que producen los números de Reynolds reales.
¿Por qué a veces el flujo se ve diferente cada vez que reinicio?
La regla de colisión de dos cuerpos dispersa los pares de partículas frontales a uno de dos resultados perpendiculares al azar, y la inyección en la entrada también es aleatoria. Esta aleatoriedad incorporada es intencional — imita el caos molecular y significa que corridas repetidas con ajustes idénticos aún producen patrones de flujo ligeramente diferentes, pero estadísticamente similares.
¿Por qué la parte superior e inferior de la cuadrícula se envuelven?
Envolver los bordes verticales periódicamente evita introducir muros sólidos artificiales que reflejarían partículas y distorsionarían el campo de flujo cerca de la parte superior e inferior del dominio visible. En efecto, simula un túnel de viento infinitamente alto, de modo que los únicos límites que importan físicamente son la entrada, la salida y cualquier obstáculo que pintes.
¿Puedo pintar más de un obstáculo?
Sí. Pintar con el ratón añade celdas sólidas encima de cualquier forma que haya seleccionado el menú desplegable, así que puedes extender un círculo, añadir bloqueadores adicionales o construir geometría personalizada enteramente a mano. Hacer clic derecho y arrastrar borra celdas sólidas de vuelta a nodos abiertos que transportan partículas.
¿Es este el mismo algoritmo usado en software de CFD de ingeniería real?
No directamente — la CFD de producción usa principalmente el método de Boltzmann en redes, que el FHP inspiró directamente, o solucionadores de Navier-Stokes en el continuo. El FHP en sí se usa hoy principalmente para enseñanza y para explorar preguntas conceptuales en mecánica estadística, porque demuestra que la hidrodinámica puede emerger de una regla microscópica completamente discreta y exactamente reversible.
Partículas booleanas en una red hexagonal colisionan y se desplazan bajo reglas simples de conservación, promediándose en un flujo emergente similar al de un fluido — comportamiento de Navier-Stokes a partir de pura geometría discreta.
2D · Canvas 2D de HTML5 · Objetivo 60 FPS · funciona completamente en el cliente, sin instalación