Вы находитесь на странице: 1из 30

Tcnicas Avanzadas de Grficos 3D

Dinmica de Fluidos
Computacional para
Grficos

lvaro Prez Molero


Carlos Garre del Olmo

Indice
1

3
4

Introduccin.............................................................................................................. 3
1.1
Qu es la dinmica de fluidos? ....................................................................... 3
1.2
Qu es la dinmica de fluidos computacional?............................................... 4
1.3
Aplicaciones de la CFD.................................................................................... 4
Principios Bsicos de la Dinmica de Fluidos.......................................................... 5
2.1
Concepto de Fluido........................................................................................... 5
2.2
Fluidos ideales .................................................................................................. 5
2.3
Hiptesis del medio continuo ........................................................................... 5
2.4
Tipos de fluidos ................................................................................................ 6
2.5
Propiedades de los fluidos ................................................................................ 7
2.6
Estudio del comportamiento de los fluidos ...................................................... 8
Principios de la Simulacin de Fluidos .................................................................. 12
Lecturas recomendadas........................................................................................... 15
4.1
Modeling the Motion of a Hot, Turbulent Gas. Foster & Metaxas ................ 15
4.1.1
Introduccin............................................................................................ 15
4.1.2
Conveccin y arrastre ............................................................................. 16
4.1.3
Flotabilidad trmica................................................................................ 16
4.1.4
Resultados............................................................................................... 17
4.2
Stable Fluids. Stam ......................................................................................... 18
4.2.1
Introduccin............................................................................................ 18
4.2.2
Ecuaciones bsicas de Navier-Stokes..................................................... 19
4.2.3
Mtodo de resolucin ............................................................................. 20
4.2.4
Resultados............................................................................................... 22
4.3
Visual Simulation of Smoke. Fedkiw, Stam and Jensen ................................ 23
4.3.1
Introduccin............................................................................................ 23
4.3.2
Ecuaciones del fluido.............................................................................. 24
4.3.3
Resultados............................................................................................... 25
4.4
Curl-Noise for Procedural Fluid Flow. Bridson ............................................. 27
4.4.1
Introduccin............................................................................................ 27
4.4.2
Rotacional............................................................................................... 27
4.4.3
Ruido de Perlin ....................................................................................... 27
4.4.4
Contorno ................................................................................................. 28
4.4.5
Resultados............................................................................................... 28
Bibliografa............................................................................................................. 29

1 Introduccin
1.1 Qu es la dinmica de fluidos?
La dinmica de fluidos es una rama de la fsica relativamente reciente (comienzos del
siglo XX), aunque los conceptos en los que se basa se remontan a la antigua Grecia, a
los trabajos tericos de Leonardo Da Vinci, y posteriormente al trabajo de un gran
nmero de fsicos como Torricelli, Euler, Bernoulli, etc.

Fig. 1 Dibujos de Leonardo Da Vinci

La dinmica de fluidos estudia los movimientos de los fluidos (gases y lquidos), debido
a la accin de fuerzas, o a su interaccin con otros medios y con el contorno que los
delimita.
En realidad la dinmica de fluidos forma parte de un campo ms amplio denominado
mecnica de fluidos, del cual derivan tanto la esttica de fluidos (estudia los fluidos en
reposo), como la dinmica de fluidos (estudia los fluidos en movimiento).
En la actualidad, la mecnica de fluidos es una parte esencial de muchas reas de la
tecnologa y la ciencia actual, destacando su papel en el diseo de toda clase de
vehculos (aviones, barcos, coches, etc), estudios del flujo de aire atmosfrico, medicina
y biologa (flujo de sangre y otros fluidos), ingeniera industrial, etc, etc.

1.2 Qu es la dinmica de fluidos computacional?


En la actualidad en muchos campos es imposible recurrir a soluciones analticas debido
a la tremenda complejidad de los sistemas que estudia la dinmica de fluidos, por lo que
se recurre a soluciones numricas que pueden ser computadas por ordenadores.
Surge as una rama de la dinmica de fluidos denominada dinmica de fluidos
computacional, o CFD, que se basa en aproximaciones numricas de las ecuaciones
fsicas empleadas en la dinmica de fluidos.

1.3 Aplicaciones de la CFD


Aparte de las numerosas aplicaciones ya mencionadas, conviene destacar los dos
enfoques utilizados concretamente en la dinmica de fluidos computacional, y que dan
lugar al desarrollo de tcnicas muy diferentes en funcin de los objetivos buscados.
Estos dos enfoques de los que hablamos se podran denominar: grficos y simulacin.
La CFD aplicada a grficos
Es muy interesante modelar fluidos de aspecto realista en multitud de aplicaciones,
destacando los juegos de ordenador, el cine, o incluso la creacin de texturas y efectos
visuales para programas de dibujo y retoque fotogrfico.
En estas aplicaciones se busca un modelo que estticamente d buenos resultados, no
siendo necesario que el comportamiento del modelo se ajuste exactamente al
comportamiento de un fluido real.
Si bien en el cine no es un requisito, en el caso de los juegos s que es necesario el
tiempo real, por lo que estas tcnicas, adems de plausibles, muchas veces tienen que
ser rpidas y eficientes.
La CFD aplicada a simulacin
A veces no nos basta con un modelo que parezca comportarse como un fluido, sino
que necesitamos conocer de forma muy exacta cmo se comporta un fluido realmente.
Los modelos de CFD que se utilicen en cualquier campo de la ingeniera deben ser muy
estrictos con la precisin del modelo, procurando que ste se asemeje lo mximo
posible al comportamiento real del fluido.
Siempre que se habla de mtodos numricos, como los utilizados en CFD, estamos
hablando de aproximacin, por lo que muchas veces ser imposible garantizar que el
modelo es exacto, y todos los esfuerzos se deben centrar en acotar el error y hacer los
modelos tan precisos como sea posible.
Esto da lugar a que estas tcnicas generalmente no sean en tiempo real, ya que tampoco
es un objetivo importante en esta clase de aplicaciones

2 Principios Bsicos de la Dinmica de Fluidos


