Jos Stam presenta en este artículo una implementación sencilla y rápida de un solver de dinámica de fluidos orientada a motores de videojuegos. El objetivo es incorporar efectos visuales fluidos realistas, como humo arremolinándose al paso de un personaje, sin sacrificar el rendimiento. Los algoritmos propuestos se basan en las ecuaciones de Navier-Stokes, el modelo matemático de referencia para los flujos fluidos desde los trabajos de Euler, Navier y Stokes entre 1750 y 1850. Estos métodos numéricos tradicionales persiguen precisión física y resultan costosos en cómputo, algo innecesario cuando lo que importa en gráficos por computador es que las simulaciones resulten creíbles y se ejecuten con fluidez.
El artículo describe los fundamentos físicos del modelo: el estado del fluido se representa como un campo vectorial de velocidades, y sustancias como humo o polvo se modelan mediante un campo de densidad continuo transportado por dicho campo. Los autores aprovechan la analogía formal entre la ecuación de la densidad y la de la velocidad para resolver primero el caso más sencillo —densidad moviéndose en un campo de velocidades fijo— y después extrapolar la técnica al caso no lineal de la velocidad.
En la práctica, el fluido se discretiza en una rejilla cuadrada con una capa adicional de celdas para las condiciones de contorno, almacenando velocidad y densidad en arrays unidimensionales por eficiencia. La implementación propuesta es estable para cualquier paso temporal y nunca «explota», a diferencia de los solvers convencionales con restricciones estrictas de paso. El trabajo incluye código completo en C y demuestra que los algoritmos funcionan en tiempo real para rejillas razonables en dos y tres dimensiones sobre hardware PC estándar.
