Fluidos con superficie libre (líquidos)

26
Fluidos con superficie libre (líquidos) Animación Avanzada Iván Alduán Íñiguez 10 de Abril de 2014

Transcript of Fluidos con superficie libre (líquidos)

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.

Simulación de líquidos mediante Level set

Simulación de líquidos mediante Particle in cell

methods PIC/FLIP

Superficie libre

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.

• 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

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 del campo escalar . • La convención es utilizar el signo negativo para representar el volumen dentro del fluido y el

signo positivo para el dominio exterior.

0=φ φ0≤φ

0>φ

φ

• Para hacer el tracking del fluido tratamos esta propiedad escalar como cualquier otra propiedad del fluido. La ecuación de advección para es:

• La normal de la superficie del fluido la podemos calcular fácilmente mediante esta representación:

φ

0)( =∇⋅+∂∂ φφ v

t

φφ∇

∇=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.

• Algoritmos: - Fast marching methods - Fast sweeping methods

Método level set

φ

0=∇⋅∇ φextv

• 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 .

• Algoritmos: - Fast marching methods - Fast sweeping methods

Método level set

φ

0=φ

1=∇φ

• 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 level set

φ

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 que nos ayuden a corregir los errores de la advección.

0=φ

Método Hybrid level set

• Sampleamos partículas con su radio a la superficie en una pequeña banda alrededor de .

• 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.

0=φ

• Vídeo: [Enright 2002]

Método Hybrid level set

• 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

Video: [Boyd 2011]

Métodos particle in cell PIC/FLIP (Multifase)