2.1 Concepto de Fluido
Para determinar si un cuerpo es o no un fluido no debemos fijarnos en su composicin,
sino ms bien en su comportamiento.
Un fluido es un cuerpo que carece de elasticidad de forma, es decir, que no tiene forma
propia y por tanto se adapta a la forma del recipiente que lo contiene.
Adems, un fluido se deforma de forma continua ante la aplicacin de un esfuerzo
cortante (a diferencia de los slidos, no tienen ninguna resistencia a este tipo de
fuerzas).
Comparndolos con los slidos, podemos decir que las molculas de los slidos estn
fuertemente unidas entre s, mientras que en los lquidos pueden moverse libremente y
separarse sin ofrecer apenas resistencia. Un slido, ante la aplicacin de una fuerza
cortante, no se deforma de manera continua, sino mediante una deformacin o
desplazamiento definido.

2.2 Fluidos ideales


Estudiar de forma precisa todas las variables que intervienen en un fluido real puede ser
extremadamente complejo. Por este motivo, es necesario partir de una serie de hiptesis
y simplificaciones que hacen posible el estudio de estos sistemas, obviando los factores
menos importantes o prcticamente inapreciables.
Por tanto, muchas veces no se estudian los fluidos reales, sino los llamados fluidos
ideales. Estos bsicamente se diferencian de los fluidos reales en que se desprecia el
efecto de las fuerzas viscosas.
En otras palabras, en los fluidos ideales se considera que no existe friccin interna entre
las partculas del fluido.

2.3 Hiptesis del medio continuo


Adems de considerar los fluidos ideales, uno de los cimientos de la dinmica de fluidos
es la hiptesis del medio continuo, que consiste en asumir que el fluido es continuo a lo
largo de todo el volumen que ocupa. Esto simplifica mucho el problema, ya que se
puede asumir que todas las magnitudes del fluido que queremos estudiar van a regirse
siempre por funciones continuas.
Esta hiptesis, al igual que la de los fluidos ideales, no siempre es aplicable,
dependiendo en este caso de una magnitud medible denominada nmero de Knudsen.
Cuando esta hiptesis no es aplicable, es necesario recurrir a la mecnica estadstica en
lugar de a la mecnica de fluidos.

2.4 Tipos de fluidos


Existen muchas formas de clasificar los fluidos, de las cuales mencionamos las ms
importantes.
Gases - Lquidos
Existen dos tipos fundamentales de fluidos, que son los lquidos y los gases.
Los lquidos se caracterizan por poseer fuerzas de cohesin entre sus molculas, que
provocan una fuerte tendencia a que el fluido mantenga su volumen constante.
Por el contrario, los gases apenas poseen fuerzas de cohesin, por lo que se pueden
expandir tratando de ocupar el mximo volumen.

Fig. 2 Gracias a las fuerzas de cohesin, podemos leer este mensaje.

Compresibles No Compresibles
Todos los fluidos son compresibles en mayor o menor medida, por lo que en realidad
cuando hablamos de fluidos no compresibles nos referimos a fluidos en los que esta
propiedad es despreciable.
Un fluido es ms compresible cuanto mayor es el cambio que sufre en su densidad al
aplicarle una presin externa. Por tanto, los gases son fluidos muy compresibles,
mientras que los lquidos en general se suelen considerar no compresibles.
Newtonianos No newtonianos
Un fluido newtoniano es aquel en el que su viscosidad no vara en funcin de la tensin
que se le aplica. Por tanto, su viscosidad es un valor constante.
En los fluidos no newtonianos, la viscosidad no es constante, por lo que podramos
decir que en cierto modo se comportan como slidos cuando se les aplica una presin, y

como lquidos cuanto menor es la presin (o bien al contrario, como ocurre con los
fluidos no newtonianos tixotrpicos).

2.5 Propiedades de los fluidos


Aunque algunas ya se han mencionado, enumeramos aqu las principales propiedades de
los fluidos.
Viscosidad
La viscosidad es la oposicin de un fluido a las deformaciones tangenciales. Si
consideramos que el fluido est constituido por una serie de capas, la viscosidad
representara el rozamiento entre las diferentes capas cuando se les aplica una fuerza.
Los gases presentan muy poca viscosidad, mientras que los slidos representan el caso
contrario de mxima viscosidad.
Conveccin
La conveccin tiene una importancia fundamental en la meteorologa de nuestro
planeta, ya que es el fenmeno por el cual se mueven las capas de aire que tienen
diferentes temperaturas. El aire caliente es menos denso que el fro, por lo que tiende a
ascender. Este movimiento provoca una transferencia de calor hacia las capas altas de la
atmsfera, que es en s lo que llamamos conveccin.
Adveccin
La adveccin es el fenmeno de transporte de una magnitud escalar cualquiera a lo
largo de un fluido. Esta magnitud podra ser por ejemplo el calor, por lo que es en
realidad un trmino ms general que el de la conveccin.
Difusin
Se llama difusin a cualquier proceso fsico por el cual se transfieren partculas de un
medio a otro. El ejemplo ms tpico de difusin es la smosis.
Flujo laminar
Existen bsicamente dos formas en las que se puede mover un fluido: siguiendo un flujo
laminar, o un flujo turbulento.
El flujo laminar es el ms ordenado, ya que el fluido se mueve nicamente en el sentido
de la corriente. Un fluido que sigue un flujo laminar es relativamente fcil de estudiar.
Para determinar cundo un fluido seguir un flujo laminar o un flujo turbulento, se
utiliza el nmero de Reynolds, que es una magnitud adimensional que relaciona los
trminos convectivos y viscosos de las ecuaciones de Navier-Stokes (que veremos ms
adelante).

Flujo turbulento
Un fluido que sigue un flujo turbulento es en la actualidad imposible de estudiar de
forma precisa, por lo que su comportamiento es aparentemente catico.
Los flujos turbulentos se caracterizan por la aparicin de remolinos.

Fig. 3 El humo del cigarrillo empieza a ascender siguiendo un flujo laminar, pero al cabo de un
tiempo el flujo se convierte en turbulento.

2.6 Estudio del comportamiento de los fluidos


