Simulador de fluidos de neón y vórtices

Dinámica de fluidos Navier-Stokes en GPU WebGL • Arte y física
Publicidad
FPS: 60 FPS
Resolución: Auto
Motor: GPU WebGL 2.0
Arrastra el dedo o ratón para generar vórtices
Gama cromática de neón
Vórtices armónicos automáticos

Dinámica de fluidos y ecuaciones de Navier-Stokes

La simulación resuelve en la GPU las ecuaciones diferenciales de Navier-Stokes para fluidos viscosos incompresibles. Cada interacción calcula advección semi-Lagrangiana, relajación de presión de Jacobi y confinamiento de vorticidad para preservar los remolinos y la turbulencia fina.

Dinámica computacional de fluidos (CFD) • WebGL & Navier-Stokes

Guía de dinámica computacional de fluidos, ecuaciones de Navier-Stokes y vórtices

Aprende los fundamentos matemáticos de la mecánica de fluidos incompresibles en tiempo real, la advección semi-Lagrangiana, la conservación de divergencia cero y la GPU acelerada con WebGL a 60 FPS.

Formulación matemática de Navier-Stokes para fluidos incompresibles

El movimiento de cualquier fluido continuo (líquidos y gases a velocidades subsónicas) está regido por las ecuaciones de Navier-Stokes, formuladas a partir de la segunda ley de Newton aplicada a medios continuos:

∂u / ∂t + (u · ∇)u = -∇p / ρ + ν∇²u + f

Donde u representa el campo vectorial de velocidades, p es el campo escalar de presión, ρ es la densidad volumétrica y ν es la viscosidad cinemática. Para garantizar que el fluido sea incompresible (volumen constante), el campo debe satisfacer la condición de solenoidalidad o divergencia nula: ∇ · u = 0.

Tabla de regímenes hidrodinámicos y parámetros de simulación

Parámetros físicos, viscosidad cinemática y régimen de flujo en el motor WebGL
Tipo de medio / Preset Viscosidad cinemática (ν) Tasa de disipación Confinamiento de vorticidad Régimen hidrodinámico dominante
Gas ligero / Humo Muy baja (0,0001) Rápida (volátil) Alta (remolinos pronunciados) Turbulento con microvórtices libres (Re > 4.000)
Agua con tinte Baja (0,001) Moderada Media (conservativa) Transicional con difusión continua de ondas
Fluido viscoso (Miel / Aceite) Alta (0,05) Lenta Mínima (amortiguada) Laminar con amortiguación rápida de perturbaciones
Plasma de neón bioluminiscente Media-baja (0,0005) Muy lenta (luminosa) Máxima (filamentos finos) Vórtices sostenidos con resplandor postprocesado

El algoritmo de proyección de Stam y la relajación de Jacobi

Para resolver estas ecuaciones a 60 fotogramas por segundo en la tarjeta gráfica, se emplea el método de pasos fraccionados introducido por Jos Stam:

  • Advección semi-Lagrangiana: Rastrea hacia atrás en el tiempo dónde se encontraba la masa fluida en el fotograma anterior y muestrea bilinealmente las texturas FBO en GPU.
  • Difusión de viscosidad: Aplica el operador laplaciano mediante iteraciones sucesivas de Jacobi para extender la fricción entre capas fluidas.
  • Proyección de presión libre de divergencia: Resuelve la ecuación de Poisson para restar el gradiente de presión al campo de velocidad, forzando la incompresibilidad estricta.

Cómo simular dinámica de fluidos y vórtices Navier-Stokes en WebGL

1

Seleccionar la paleta cromática de neón

Escoge una gama de color (ciberpunk, aurora boreal, fuego cósmico o neón ultravioleta) para teñir las corrientes hidrodinámicas.

2

Trazar corrientes y remolinos con el puntero

Arrastra el ratón o desliza los dedos sobre el lienzo para inyectar vectores de momento y tinta fluida a 60 FPS.

3

Regular la viscosidad y el confinamiento de vórtices

Ajusta los parámetros físicos en el panel de control para simular fluidos ligeros como el humo o medios altamente densos como la miel.

4

Capturar o inmortalizar la simulación

Usa la herramienta de captura fotográfica para guardar composiciones con iluminación bloom de alta definición.

Preguntas frecuentes sobre fluidos y vórtices en WebGL

¿Qué son las ecuaciones de Navier-Stokes y cómo se resuelven en la GPU?

Son las ecuaciones fundamentales de la mecánica de fluidos que describen la conservación del momento y la masa en fluidos viscosos incompresibles. En el navegador se resuelven mediante shaders WebGL fragmentados que calculan advección semi-Lagrangiana y relajación de presión de Jacobi a 60 fotogramas por segundo.

¿Qué diferencia la advección del fluido de la difusión de viscosidad?

La advección es el transporte de la masa de fluido y sus tintes debido a su propia velocidad. La difusión representa la fricción interna entre capas de fluido (viscosidad), que disipa gradualmente la energía cinética hasta devolver el fluido al reposo.

¿Cómo logra WebGL renderizar fluidos en tiempo real a 60 FPS?

A través de texturas FBO (Frame Buffer Objects) en una arquitectura ping-pong de doble búfer, ejecutando los cálculos matemáticos en paralelo directamente en los núcleos de la tarjeta gráfica en vez de saturar la CPU.

¿Qué es el confinamiento de vorticidad y para qué sirve?

Debido a la disipación numérica propia de las cuadrículas discretas, los pequeños remolinos tienden a desaparecer rápidamente. El algoritmo de confinamiento de vorticidad detecta los rizos de velocidad y reinyecta energía rotacional para mantener los vórtices nítidos y detallados.

¿Funciona con pantallas táctiles y multitoque?

Sí. El simulador soporta eventos Pointer y Touch nativos, permitiendo interactuar con hasta 5 dedos de forma simultánea para crear colisiones de corrientes y turbulencias cruzadas.

Publicidad