Fluidos con superficie libre (líquidos)

Anuncio
Fluidos con
superficie libre (líquidos)
Animación Avanzada
Iván Alduán Íñiguez
10 de Abril de 2014
Índice
• Superficie libre
• Método de las partículas marcadoras
• Level sets
• Métodos híbridos PIC/FLIP
Superficie libre
• Cuando vemos el comportamiento de un líquido en
realidad lo que estamos viendo es el resultado de
la interacción de dos fluidos con propiedades muy
diferentes.
• A esto se le llama fluidos multifase y es más
complicado de simular que un fluido de una sola
fase.
Superficie libre
• El caso más común es aire y agua: El aire
alrededor de un líquido tiene una densidad mucho
menor que la del líquido y por ello apenas perturba
su movimiento.
• En la mayoría de casos nos será suficiente
simplemente con modelar el fluido más denso
como un fluido de una sóla fase.
• En estos casos hablamos de modelar un fluido o
líquido con superficie libre.
• ¿Posibles limitaciones?
Superficie libre
• Tarea adicional respecto a lo que ya vimos:
- Debemos de ser capaces de distinguir las celdas
ocupadas por el fluido principal y las celdas que son
aire.
- Una vez las tengamos será suficiente con simular
únicamente las celdas en las que el fluido principal
esté presente, y aplicar las condiciones de contorno
pertinentes en la superficie libre que separa el líquido
del aire.
Superficie libre
Simulación de líquidos
mediante Level set
Simulación de líquidos
mediante Particle in cell
methods PIC/FLIP
Método de las
partículas marcadoras
• Artículo:
Realistic animation of liquids [Foster 1996]
• Idea intuitiva:
- Necesitamos saber dónde se encuentra nuestro
líquido principal dentro de la rejilla: Llenamos
nuestro líquido con partículas tontas que nos
indiquen la presencia del líquido en las celdillas.
Método de las
partículas marcadoras
• Se definen tres tipos de celda:
Celdas de aire: sin marcadores
Celdas de superficie: con marcadores y celdas de aire vecinas
Celdas de fluido: con marcadores y sin celdas de aire vecinas
• Se mueven los marcadores interpolando las
velocidades del fluido en rejilla calculadas.
• Se resuelve la ecuación de Poisson para la presión
sólo en las celdas de fluido.
- La presión en las celdas de superficie se hace 0.
- Se fuerza divergencia de velocidad cero en las
celdas de superficie.
Método level set
• Artículo:
Practical animation of liquids [Foster 2001]
Animation and rendering of complex water surfaces
[Enright 2002]
• Idea intuitiva:
El fluido es una superficie arbitraria que se
desplaza en el tiempo. Utilizar toda la literatura ya
existente para el tracking de superficies implícitas
- Level set methods
Método level set
• Campo de distancias con signo:
- Cada punto de la rejilla indica la distancia mínima a la
superficie que queremos representar
- El signo indica en que lado de la superficie nos
encontramos
Método level set
• En 1988 Osher y Sethian introducen una manera
conveniente de representar multiples fluidos de
una manera puramente Euleriana (sólo rejilla).
• Llamamos φ a un campo de distancias con signo.
• La superficie del fluido es definida mediante la
isosuperficie φ = 0 del campo escalar φ .
• La convención es utilizar el signo negativo φ ≤ 0
para representar el volumen dentro del fluido y el
signo positivo φ > 0 para el dominio exterior.
Método level set
• Para hacer el tracking del fluido tratamos esta
propiedad escalar como cualquier otra propiedad
del fluido. La ecuación de advección para φ es:
∂φ  
+ (v ⋅ ∇)φ = 0
∂t
• La normal de la superficie del fluido la podemos
calcular fácilmente mediante esta representación:
n̂ = ∇φ
∇φ
Método level set
• Para realizar la advección de φ necesitaremos
conocer valores del campo de velocidades fuera del
dominio del líquido.
• Será necesario extrapolar los valores del campo
de velocidades unas celdas más allá del dominio
del fluido, utilizando los valores ya conocidos.