El estudio de los fluidos consiste en conocer las velocidades, presiones y fuerzas
internas de las partculas que forman el fluido, en funcin de las fuerzas externas que se
aplican sobre el fluido, y del contacto con otros medios (por ejemplo, el recipiente que
contiene el fluido).
Cuando hablamos de contacto con otros medios, destaca la interaccin entre el fluido y
un slido, teniendo en cuenta que el slido se puede encontrar esttico o en movimiento,
y que adems, en el caso ms complejo, el slido podra ser deformable. Este ltimo
caso podra dar lugar a una variacin del volumen disponible para el fluido, lo cual en
algunos casos (como en los gases) podra obligarnos a tener que estudiar tambin las
variaciones de densidad del fluido.
En cualquier caso, el estudio de la dinmica del fluido puede hacerse bien de forma
analtica o de forma numrica, siendo este ltimo caso el que nos interesa desde el punto
de vista de la informtica grfica.

Enfoque Lagrangiano o Euleriano?


Si queremos conocer los movimientos de las partculas del fluido podemos abordar el
problema desde dos enfoques totalmente diferentes.
La primera idea sera estudiar el movimiento de cada partcula en concreto, siguiendo su
recorrido segn se desplaza por el fluido. Este sera el enfoque lagrangiano.
La segunda idea sera fijarnos en un punto concreto del espacio que abarca el fluido, y
estudiar los movimientos que se producen debido a las partculas que atraviesan ese
punto fijo. Este sera el enfoque euleriano.

Fig. 4 En el enfoque Lagrangiano (izquierda) los componentes de nuestra discretizacin son las
propias partculas del fluido. En el enfoque Euleriano (derecha) discretizamos el volumen que
ocupa el fluido, y cada punto por el que pasen las partculas ser un elemento discreto.

Hay un smil que ayuda a aclarar estos conceptos, imaginando que en lugar de estudiar
las partculas de un fluido estuvieramos estudiando una multitud de personas.
En este smil, el enfoque lagrangiano consistira en escoger a un individuo concreto y
seguir todos sus pasos segn camina por la calle. En cambio, el enfoque euleriano
consistira en fijarnos en un punto concreto de la calle, como la puerta de un bar, y
estudiar a cada persona que entra y sale del bar.
En cualquier caso, ambos enfoques se basan en una discretizacin (ya sea del espacio, o
de la propia materia del fluido), y el estudio debe realizarse sobre cada uno de los
elementos obtenidos en la discretizacin.

Ecuaciones de Navier-Stokes
Las ecuaciones de Navier-Stokes son un conjunto de ecuaciones que definen el
comportamiento dinmico de un fluido. Derivan de aplicar los principios de
conservacin de la mecnica y de la termodinmica al fluido, de donde se obtiene una
formulacin integral que generalmente se suele transformar en una formulacin
diferencial ms prctica.
Existen diferentes formulaciones para estas ecuaciones, en funcin del problema que se
desea resolver. A modo de ejemplo, mostramos la ecuacin de movimiento de un fluido
incompresible y con densidad uniforme:

En el lado izquierdo de la ecuacin tenemos el movimiento (variacin del


desplazamiento en el tiempo), y en el derecho los siguientes trminos:
F: Fuerzas aplicadas al fluido.
p: presin en el fluido.
: densidad del fluido.
v: viscosidad del fluido.
u: desplazamiento
Es importante recordar el significado del operador Nabla:

Y del operador Laplaciano:

En este caso, el operador Nabla se utiliza para el clculo del gradiente de presin, lo
cual no se debe confundir con la divergencia (si hubiera un smbolo de producto escalar
entre el operador y la presin), o con el rotacional (si hubiera un smbolo de producto
vectorial entre el operador y la presin).
Ecuaciones de Euler
A pesar de que estas ecuaciones son un caso especfico de las ecuaciones de NavierStokes, en realidad fueron enunciadas con anterioridad. De hecho, Claude-Lous Navier
parti de las ecuaciones de Euler para obtener una generalizacin de las mismas que,
posteriormente justific George Stokes para dar lugar a las llamadas ecuaciones de
Navier-Stokes.
Las ecuaciones de Euler definen el movimiento de un fluido en el caso especial de
fluidos compresibles y no viscosos.

Principio de Bernoulli
Este teorema es de gran importancia en el estudio de la dinmica de fluidos, ya que nos
proporciona una relacin entre la presin y la velocidad dentro del fluido. Estrictamente
hablando, este principio slo se cumple en fluidos ideales (no compresibles), pero en la
prctica se aplica en el diseo de superficies aerodinmicas (alas, hlices, etc).
Sin entrar en frmulas, la idea bsica del teorema de Bernoulli es que la presin en un
fluido con flujo uniforme, disminuye cuando aumenta la velocidad. Esto es
consecuencia de que la energa total del fluido permanece constante.

Fig. 5 Gracias al principio de Bernoulli, el efecto del viento sobre la vela produce una diferencia
de presin que absorbe al windsurfista hacia la zona de baja presin a gran velocidad.

3 Principios de la Simulacin de Fluidos


