fluidos con superficie libre (líquidos) · 2015-06-10 · superficie libre . tarea-• adicional...

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

Upload: others

Post on 22-Apr-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

Fluidos con superficie libre (líquidos)

Animación Avanzada

Iván Alduán Íñiguez

10 de Abril de 2014

Page 2: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

Índice

• Superficie libre • Método de las partículas marcadoras • Level sets • Métodos híbridos PIC/FLIP

Page 3: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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.

Page 4: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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?

Page 5: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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.

Page 6: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

Simulación de líquidos mediante Level set

Simulación de líquidos mediante Particle in cell

methods PIC/FLIP

Superficie libre

Page 7: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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.

Page 8: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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.

Page 9: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 10: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 11: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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>φ

φ

Page 12: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 13: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 14: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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=∇φ

Page 15: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

φ

Page 16: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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=φ

Page 17: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

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=φ

Page 18: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• Vídeo: [Enright 2002]

Método Hybrid level set

Page 19: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 20: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 21: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 22: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 23: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

- 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

Page 24: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

Video: [Zhu 2005]

Métodos particle in cell PIC/FLIP

Page 25: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

• 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

Page 26: Fluidos con superficie libre (líquidos) · 2015-06-10 · Superficie libre . Tarea-• adicional respecto a lo que ya vimos: Debemos de ser capaces de distinguir las celdas ocupadas

Video: [Boyd 2011]

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