∇vext ⋅ ∇φ = 0
• Algoritmos:
- Fast marching methods
- Fast sweeping methods
Método level set
• Al realizar la advección φ pierde su propiedad de
campo de distancias con signo.
• Será necesario renormalizar los valores del
campo de distancias cada cierto tiempo sin
modificar la posición de la superficie φ = 0 .
∇φ = 1
• Algoritmos:
- Fast marching methods
- Fast sweeping methods
Método level set
• Ventajas:
- Método puramente euleriano para realizar el tracking.
- Resolución automática de cambios topológicos.
- El mallado del fluido es instantáneo ya que ya
tenemos la superficie implícita necesaria como entrada
para algoritmos como marching cubes.
• Desventajas:
- Cualquier error en nuestro método de advección nos
genera disipación, esto se convierte en el caso de φ en
pérdida de features y volumen del fluido.
- Necesarios algoritmos de quinto orden para realizar
un tracking aceptable.
Método
Hybrid level set
• Al hacer el tracking del fluido mediante un método
puramente euleriano los errores en la advección
hacen que el fluido pierda features características.
• Vamos a mejorar el tracking del fluido utilizando
partículas alrededor de la superficie φ = 0 que nos
ayuden a corregir los errores de la advección.
Método
Hybrid level set
• Sampleamos partículas con su radio a la superficie en
una pequeña banda alrededor de φ = 0 .
• Adveccionamos el campo de distancias.
• Integramos las partículas en el tiempo con el campo de
velocidades (p.ej. RK2).
• La función de las partículas es detectar imprecisiones
en el tracking del levelset: si una partícula se escapa de
su lado correcto utilizamos su radio para corregir el
levelset.
Método
Hybrid level set
• Vídeo: [Enright 2002]
Métodos particle in cell
PIC/FLIP
• Artículo:
Animating sand as a fluid [Zhu 2005]
• Idea intuitiva:
- Vamos a utilizar partículas para determinar dónde
está nuestro líquido, pero ya que tenemos
partículas vamos a aprovechar que las partículas
no disipan la información contenida en ellas
cuando se mueven por el espacio para transportar
las propiedades del fluido.
- Nuestras partículas ya no van a ser tan tontas.
Métodos particle in cell
PIC/FLIP
• El método particle in cell (PIC) es un método
ideado por Harlow en 1963.
• Fue una primera aproximación que intentaba
realizar la advección mediante partículas pero
todos los demás pasos en rejilla.
• Pasos:
- 1. Interpolación de particulas a rejilla
- 2. Cálculos en rejilla
- 3. Interpolación de rejilla a partículas
- 4. Integración de las partículas
Métodos particle in cell
PIC/FLIP
• Ejemplo con velocidades:
- 1. Las velocidades en los puntos de la rejilla son
inicializadas como una media ponderada de las
partículas próximas a cada punto.
- 2. Realizamos los cálculos en rejilla excepto
advección y obtenemos la velocidad en t+1.
- 3. Interpolamos las nuevas velocidades en rejilla
a cada una de las partículas.
- 4. Integramos la posición de las partículas en el
tiempo utilizando las velocidades de la rejilla.
- Ojo! No integramos las partículas con su propia
velocidad como en SPH.
Métodos particle in cell
PIC/FLIP
• El problema del método PIC es la excesiva
disipación que sufre el fluido debido a las repetidas
interpolaciones de las propiedades del fluido.
• En 1986 Brackbill mejoró el algoritmo original
mediante el método Fluid-Implicit-Particle (FLIP).
• Este método consigue una ausencia casi total de
disipación y la habilidad de representar grandes
variaciones en las propiedades del fluido.
“El cambio crucial fue hacer las partículas la representación
fundamental del fluido, y usar la rejilla auxiliar únicamente
para incrementar los valores en las partículas de acuerdo
con los cambios calculados en el grid”
Métodos particle in cell
PIC/FLIP
- 1. Las velocidades en los puntos de la rejilla son
inicializadas como una media ponderada de las
partículas próximas a cada punto.
- 2. Guardamos una copia de las velocidades
- 3. Realizamos los cálculos en rejilla excepto advección
como hemos hecho en PIC.
- 4. Calculamos la diferencia entre las nuevas velocidades
y las velocidades que nos habíamos guardado.
- 5. Para cada partícula interpolamos la diferencia
calculada en rejilla y modificamos las velocidades
restándoles dicha diferencia.
- 6. Integramos la posición de las partículas utilizando el
campo de velocidades en rejilla.
Métodos particle in cell
PIC/FLIP
Video: [Zhu 2005]
Métodos particle in cell
PIC/FLIP
• Ventajas:
Con FLIP tenemos lo mejor de ambos mundos:
- Las partículas nos ayudan a conservar la
información sin sufrir apenas disipación.
- La rejilla nos ayuda a resolver las fuerzas en el
fluido de manera más exacta y eficiente que
únicamente a partir de partículas.
• Inconvenientes:
- Al necesitar partículas y rejilla es un método
bastante intensivo en el uso de memoria.
Métodos particle in cell
PIC/FLIP (Multifase)
Video: [Boyd 2011]
Descargar