Existen diferentes alternativas a la hora de simular un fluido. La opcin que escojamos
depender de los requisitos de nuestra aplicacin, teniendo que decidir en primer lugar
si queremos enfocar nuestra simulacin a una aplicacin grfica (juegos, cine), o a una
simulacin fsica (ingeniera, prediccin de catstrofes).
Cuando nos basta con que nuestra simulacin parezca un fluido (en una aplicacin
orientada a grficos), muchas veces es preferible olvidarnos de la compleja formulacin
de la dinmica de fluidos, y recurrir a tcnicas procedurales ms sencillas, ms
eficientes, y que permiten un mayor control de la simulacin. Esto ltimo es importante,
ya que hay que tener en cuenta que en una simulacin nicamente gobernada por leyes
fsicas, es difcil predecir y controlar el resultado de la simulacin.
A pesar de estos inconvenientes, la simulacin fsica es en muchos casos la nica
alternativa, por lo que en este punto nos vamos a centrar nicamente en explicar los
principios bsicos de la simulacin fsica.
Objetivos de la simulacin fsica
Los mtodos de simulacin fsica nos proporcionan una herramienta para poder
implementar en un computador simulaciones de fenmenos fsicos regidos por
ecuaciones bien conocidas. En el fondo, estos mtodos no son ms que tcnicas para
implementar en un programa de ordenador un sistema de ecuaciones diferenciales, que
son las ms habituales en la fsica. Nos permiten obtener aproximaciones numricas en
lugar de tener que desarrollar soluciones analticas y, lo que tambin es muy importante,
nos permiten integrar esta solucin en el tiempo, pudiendo obtener una secuencia
temporal del estado de las variables que rigen el sistema.
En el caso concreto de la simulacin fsica de fluidos, normalmente trataremos de
implementar las ecuaciones de Navier-Stokes y, por tanto, nuestro objetivo ser
determinar las velocidades y presiones del fluido y su variacin a lo largo del tiempo.
Caractersticas deseables en una simulacin fsica
No todos los mtodos son igual de vlidos, y habr que escoger en cada caso el que ms
se adecue a los requisitos de nuestro sistema. En general, estos son los factores que
debemos tener en cuenta:
Eficiencia: en muchos casos nos interesa que el mtodo sea lo ms rpido posible, para
poder generar animaciones en tiempo real (por ejemplo, para un juego). La eficiencia
est reida con otros factores, como la precisin y la estabilidad.
Estabilidad: no todos los mtodos pueden garantizar la estabilidad de la simulacin.
Cuando una simulacin se vuelve inestable, el resultado de la simulacin diverge,
perdiendo por completo el sentido de la simulacin, al alejarse totalmente de los
resultados esperados. Un sistema inestable provocar efectos impredecibles, como
objetos que estallan sbitamente, o que adquieren unas dimensiones absurdas.

Precisin: los mtodos numricos implican siempre aproximaciones, por lo que en la


mayora de los casos no podemos asegurar que nuestra solucin sea exacta. La
desviacin entre los valores que se desean obtener y los que se obtienen realmente se
denomina disipacin numrica, y en muchas aplicaciones es un objetivo prioritario
minimizarla en la medida de lo posible.
Control: si dejas a una simulacin fsica correr sin ms, es difcil predecir su
comportamiento. Hay aplicaciones en las que nos puede interesar dirigir de alguna
manera la simulacin para producir un efecto visual concreto. En estos casos, es posible
que tengamos que introducir otros factores que complementen la simulacin fsica para
aumentar el control del usuario.
Mtodos de integracin
Los mtodos de integracin son herramientas que utilizamos para obtener la secuencia
temporal de las magnitudes que queremos calcular para nuestra simulacin. En general,
son mtodos que a partir del ltimo valor calculado nos permiten obtener un nuevo
valor, generando as una progresin en el tiempo.
Existen multitud de mtodos, de los cuales nombramos muy brevemente los ms
importantes.
Euler explcito: Es posiblemente el mtodo ms intuitivo, y del cual en cierto modo
derivan los dems, pero no es ni mucho menos el ms adecuado para la mayora de
aplicaciones. Se basa en el desarrollo de Taylor hasta cierto grado (normalmente lineal,
o cuadrtico a lo sumo). Por tanto, el nuevo valor que queremos obtener f(t+t) se
calcular en funcin de f(t) y de su derivada f(t):
f(t+t) = f(t) + f(t) t
Existe una variante de este mtodo denominada leapfrog que mejora la estabilidad con
slo cambiar de orden la secuencia de clculos que realiza internamente el mtodo.
Euler implcito: El mtodo anterior requiere que t sea muy pequeo para evitar que
los valores diverjan, lo que tiene como consecuencia que el mtodo sea muy lento y
propenso a ser inestable. Es fcil solucionar este problema utilizando la derivada del
instante siguiente en lugar de la del instante anterior:
f(t+t) = f(t) + f(t+t) t
Pero esta nueva formulacin aparentemente sencilla, introduce una complejidad
considerablemente mayor, ya que al final lo que obtenemos es un sistema de ecuaciones
que puede ser no lineal, y que por tanto requiere aplicar mtodos numricos de
resolucin de sistemas no lineales que son costosos y complejos (por ejemplo, el
mtodo de Newton-Rhapson).
Runge-Kutta: Los mtodos de Runge-Kutta utilizan varias muestras de la funcin,
obtenindose diferentes variantes segn el nmero de muestras que se utilice. El mtodo
de Runge-Kutta 4 ofrece un buen compromiso entre estabilidad, eficiencia, y disipacin
numrica.

Mtodos de discretizacin
Un computador no puede trabajar con funciones continuas, por lo que siempre ser
necesario algn mtodo para discretizar el dominio sobre el que queremos trabajar.
Entre los mtodos de discretizacin ms habituales destacan el mtodo de elementos
finitos, y el mtodo de diferencias finitas.

4 Lecturas recomendadas
4.1 Modeling the Motion of a Hot, Turbulent Gas. Foster &
Metaxas
4.1.1 Introduccin
El movimiento turbulento del humo o del vapor ha sido siempre un desafo para los
investigadores en grficos. El problema consiste en modelar el comportamiento
rotacional de un gas, que se plantea como la mezcla de gases a distintas temperaturas y
su interaccin con otros objetos.
El modelo desarrollado, basado en fsica, ha sido diseado especialmente para animar
de manera relista el complejo componente rotacional del movimiento de un gas, as
como los efectos debidos a regiones con distinta temperatura dentro del gas, y la
interaccin de los gases con otros objetos.
Modela el movimiento turbulento rotacional que ocurre cuando un gas caliente
interacta con objetos slidos y con el medio que los rodea. Por tanto, el modelo es til
para escenas que incluyen remolinos de vapor, humo que forma ondas y rfagas de
viento, as como movimiento de gas debido a un ventilador o a la conveccin trmica.
El mtodo utilizado combina eficiencia computacional junto con facilidad de uso para el
animador. Para ello, han propuesto unas formas especializadas de las frmulas del
movimiento de un gas caliente, junto con un mtodo eficiente para resolver ecuaciones
diferenciales en tres dimensiones.
La mejor forma de obtener realismo sera modelar los efectos debidos movimiento de
un lquido o un gas teniendo en cuenta las leyes fsicas, pero los mtodos necesarios
para ello son computacionalmente ineficientes, adems de ser mtodos adaptados a
mecnica de fluidos computacional, ms que a grficos por ordenador.
El modelo tiene en cuenta conveccin, turbulencia, vorticidad y flotabilidad trmica, y
es capaz de modelar con precisin las fluctuaciones de un gas alrededor de objetos
complejos.
Para comprender el movimiento de un gas caliente, hay que comprender los factores
implicados en l:
-

