fluidos con superficie libre (líquidos) · 2015-06-10 · superficie libre . tarea-• adicional...
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/2.jpg)
Í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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/9.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/10.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/12.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/13.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/14.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/15.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/18.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/19.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/20.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/21.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/22.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/23.jpg)
- 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/25.jpg)
• 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](https://reader030.vdocuments.co/reader030/viewer/2022041002/5ea31c5dda97715b9a5a2d58/html5/thumbnails/26.jpg)
Video: [Boyd 2011]
Métodos particle in cell PIC/FLIP (Multifase)