Un factor clave es el campo velocidad, ya que un gas caliente se mezcla con el


aire ms lento en movimiento, se produce un arrastre del vapor y empieza a rotar
en algunas partes del mismo, lo que causa que se mezcle ms con el aire,
provocando as las turbulencias o remolinos que se pueden observar cuando dos
gases se mezclan

Otro factor importante es la temperatura, ya que las partes ms calientes de un


gas suben ms rpidamente que las regiones mezcladas con el aire fro. Como el

gas sube, se producen todava ms rotaciones turbulentas. Este efecto se conoce


como flotabilidad trmica (thermal buoyancy)
Un volumen de gas se representa como una combinacin de:
-

Un campo escalar de temperatura

Un campo escalar de presin

Un campo vectorial de velocidad

Un problema importante es que el modelo usa un esquema de integracin explcita, por


lo que las simulaciones son estables slo si el paso de integracin es suficientemente
pequeo. De lo contrario, el mtodo se vuelve inestable. Escoger un paso de integracin
pequeo hace que las simulaciones sean relativamente lentas, especialmente cuando el
fluido se desplaza a gran velocidad en cualquier parte del dominio.

4.1.2 Conveccin y arrastre


La forma reducida de las ecuaciones de Navier-Stokes que se ha utilizado es:
u
= (u ) (u )u p
t
donde:
es el operador gradiente
es la velocidad del gas
es el operador producto escalar
p es la presin del gas
es la viscosidad cinemtica
Esta ecuacin modela cmo la velocidad de un gas cambia en el tiempo dependiendo de
los siguientes trminos:

la conveccin (( ) )
el gradiente de la presin (p)
el arrastre ( ( ))

En definitiva, esta ecuacin modela la velocidad rotacional y de conveccin en el gas.

4.1.3 Flotabilidad trmica


Las fuerzas debidas a la flotabilidad trmica tambin inducen movimiento en un gas. Si
un elemento gaseoso caliente est rodeado por elementos ms fros, entonces el gas
tiene a subir. Para modelar este efecto, se ha definido la fuerza de flotabilidad en un gas:
Fbv = g v (T0 Tk )

donde:

gv es la fuerza de la gravedad en la direccin vertical

es el coeficiente de expansin trmica

T0 es una referencia inicial de temperatura, por ejemplo, 28 C

Tk es la temperatura media en la frontera entre una clula gaseosa y la clula


superior, la que est justo encima de sta

Por tanto, se aade este nuevo trmino, resultando la siguiente ecuacin:


u
= (u ) (u )u p + Fbv
t

4.1.4 Resultados
A continuacin, se presentan dos ejemplos de funcionamiento del mtodo. En el
primero de ellos, se simula vapor procedente de tres boquillas que se junta en el centro
de la escena y sube hacia arriba, como se puede observar en la secuencia de imgenes:

Fig. 6 Vapor procedente de las tres boquillas, que converge causando verticidad y turbulencia

En el segundo ejemplo, se simula la salida de humo de una chimenea y cmo se propaga


por el aire, teniendo en cuenta rfagas de viento en el exterior:

Fig. 7 Humo turbulento saliendo de una chimenea hacia la luz, con rfagas de viento

4.2 Stable Fluids. Stam


4.2.1 Introduccin
Para ayudarse a construir modelos para simular el flujo de fluidos a menudo se utilizan
modelos basados en fsica. Estos modelos fsicos permiten al animador crear, casi sin
esfuerzo, interesantes comportamientos como remolinos dentro de los fluidos. Adems,
la interaccin del flujo con los objetos y con fuerzas virtuales se maneja elegantemente.
Tradicionalmente, los modelos fsicos eran demasiado costosos como para implementar
aplicaciones en tiempo real basadas en dichos modelos. Esto era debido al hecho de que
los modelos tradicionales usaban esquemas inestables para resolver las ecuaciones
fsicas que controlan el fluido.
Para modelar el comportamiento de fluidos, como humo, agua o fuego, se usan tcnicas
de mecnica de fluidos como marco de trabajo matemtico en el que se basan las
correspondientes simulaciones. Existe un consenso entre los cientficos basado en que
las ecuaciones de Navier-Stokes son un buen modelo para representar el flujo de los
fluidos. En el campo de grficos por ordenador, a diferencia del campo de mecnica de
fluidos, es de vital importancia el aspecto visual del fluido, mientras que la precisin
fsica pasa a un segundo plano, llegando a ser en algunos casos irrelevante.
El modelo propuesto es, por primera vez, un modelo estable incondicionalmente que es
capaz de producir flujos complejos que simulan fluidos. Este modelo es fcil de
implementar y su estabilidad permite escoger pasos de tiempo grandes, a diferencia de
los modelos de integracin explcita, con lo que se consiguen simulaciones ms rpidas.
Adems, permite interactuar en tiempo real con fluidos en tres dimensiones.
Para llegar a conseguir esta interaccin, se han usado pasos de integracin grandes. Se
parte del mtodo de solucin de Foster y Metazas pero, en lugar de usar su integrador
Euleriano explcito, se usan mtodos implcitos y lagrangianos para resolver las
ecuaciones de Navier-Stokes. Este mtodo ha sido realizado especialmente para
aplicaciones de grficos por ordenador, no siendo vlido para aplicaciones de
ingeniera, puesto que no es suficientemente preciso para ello. Puesto que usa un
integrador de primer orden, las simulaciones sufren demasiado la disipacin numrica.
An as, se pueden realizar bonitos flujos de remolinos, a pesar de la disipacin.
En una aplicacin de grficos por ordenador proporciona buenos resultados,
especialmente cuando el animador mantiene el flujo vivo, aplicando fuerzas externas.
Se emplea el mtodo para actualizar tanto el flujo como el movimiento de las
densidades dentro de ste. Se incrementa la complejidad de las animaciones usando
coordenadas de texturas a lo largo del flujo, junto con la densidad, con el objetivo de
sintetizar flujos de gases altamente detallados usando rejillas de baja resolucin.

4.2.2 Ecuaciones bsicas de Navier-Stokes


Un fluido cuya densidad y temperatura es ms o menos constante se puede describir
mediante un campo de velocidad () y un campo de presin (p). Dado que la velocidad
y la presin son conocidas en un tiempo inicial t = 0, su evolucin durante el tiempo
viene expresada por las siguientes ecuaciones de Navier-Stokes:
u = 0
u
1
= (u )u p + 2 u + f

t
donde:
es el operador gradiente
=(u,v,w) es la velocidad del humo
es el operador producto escalar
() es la divergencia de la velocidad que, al hacerla igual a cero, quiere decir
que no es divergente, es decir, que converge
2 es el operador laplaciano (el cuadrado del gradiente)
p es la presin del humo
f son las fuerzas externas
es la densidad del fluido
es la viscosidad cinemtica
Al igual que ocurre en el mtodo de Foster y Metazas, esta ecuacin modela cmo la
velocidad de un gas cambia en el tiempo dependiendo de los siguientes trminos:

la conveccin (( ) )
el gradiente de la presin (p)
el arrastre ( ( )), donde: ( ) = 2

Estas ecuaciones de Navier-Stokes se han obtenido imponiendo el principio de


conservacin de la masa (primera ecuacin) y del momento (segunda ecuacin). Estas
ecuaciones se tienen que complementar con condiciones de contorno.
Se han tenido en cuenta dos tipos de condiciones de contorno: condiciones de contorno
peridicas y condiciones de contorno fijas. En el caso de condiciones de contorno
peridicas, el fluido se define contenido en un toro n-dimensional, en el que fluye en su
interior. En el caso de condiciones de contorno fijas, se considera que el fluido
permanece en un dominio acotado D. En general, las condiciones de contorno deben ser
aquellas en las que la componente normal de velocidad del fluido sea cero en el
contorno o frontera y que, en ningn caso, se atraviesen las paredes del contorno.
Utilizando el resultado matemtico, conocido como descomposicin de HelmholtzHodge, que dice que cualquier campo vectorial se puede descomponer en la forma:
w = u + q

siendo q un campo escalar. Cualquier campo vectorial es la suma del campo de


conservacin de la masa y el campo gradiente, por lo que se define el operador P, que
proyecta el campo vectorial w en su componente con divergencia cero:
w = u + (q ) = 2 q
Una solucin de esta ecuacin se usa para calcular la proyeccin :
u = P w = w q
Aplicando este operador a ambos lados de la ecuacin, se obtiene la ecuacin de la
velocidad usada en este modelo:
u
= P ((u )u + 2 u + f )
t
Usando el hecho de que P = , y que Pp = 0.

4.2.3 Mtodo de resolucin


La ecuacin anterior se resuelve a partir de un estado inicial 0 = (x,0) a travs del
tiempo, usando un paso de tiempo t. Suponiendo que tenemos el valor del campo
velocidad en el instante t y queremos obtener su valor en el siguiente instante de tiempo,
es decir, t + t, se resuelve la ecuacin anterior en cuatro pasos:
aadir
fuerza

difusin
( vis cos idad )

proyeccin
w0 ( x) w1 ( x)
w2 ( x)
w3 ( x)
w4 ( x)
adveccin

El procedimiento general se puede observar en la siguiente figura:

Fig. 8 Los primeros tres pasos pueden llevar el campo fuera del espacio de campos sin
divergencia. El cuarto paso asegura que el campo no diverge al final de cada paso de simulacin

La solucin en el instante t + t viene dada por el ltimo campo vectorial de velocidad:


(x, t + t) = w4(x). La simulacin se obtiene iterando estos pasos.

Para calcular el primer trmino, la adicin de una fuerza externa f, que se asume que no
vara considerablemente en dicho instante de tiempo, se procede de la siguiente manera:
w1 ( x)= w0 ( x) + tf ( x, t )
El siguiente paso tiene en cuenta los efectos de la adveccin o conveccin (efecto por el
que las partculas se mueven, debido a la propagacin de la velocidad en un instante
anterior, aunque la velocidad actual sea cero).
Una perturbacin en cualquier parte del fluido se propaga de acuerdo con la expresin:
( ) , que hace que la ecuacin de Navier-Stokes sea no lineal. Foster y Metaxas
han resuelto esto utilizando el mtodo de diferencias finitas, que slo es estable si t es
suficientemente pequeo. En este caso, se ha utilizado otra aproximacin que hace el
mtodo estable incondicionalmente, basado en una tcnica para resolver ecuaciones
diferenciales parciales, conocida como mtodo de caractersticas.
En cada paso de tiempo, todas las partculas del fluido se mueven con la velocidad del
fluido en s. Para obtener la velocidad de un punto x en el instante de tiempo t + t, se
mira la trayectoria anterior del punto x, a travs del campo de velocidad w1 durante un
tiempo t. Esto define un camino p(x,s), que se corresponde con una lnea de flujo
parcial del campo de velocidad:

Fig. 9 Se traza cada punto del campo hacia atrs en el tiempo. La nueva velocidad en el punto x es
la velocidad que la partcula tena en un tiempo t anterior, en su antigua posicin p(x,- t)

Por lo que la nueva velocidad en el punto x se fija con el valor de la velocidad que tena
la partcula que ahora est en x, en su posicin anterior, en un tiempo t anterior:

w2 ( x)= w1 ( p ( x,t ))
El tercer paso resuelve el efecto de la viscosidad y es equivalente a una ecuacin de
difusin:
w2
= 2 w2
t

resolvindolo mediante un mtodo implcito:

( I t 2 ) w3 ( x) = w2 ( x)

Finalmente, el cuarto paso de proyeccin, hace que el resultado no sea divergente,


resolviendo para ello la ecuacin 2q = w3:
w4 = w3 q
Este paso de proyeccin requiere un buen mtodo de resolucin de la ecuacin de
Poisson, como por ejemplo, mtodos multimalla, ya que la ecuacin de Poisson, cuando
se discretiza espacialmente, se convierte en un sistema lineal disperso. Por tanto, y
debido a que los pasos de viscosidad y de proyeccin requieren resolver grandes
sistemas de ecuaciones dispersos, mediante mtodos multimalla se pueden resolver
sistemas lineales dispersos en un tiempo lineal.

4.2.4 Resultados
A continuacin, se presentan dos ejemplos de funcionamiento del mtodo. En ambos
ejemplos, se permite al animador colocar densidades y aplicar fuerzas en tiempo real.
En el primero de ellos, se simula un gas usando mapas de texturas fractales:

Fig. 10 Simulacin de gases usando mapas de texturas fractales

En el segundo ejemplo, se simula un gas y cmo se propaga, usando para ello un mapa
de texturas de lneas equiespaciadas:

Fig. 11 Simulacin de gases usando un mapa de texturas de lneas equiespaciadas

4.3 Visual Simulation of Smoke. Fedkiw, Stam and Jensen


4.3.1 Introduccin
El hecho de modelar fenmenos naturales, como humo o gases, es altamente
complicado, debido a la complejidad de su movimiento y su turbulencia. La importancia
de modelar correctamente este comportamiento reside en las aplicaciones de dichos
fenmenos, como pueden ser los efectos especiales en las pelculas o en videojuegos
interactivos. Ms all de estas aplicaciones, tambin tienen inters para ingeniera, ms
concretamente en el campo de dinmica de fluidos computacional (CFD en ingls).
El modelo propuesto consiste en utilizar una simulacin numrica del humo, basada en
las ecuaciones de Euler, para aplicaciones de grficos por ordenador. El motivo de usar
estas ecuaciones es porque suele ser ms apropiado para modelar gases y tiene un menor
coste computacional, en comparacin con las ecuaciones que describen fluidos de
Navier-Stokes. Adems, se ha usado un trmino de vorticidad, para modelar la rotacin
caracterstica del humo. Tambin, es capaz de manejar fronteras en el dominio
computacional, por lo que puede tratar la interaccin del humo con objetos en
movimiento, as como remolinos de humo. El modelo es estable, eficiente y preciso, es
decir, no sufre una excesiva disipacin numrica.
Se han adaptado tcnicas de dinmica de fluidos especficas para la animacin de gases
como el humo. La principal contribucin reside en el mtodo utilizado para reducir la
disipacin numrica, inherente en los esquemas semi-lagrangianos. Esto se ha
conseguido mediante la utilizacin de la tcnica de dinmica de fluidos conocida como
confinamiento de vorticidad. Esta tcnica se basa en inyectar en el fluido la energa
perdida debido a la disipacin numrica, forzando esto mediante un trmino aadido.
Con esto, se consigue aumentar la verticidad del flujo, lo que visualmente se traduce en
conservar el humo vivo segn pasa el tiempo.
Al aadir esta fuerza inyectada, no se incrementa en exceso la carga computacional del
mtodo y, adems, es consistente con las ecuaciones de Euler utilizadas debido a que
desaparece en la medida en la que se incrementa el nmero de celdas. Al tener
solamente una pequea sobrecarga debido a esto, las simulaciones son casi tan rpidas
como aquellas obtenidas a partir del algoritmo bsico de fluidos estables.
El modelo permanece estable mientras la magnitud del trmino aadido est por debajo
de un cierto umbral. Manteniendo dicha magnitud dentro de este rango, el paso de
tiempo es de rdenes de magnitud ms grandes que en mtodos explcitos.

Fig. 12 Caminos semi-lagrangianos que atraviesan la frontera de una celda

4.3.2 Ecuaciones del fluido


Se asume que los gases se pueden modelar como un fluido ideal (fluido sin viscosidad,
o inviscid fluid), incompresible (que no se puede comprimir), y con densidad constante.
Los efectos de la viscosidad se pueden obviar, debido a que la disipacin numrica
domina la viscosidad fsica y la difusin molecular.
Las ecuaciones que modelan la velocidad del humo que se han utilizado son:
u = 0
u
= (u )u p + f
t
donde:
es el operador gradiente
=(u,v,w) es la velocidad del humo
es el operador producto escalar
p es la presin del humo
f son las fuerzas externas
la densidad constante del fluido se ha fijado arbitrariamente a 1
Estas ecuaciones determinan que la velocidad debe conservar tanto la masa (primera
ecuacin), como su momento (segunda ecuacin).

Fig. 13 Discretizacin del dominio computacional en celdas iguales (izquierda). Componentes del
vector velocidad (derecha), definidos en las facetas de cada celda o vxel

Puesto que tanto la densidad () como la temperatura (T) afectan a la velocidad del
fluido, se necesitan ecuaciones para modelar la evolucin de las mismas en el tiempo.
Se asume que estas dos magnitudes escalares son transportadas (mediante la adveccin)
a lo largo de la velocidad del humo:
T
= (u )T
t

= (u )
t
Para modelar el comportamiento de que gases pesados tienden a descender, debido a la
fuerza de la gravedad, mientras que gases calientes tienden a subir, debido a la
flotabilidad (o buoyancy), se usa el siguiente modelo:
f buoy = z + (T Tamb ) z
donde:
y son dos constantes positivas con las unidades apropiadas para que la
ecuacin tenga sentido
z=(0,0,1) apunta hacia arriba en la direccin vertical
Tamb es la temperatura ambiente del aire
Cuando = 0 y T = Tamb, esta fuerza es igual a cero.

4.3.3 Resultados
A continuacin, se presentan dos ejemplos de funcionamiento del mtodo. En el
primero de ellos, se simula humo subiendo y pasando alrededor de una esfera:

Fig. 14 Humo subiendo, pasando alrededor de una esfera, y formando remolinos

En el segundo ejemplo, se puede observar la secuencia de imgenes de una simulacin


modelando el comportamiento del humo:

Fig. 15 Seis frames renderizados modelando el comportamiento del humo

4.4 Curl-Noise for Procedural Fluid Flow. Bridson


4.4.1 Introduccin
El modelo est basado en mtodos procedurales que, a menudo, se prefieren a la
simulacin fsica para animar fluidos turbulentos, debido a que ofrecen una
extremadamente sencilla aproximacin para generar eficientemente campos de
velocidad turbulenta basados en ruido de Perlin, usando una frmula que es
exactamente incompresible (necesaria para caracterizar la apariencia de los fluidos), que
adems respeta las fronteras de objetos slidos (no permitiendo a los fluidos atravesar
las superficies de dichos objetos) y cuya amplitud se puede modular en el espacio como
se desee.
El ruido de Perlin se usa frecuentemente para generar campos de velocidad aleatorios,
sin embargo, estos campos pueden contener sumideros en donde las partculas se
acumulan, ya que estos campos no tienen divergencia cero. La condicin de divergencia
igual a cero, = 0, es equivalente a decir que el fluido es incompresible o que no se
comprime, siendo una caracterstica visualmente importante en los fluidos.
Este mtodo extiende la idea de usar el rotacional del ruido de Perlin para modelar
fluidos incompresibles, manejando adems condiciones de contorno y otros efectos.
Cabe destacar el elevado control que tiene el animador con este mtodo procedural.

4.4.2 Rotacional
El mtodo usa el rotacional () de un campo potencial para las velocidades, de tal
manera que, en tres dimensiones, el potencial es un campo = (1, 2, 3), dado por:
2 1 3 2 1

u ( x, y, z ) = 3
,

z z
x x
y
y
Por definicin, el rotacional de un potencial suave tiene automticamente divergencia
cero: 0. As, el campo de velocidad se construye automticamente con
divergencia cero: = 0 siendo, por tanto, el fluido incompresible por construccin.
Por tanto, por la forma de construir del modelo, no es posible que haya sumideros.
Para evaluar las derivadas parciales, se usa una aproximacin simple de diferencias
finitas con un desplazamiento muy pequeo, en este caso, 10-4 veces ms pequeo que
el dominio, dando buenos resultados en precisin simple.

4.4.3 Ruido de Perlin


Para construir un campo de velocidad arbitrario se usa ruido de Perlin N(x) en el
potencial. En dos dimensiones = N, mientras que en tres dimensiones se necesitan

tres componentes para el potencial, que seran tres funciones de ruido aparentemente sin
correlacin (un vector N(x) con tres coordenadas servira).
Si la funcin de ruido vara en el rango [-1, 1], las derivadas parciales de la funcin
escalada N(x/L) variarn sobre la escala de longitud L con valores aproximadamente
dentro del rango O([-1/L, 1/L]). Esto significa que se esperan vrtices de dimetro
aproximadamente L y velocidades hasta de aproximadamente O(1/L). El usuario puede
usar esto para escalar la magnitud de hasta conseguir la velocidad deseada.
Por tanto, cambiando el intervalo de ruido, el usuario puede generar vrtices donde
desee, fcil e intuitivamente.
Para aadir realismo, el campo de velocidad debera variar con el tiempo. Esto se
consigue simplemente usando una funcin de ruido que vare en el tiempo.

4.4.4 Contorno
Considerando un objeto slido sin movimiento en el flujo, la condicin de contorno de
que un flujo viscoso debe satisfacer es = 0. Esto se puede conseguir simplemente
modulando el potencial a cero con un paso suave funcin de la distancia, de tal manera
que todas las derivadas parciales (y por tanto, el rotacional) del nuevo potencial son
cero en el contorno o frontera.
Una caracterstica de mayor inters en animacin es la condicin de contorno n = 0,
donde el componente normal de la velocidad en el contorno es cero, permitiendo al
fluido pasar tangencialmente, pero sin atravesar el slido.

4.4.5 Resultados
A continuacin, se presenta un ejemplo de funcionamiento del mtodo, en el que el
usuario (por medio del ratn), puede interactuar en tiempo real, produciendo vrtices en
la simulacin, obteniendo el efecto que se puede observar en la figura:

Fig. 16 Ruido de Perlin 2D incompresible con fronteras slidas

5 Bibliografa
Wikipedia:
http://es.wikipedia.org
Apuntes de Mecnica de Fluidos de la Universidad Nacional de Ingeniera de Per:
http://www.imefen.uni.edu.pe/mfluidos/1ra-clase.pdf
Apuntes de Mecnica de Fluidos de la Universidad del Pas Vasco:
http://www.sc.ehu.es/sbweb/fisica/fluidos/dinamica/bernoulli/bernouilli.htm
Monografas:
http://www.monografias.com
Apuntes de Fsica de Ciencias de la Atmsfera de la Universidad Complutense de
Madrid:
http://www.ucm.es/info/catmosf/docencia/mecanica2/fluidos_1.PDF
Apuntes de Introduccin a la Fsica Ambiental de la Universidad de Alcal:
http://www2.uah.es/ifa/documentos/resumenes/tema_5_ifa.pdf
FAQ de Mecnica de Fluidos de la Universidad de Navarra:
http://www1.ceit.es/asignaturas/Fluidos1/WEBMF/Mecanica%20de%20Fluidos%20I/F
AQMFI/FAQ3.htm
Introduccin a la Mecnica de Fluidos (Julio Gratton):
http://www.lfp.uba.ar/Julio_Gratton/fluidos/07.%20Flujosviscosos.pdf
Enciclopedia Encarta:
http://es.encarta.msn.com/encyclopedia_761560121/teorema_de_bernoulli.html
Foster, Metaxas, "Modeling the Motion of a Hot, Turbulent Gas", SIGGRAPH 1997
Stam, "Stable Fluids", SIGGRAPH 1999
Fedkiw, Stam, Jensen, "Visual Simulation of Smoke", SIGGRAPH 2001
Bridson, Hourihan, Nordenstam, "Curl-Noise for Procedural Fluid Flow", SIGGRAPH
2007
http://www.dgp.toronto.edu/people/stam/reality/Research/StableFluids/index.html
http://www.dgp.utoronto.ca/~stam/reality/Talks/FluidsTalk/FluidsTalk_files/frame.htm
http://www.multires.caltech.edu/teaching/demos/java/stablefluids.htm
http://cg.cis.upenn.edu/~fostern/
http://www.cs.virginia.edu/~gfx/Courses/2001/GfxSeminar.spring.01/

http://graphics.ucsd.edu/~henrik/
http://physbam.stanford.edu/~fedkiw/

Вам также может понравиться