Animação Computacional de Fluidos via Métodos Baseados...

107

Transcript of Animação Computacional de Fluidos via Métodos Baseados...

Page 1: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Animação Computacional de Fluidos via

Métodos Baseados em Partículas

Gilson Antonio Giraldi

Antonio Lopes Apolinário Junior

Laboratório Nacional de Computação Cientíca-LNCC/MCTI

Universidade Federal da Bahia - UFBA

Fev 21th, 2017

(LNCC/UFBA) 1 / 90

Page 2: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Roteiro do Mini-Curso

Roteiro do Mini-Curso

1 Primeiro Dia

2 Introdução e Apresentação dos Professores3 Fluxo de Dados na Animação Computacional de Fluids

1 Modelo da Cena

2 Simulação de Fluidos

3 Técnicas de Rendering

4 Segundo Dia5 Método SPH

1 Equações de Navier-Stokes para Animação de Fluidos

2 Aproximação via Núcleos de Suavização

3 Interação com a Fronteira

6 Método de Lattice Boltzmann1 Aproximação BGK

2 Função de Distribuição de Equilíbrio

3 Modelos 2D e 3D

4 Condições de Contorno(LNCC/UFBA) 1 / 90

Page 3: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

7 Terceiro Dia8 Renderização de Fluidos

1 Extração de superfícies

2 Volume Rendering

3 Screen-Space

9 Animação de Fluidos1 Ondas

2 Fluidos

3 Gases

10 Quarto Dia11 Perspectivas em Pesquisa e Desenvolvimento

1 Sketching de uidos

2 Simulação em superfícies com curvatura

3 Simulação de múltiplos uidos

4 Multiresolução

5 Simulações Massivas

12 Conclusões(LNCC/UFBA) 2 / 90

Page 4: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Objetivo e Motivação

O objetivo do minicurso é a apresentação das técnicas de SPH e LBM paraanimação de uidos, bem como de métodos apropriados de rendering paraa geração de efeitos visuais a partir das simulações executadas.

Motivação: Onde queremos chegar?

Figura: Gerada na Universidade de Freiburg. Ver Video01.(LNCC/UFBA) 2 / 90

Page 5: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Motivação: Onde estamos?

Figura: Web site: http://visuid.lncc.br/videos.html. Ver Video02.

Aplicações: Efeitos visuais para cinema, televisão, industria de jogos eletrônicos,

visualização cientíca e simuladores [Siggraph, 2015, Pixar, 2016]

(LNCC/UFBA) 3 / 90

Page 6: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Visualização Cientíca em Medicina

Figura: Animação de campos escalares/vetoriais em hemodinâmicacomputacional. Ver Video03.

(LNCC/UFBA) 4 / 90

Page 7: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Visualização Cientíca em Medicina

Figura: Animação de campos escalares/vetoriais em hemodinâmica parasimuladores.

(LNCC/UFBA) 5 / 90

Page 8: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Visualização Cientíca em Engenharia

Figura: Animação de campos escalares/vetoriais em engenharia.

(LNCC/UFBA) 6 / 90

Page 9: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Visualização Cientíca em Engenharia

Figura: Animação de campos escalares/vetoriais em engenharia automobilística.

(LNCC/UFBA) 7 / 90

Page 10: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Efeitos artisticos

Figura: Geração de efeitos visuais via animação de uidos.

(LNCC/UFBA) 8 / 90

Page 11: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Efeitos visuais para Propagandas

Figura: Geração de efeitos visuais, via animação de uidos, para propagandas.

(LNCC/UFBA) 9 / 90

Page 12: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Efeitos visuais para Jogos

Figura: Geração de efeitos visuais, para jogos via animação de uidos.

(LNCC/UFBA) 10 / 90

Page 13: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Aplicações: Efeitos visuais para Cinema

Figura: Geração de efeitos visuais, para lmes via animação de uidos.

(LNCC/UFBA) 11 / 90

Page 14: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Animação: Conferencias, Web Sites e Livros

Siggraph 2016 [ACM, 2016]

Sibgrapi 2016 [SBC, 2016]

Pixar [Pixar, 2016]ACM Trans. on Graphics [Siggraph, 2015]

Livros:The Art of Fluid Animation [Stam, 2015]Fluid simulation for computer graphics [Bridson, 2008]Fluid Frames: Experimental Animation with Sand, Clay, Paint, andPixels [Parks, 2015]Foundations of Physically Based Modeling andAnimation[House and Keyser, 2016]Physics-based Animation [Erleben et al., 2005]Physically Based Rendering: From Theory To Implementation[Pharr and Humphreys, 2010]

(LNCC/UFBA) 12 / 90

Page 15: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Animação: Softwares e Bibliotecas

RenderMan [Pixar, 2017]POV-Ray [POV-Ray, 2017]Physics for Rendering [PBRT, 2016]Blender [Fundation, 2017, Motion, 2015]RealFlow [Limit, 2016]

Figura: Pixar's PhotoRealistic RenderMan and 'Finding Nemo'.(LNCC/UFBA) 13 / 90

Page 16: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Animação de Fluídos

Fluxo de Dados em Animação de Fluídos

Modelo Geométrico da Cena

Modelo Físico de Fluidos

Equações de Navier-Stokes e Diferenças/Elementos FinitosMétodo Lattice-Boltzmann (LBM)Método Smoothed Particle Hydrodynamics (SPH)

Outros.

Modelos de iluminação (rendering)

(LNCC/UFBA) 14 / 90

Page 17: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Modelagem da Cena

Representação da geometria dos objetos

Malhas poligonais e subdivisão espacial

Figura: From https://www.lifewire.com/

(LNCC/UFBA) 15 / 90

Page 18: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Representação da geometria dos objetos

Nuvens de Pontos

Figura: From Freiburg University. Ver Video01.

(LNCC/UFBA) 16 / 90

Page 19: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Representação da geometria dos objetos

Superfícies NURBS

Figura: From https://www.behance.net/.

(LNCC/UFBA) 17 / 90

Page 20: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Modelos Físicos e Simulação de Fluidos

Denição de domínioInteração com fronteira do dominioInteração com objetos da cenaModelo de uidoInicialização do uidoSimulação do sistemaResultado: Campos escalares e/ou vetoriais

Figura: https://youtu.be/6hiyYoKSXQ0. Ver Video04.

(LNCC/UFBA) 18 / 90

Page 21: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Convertendo dados em Imagens

Figura: Pipeline generico para geração de imagens a partir de dados numericos.

(LNCC/UFBA) 19 / 90

Page 22: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Modelos de Iluminação: Rendering

Slides Prof. Antonio Lopes

(LNCC/UFBA) 20 / 90

Page 23: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Breve Histórico

Um trabalho pioneiro na área de animação de uidos via DFC foi o de[Foster and Metaxas, 1997], usando diferenças nitas.

Em 1999 Jos Stam propõe uma solução para o custo computacionalelevado do método de Foster e Metaxas [Stam, 1999]

Patrick Witting considerou um modelo mais completo que osanteriores, onde o uido (gás) é compressível e o modelo matemáticoenvolve equações termodinâmicas [Witting, 1999].

Trabalho de Müller at. al. (2003) que usou o SPH com métodos cominteração entre líquidos e sólidos.

LBM para simulação de sistemas complexos [Chopard et al., 1998]

(LNCC/UFBA) 21 / 90

Page 24: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Introdução

Animação de Fluidos Baseada em Física

Consiste em aplicar técnicas de dinâmica de uidos computacional(DFC) computação gráca na geração de efeitos visuais.

O nível de realismo depende do tipo de animação.

Área interdisciplinar.

Envolve conceitos em Dinâmica de Fluidos, Rendering e ModelagemGeométrica.

Desenvolvimento de aplicativos com interfaces grácas convenientes,permitindo o uso dos recursos desenvolvidos por animadores edesigners.

Aplicações para simuladores em medicina

(LNCC/UFBA) 22 / 90

Page 25: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Figura: Conceitos fundamentais em campos escalares.

(LNCC/UFBA) 23 / 90

Page 26: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Figura: Conceitos fundamentais em campos vetoriais.

(LNCC/UFBA) 24 / 90

Page 27: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Visualização de Campos Vetoriais

Figura: Visualização de campos vetoriais [Rosenblum et al., 1994].

(LNCC/UFBA) 25 / 90

Page 28: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Equações da Dinâmica de Fluidos

Equações de Navier-Stokes: Caso Escoamento incompressível:

∂u

∂t+ u · ∇u = −1

ρ∇p + ν∆u + f (1)

∇ · u = 0 (2)

Onde:

−∇p é o uxo oriundo de regiões de alta pressão em direção à regiãode baixa pressão.

ν∆u é um termo dissipativo, com ν = µ/ρ sendo a viscosidadecinemática.

(LNCC/UFBA) 26 / 90

Page 29: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Equações da Dinâmica de Fluidos

Condições Iniciais e de contorno

v(x , y , z , 0) = v0(x , y , z), (3)

v∂Ω = g , (4)

onde ∂Ω denota a fronteira do domínio Ω do uido e g é uma funçãodenida em ∂Ω.

(LNCC/UFBA) 27 / 90

Page 30: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Equações de Navier-Stokes (Formulação Lagrangiana)

Equação da Continuidade

Dt+ ρ∇ · v = 0 (5)

Equação do Momento

Dv

Dt= −1

ρ(∇p + µ∆v + F), (6)

ondeD(·)Dt

é chamado derivada material.

Para uidos incompressíveis, temos ∇ · v = 0

(LNCC/UFBA) 28 / 90

Page 31: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Teoria Cinética para Fluidos

Equação de Boltzmann

∂t f + ~v∂~x f + ~F∂~v f =

∫dv ′1dv

′2dv2(f ′1f

′2 − f1f2)P12→1′2′ , (7)

~v = (v1, v2, v3) é a velocidade microscópica,

~x = (x1, x2, x3) indica posição no espaço,~F é a distribuição de forças externas,

f é distribuição de densidade de partículas,

Termo de colisão: membro direito de (7)

(LNCC/UFBA) 29 / 90

Page 32: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Teoria Cinética para Fluidos

Equação de Boltzmann

Em [Wagner, 2008] demonstra-se que a dinâmica da Equação deBoltzmann evolui no sentido de minimizar o Funcional H, dado por:

H(t) =

∫f (~x , ~v , t) log(f (~x , ~v , t))dx1dx2dx3dv1dv2dv3. (8)

Distribuição de Equilíbrio

Distribuição f eq que minimiza o Funcional H, para um sistema connadoem um volume V , sob certas restrições de densidade e energia:

f eq =n

(2πθ)32

exp

[− (~v − ~u)2

]. (9)

(LNCC/UFBA) 30 / 90

Page 33: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Teoria Cinética para Fluidos

Simplicação do Termo de Colisão: Modelo BGK

Parêmetro de de relaxação τ :∫dv ′1dv

′2dv2(f ′1f

′2 − f1f2)P12→1′2′ ≈

(f eq − f ). (10)

Equação de Boltzmann Simplicada

∂t f + ~v∂~x f + ~F∂~v f =1τ

(f eq − f ). (11)

Modelo para Atualização da distribuição f

∂t f + ~v∂~x f =1τ

(f eq − f )− ~F∂~v f . (12)

(LNCC/UFBA) 31 / 90

Page 34: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Fundamentação Teórica

Métodos para Animação de Fluidos

Baseados na discretização das equações contínuas de Navier-Stokes:

Elementos Finitos

Volumes Finitos

Diferenças Finitas

Smoothed Particle Hydrodynamics (SPH)

Baseados na dinâmica de micro-partículas:

Autômato Celular do tipo Lattice-Gas (LGCA)

Método Lattice-Boltzmann (LBM)

(LNCC/UFBA) 32 / 90

Page 35: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

Métodos para Animação de Fluidos

Autômato Celular do tipo Lattice-Gas (LGCA):

Classe de Autômato Celular.

Partículas pontuais movendo-se em um reticulado.

Regras apropriadas para imitar dinâmica molecular discreta.

(LNCC/UFBA) 33 / 90

Page 36: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

Métodos FHP: Caso particular de LGCA

Introduzido por Frisch, Hasslacher e Pomeau em 1986.Abstração de um uido bidimensional em escala microscópica.Reticulado Triangular (por razões de simetria).

Figura: FHP micro-dinamica e Lattice.

(LNCC/UFBA) 34 / 90

Page 37: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Regras

Em geral, as partículas movem-se pelas arestas da malha.

Princípio de exclusão.

Condições de fronteira.

Figura: FHP Evolução de duas partículas do FHP após um passo de tempo.

(LNCC/UFBA) 35 / 90

Page 38: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Regras de Colisão

Figura: Colisão de duas partículas no FHP.

Figura: Colisão de três partículas no FHP.

(LNCC/UFBA) 36 / 90

Page 39: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Velocidades

Representação das direções das partículas.

Figura: Representação das direções no FHP.

Cada ~ci é dado por

~ci =

(cos

2πi6, sin

2πi6

). (13)

(LNCC/UFBA) 37 / 90

Page 40: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Microdinâmica

Denimos os números de ocupação:

ni (~r , t)

como sendo o número de partículas entrando na célula ~r no instante tcom velocidade na direção ~ci , onde i = 1, 2, . . . , 6.

Os números ni podem ser 0 ou 1.

Passo de tempo: ∆t

Passo de espaço: ∆r .

(LNCC/UFBA) 38 / 90

Page 41: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Microdinâmica

Equação de evolução das partículas:

ni (~r + ∆r~ci , t + ∆t) = ni (~r , t) (14)

onde não estamos considerando colisões.

Figura: Movimento de uma partícula no FHP.

(LNCC/UFBA) 39 / 90

Page 42: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Microdinâmica com Colisão

ni (~r + ∆r~ci , t + ∆t) = ni (~r , t) + Ωi (15)

Figura: Colisão de duas partículas no FHP.

Figura: Colisão de três partículas no FHP.

(LNCC/UFBA) 40 / 90

Page 43: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Quantidades Macroscópicas

Média:Ni (~r , t) = 〈ni (~r , t)〉 (16)

Densidade média de partículas:

ρ (~r , t) =z∑

i=0

Ni (~r , t) . (17)

(LNCC/UFBA) 41 / 90

Page 44: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

FHP - Quantidades Macroscópicas

Corrente de partículas:

ρ (~r , t) ~u (~r , t) =z∑

i=0

~viNi (~r , t) . (18)

Tensor de momentum

Παβ =z∑

i=0

~viα~viβNi (~r , t) . (19)

A partir da denição dessas quantidades e da Expansão Multiescala deChapman-Enskog pode-se obter as equações de Continuidade eNavier-Stokes para uidos.

FHP videos [Kralj, 2010]. Ver Video08.

(LNCC/UFBA) 42 / 90

Page 45: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Autômatos Celulares

Métodos para Animação de Fluidos

Método Lattice-Boltzmann (LBM):

Aplicado com sucesso em simulações de uidos e fenômenos detransporte associados.

Aplicado em animação computacional.

Simulação acontece em malhas regulares, com regras de evoluçãosimples.

Fácil paralelização do algoritmo.

(LNCC/UFBA) 43 / 90

Page 46: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Método de Lattice-Boltzmann

LBM:Método numérico baseado em equações cinéticas formuladas em umaescala mesoscópica.Simula a dinâmica de uidos em uma escala macroscópica.

Originou-se dos Autômatos Celulares do tipo Lattice-Gas (LGCA).

Extensão da dinâmica booleana dos autômatos celulares para setrabalhar diretamente com valores numéricos reais representandoprobabilidades de presença de partículas (McNamara e Zanetti, 1988).

(LNCC/UFBA) 44 / 90

Page 47: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Método de Lattice-Boltzmann

Modelo D2Q9:

O domínio é discretizado em uma malha regular.

Cada célula armazena distribuições de probabilidade de partículas (fi )em cada direção de movimento (ci ).

(LNCC/UFBA) 45 / 90

Page 48: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Método de Lattice-Boltzmann

No LBM a dinâmica é dada por:

fi (x + ci∆x , t + ∆t)− fi (x, t) = Ωi (f(x, t)), (20)

onde:fi é a função de distribuição de probabilidade de partículas,ci representa as possíveis direções de movimento,

Ωi é o operador de colisão.

O operador de colisão com aproximação BGK é dado por:

Ωi (f(x, t)) = −1τ

(fi (x, t)− f eqi (x, t)

), (21)

onde:τ é o termo de relaxamento, o qual está relacionado com os fenômenosdifusivos no problema (viscosidade do uido),

f eqi é a função de distribuição de equilíbrio local.

(LNCC/UFBA) 46 / 90

Page 49: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Método de Lattice-Boltzmann

Dinâmica: etapa de colisão.

fi (x, t + ∆t) = fi (x, t)[1− 1τ

] +1τf eqi (x, t). (22)

(LNCC/UFBA) 47 / 90

Page 50: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Método de Lattice-Boltzmann

Dinâmica: etapa de espalhamento.

fi (x + ci∆x , t + ∆t) = fi (x, t + ∆t). (23)

(LNCC/UFBA) 48 / 90

Page 51: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Modelo D2Q9

A função de distribuição de equilíbrio é dada por:

f eqi = ρωi

[1 + 3(ci · u) +

92

(ci · u)2 − 32u2], (24)

onde:

ω0 =4

9, ωi =

1

9, (i = 1, 3, 5, 7), ωi =

1

36, (i = 2, 4, 6, 8).

As quantidades macroscópicas de massa especíca (ρ) evelocidade (u) são dadas respectivamente por:

ρ(x, t) =8∑

i=0

fi (x, t), u(x, t) =1

ρ(x, t)

8∑i=1

fi (x, t)vi .

(LNCC/UFBA) 49 / 90

Page 52: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Inicialização do LBM

O processo de inicialização utilizado é atribuir como valor inicial, acada uma das 9 fi 's em cada célula, a própria função de equilíbrio:

fi (x , y , 0) = f eqi (ρ(x , y , 0),u(x , y , 0)), (25)

onde as quantidades macroscópicas em t = 0 são conhecidas (valoresdados).

A condição de contorno implementada é a que impõem valores develocidade (não necessariamente nula) nas células da fronteira (Zou eHe, 1997).

(LNCC/UFBA) 50 / 90

Page 53: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Condição de Fronteira

Bounce-back: reexão na fronteira.

Condição de fronteira periódica (Figura 51)

(LNCC/UFBA) 51 / 90

Page 54: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Condição de Fronteira

Condição de fronteira baseada em equações de concervação:

fi − f eqi = fi+z/2 − f eqi+z/2, (26)

ρ(x, t) =8∑

i=0

fi (x, t), ρ(x, t)u(x, t) =8∑

i=1

fi (x, t)vi .

(LNCC/UFBA) 52 / 90

Page 55: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Análise Multi-Escala

Expansão de Chapman-Enskog

(LNCC/UFBA) 53 / 90

Page 56: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Análise Multi-Escala

Propriedades de Simetria e Tensoriais da Lattice 3D

Questão Interessante: Multi-Escala Física × Multi-Escala Visual

(LNCC/UFBA) 54 / 90

Page 57: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

LBM

Métodos para Animação de Fluidos

Método Lattice-Boltzmann (LBM):

Figura: LBM for uid simulation [Softology, 2010]. Ver Video09.

(LNCC/UFBA) 55 / 90

Page 58: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Smoothed Particle Hydrodynamics - SPH

Os elementos fundamentais do método SPH são os núcleos de interpolaçãoW : R3 → R+ e um sistema de partículas xi = (xi1, xi2, xi3) ∈ R3,i = 1, 2, . . . ,M, que representa uma versão discreta do uido.

Propriedades do Núcleo ∫W(x − x ′, h

)dx ′ = 1 (27)

onde a constante h é usada para denir o suporte do núcleo de suavização.Além disto, W deve possuir suporte compacto, ser monotonicamentedecrescente, ou seja, W (xi ) ≥W (xj), para |xi | < |xj |, ser uma função pare suave, bem como se comportar como a função Delta de Dirac parah→ 0:

limh→0

W(x − x ′, h

)= δ

(x − x ′

). (28)

(LNCC/UFBA) 56 / 90

Page 59: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Smoothed Particle Hydrodynamics - SPH

Representação via Núcleo no Continuo

Partindo destas propriedades, dada uma função escalar f , o método SPHaproxima esta função partindo da sua representação via o núcleo desuavização W :

〈f (x)〉 =

∫f(x ′)W(x − x ′, h

)dx ′. (29)

(LNCC/UFBA) 57 / 90

Page 60: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Smoothed Particle Hydrodynamics - SPH

Representação Discreta via Núcleo

Se f (x) é conhecida apenas em alguns pontos x1, x2, . . . , xN do seudomínio:

f(x ′)

=N∑j=1

δ(x ′ − xj

)f (xj) (dx)j , (30)

Inserindo esta expressão na equação (29), e substituindo o elemento devolume por:

(dx)j =mj

ρ (rj),

onde ρ (rj) é a densidade na posição rj , obtem-se:

〈f (x)〉 =N∑j=1

mj

ρ (rj)f (xj)W (x − xj , h) (31)

(LNCC/UFBA) 58 / 90

Page 61: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Smoothed Particle Hydrodynamics - SPH

Os elementos fundamentais do método SPH são os núcleos de interpolaçãoW : R3 → R+ e um sistema de partículas qi = (xi1, xi2, xi3) ∈ R3,i = 1, 2, . . . ,M, que representa uma versão discreta do uido.

Aproximação de uma função A e seu gradiente via SPH

⟨A(qi )

⟩=

M∑j=1

mj

ρ(qj)A(qj)W (qi − qj , h), (32)

⟨∇A(qi )

⟩=

M∑j=1

mj

ρ(qj)A(qj)∇iW (qi − qj , h), (33)

A partir de agora usaremos ∇iWij = ∇iW (qi − qj , h), h é o suporte donúcleo e ρ

(qj), a massa especíca da partícula na posição qj .

(LNCC/UFBA) 59 / 90

Page 62: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

SPH Descrito em [Müller et al., 2003]

Densidade, Forças de Pressão e Viscosidade

〈ρ (x)〉 =N∑j=1

mjW (x − xj , h) , (34)

f pressaoi = −〈∇p〉 = −N∑j=1

mj

(p (xj) + p (xi )

ρ (xj)

)∇xW (xi − xj , h) , (35)

f visci = µ⟨∇2~v (x , t)

⟩= µ

N∑j=1

mj

[~v (xj)− ~v (xi )

ρ (xj)

]∇2

xW (xi − xj , h) .

(36)

(LNCC/UFBA) 60 / 90

Page 63: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

SPH Descrito em [Müller et al., 2003]

Equação de Estado e Interação com Fronteiras

Equação de Estadop = k (ρ− ρ0) , (37)

onde k ∈ R e ρ0 é a densidade inicial.

Tensão Superfícial

tslivre = σκ~n

||~n||, (38)

onde σ é um parâmetro, κ é a curvatura

Condição de Fronteira: Reexão

(LNCC/UFBA) 61 / 90

Page 64: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

SPH Descrito em [Müller et al., 2003]

Esquema Numérico: Leapfrog

d~vidt

= Qti , (39)

onde:

Qti =

f pressaoi + f visci + ρti ~gi + tslivrei + F fronteirai

ρti(40)

Leapfrog

~v t+∆ti = ~v ti +

δt

2Qt

i , (41)

r t+∆ti = r ti + (δt) · ~v t+∆t

i , (42)

onde δt é o passo no tempo.

(LNCC/UFBA) 62 / 90

Page 65: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Modelo Implementado em [da Silva, 2016]: Aceleração daPartícula i

ai =Dvi

Dt= −∇p

i

ρi+

1ρi

µ∆vi +∑j∈Vi

mjΠij∇iWij + Si + Γig + Fi

.

Gradiente de Pressão

Termo de viscosidade

Viscosidade articial

Superfície livre

Tratamento de Fronteira

(LNCC/UFBA) 63 / 90

Page 66: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Modelo Implementado em [da Silva, 2016]: Aceleração daPartícula i

ai =Dvi

Dt= −∇p

i

ρi+

1ρi

µ∆vi +∑j∈Vi

mjΠij∇iWij + Si + Γig + Fi

.

Gradiente de Pressão

Termo de viscosidade

Viscosidade articial

Superfície livre

Tratamento de Fronteira

−∇pi

ρi= −

∑j∈Vi

mj

(pi

(ρi )2+

pj

(ρj)2

)∇iWij

(LNCC/UFBA) 63 / 90

Page 67: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Modelo Implementado em [da Silva, 2016]: Aceleração daPartícula i

ai =Dvi

Dt= −∇p

i

ρi+

1ρi

µ∆vi +∑j∈Vi

mjΠij∇iWij + Si + Γig + Fi

.

Gradiente de Pressão

Termo de viscosidade

Viscosidade articial

Superfície livre

Tratamento de Fronteira

µ∆vi = 2µ∑j∈Vi

mj

ρjvij

xij · ∇iWij

(r ij)2

vij = vi − vj e xij = qi − qj

(LNCC/UFBA) 63 / 90

Page 68: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Modelo Implementado em [da Silva, 2016]: Aceleração daPartícula i

ai =Dvi

Dt= −∇p

i

ρi+

1ρi

µ∆vi +∑j∈Vi

mj Πij ∇iWij + Si + Γig + Fi

.

Gradiente de Pressão

Termo de viscosidade

Viscosidade articial

Superfície livre

Tratamento de Fronteira

Πij =

−2(aϕijc + bϕ2

ij)

ρi + ρj, vij · xij < 0

0, vij · xij ≥ 0

ϕij =(vij · xij)

‖xij‖2 + 0.01h2

(LNCC/UFBA) 63 / 90

Page 69: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Modelo Implementado em [da Silva, 2016]: Aceleração daPartícula i

ai =Dvi

Dt= −∇p

i

ρi+

1ρi

µ∆vi +∑j∈Vi

mjΠij∇iWij + Si + Γig + Fi

.

Gradiente de Pressão

Termo de viscosidade

Viscosidade articial

Superfície livre

Tratamento de Fronteira

Si = − κ

mi

∑j∈Vi

mjWijxij

(LNCC/UFBA) 63 / 90

Page 70: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Modelo Implementado em [da Silva, 2016]: Aceleração daPartícula i

ai =Dvi

Dt= −∇p

i

ρi+

1ρi

µ∆vi +∑j∈Vi

mjΠij∇iWij + Si + Γig + Fi

.

Gradiente de Pressão

Termo de viscosidade

Viscosidade articial

Superfície livre

Tratamento de Fronteira

Γig =

D[( r0

r ig

)n1−( r0r ig

)n2] r0r ig≤ 1

0r0r ig

> 1

(LNCC/UFBA) 63 / 90

Page 71: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Interação com a Fronteira

Figura: Força de repulsão sobre qi nas proximidades das partículas de fronteira qg .

(LNCC/UFBA) 64 / 90

Page 72: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Aceleração da Partícula i

ai =Dvi

Dt= −∇p

i

ρi+

1ρi

µ∆vi +∑j∈Vi

mjΠij∇iWij + Γig + Fi

.

Gradiente de Pressão

Termo de viscosidade

Viscosidade articial

Tratamento de Fronteira

Superfície livre

Força externa

(LNCC/UFBA) 65 / 90

Page 73: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Cálculo da Velocidade e Posição no SPH

Leap-Frog denido por:

vik+1 = vik−1 + ∆taik ,

(LNCC/UFBA) 66 / 90

Page 74: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Cálculo da Velocidade e Posição no SPH

Leap-Frog denido por:

vik+1 = vik−1 + ∆taik ,

vik+1 := vik+1 + ε∑ 2m

ρi + ρj(vj + vi )

(LNCC/UFBA) 66 / 90

Page 75: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Cálculo da Velocidade e Posição no SPH

Leap-Frog denido por:

vik+1 = vik−1 + ∆taik ,

vik+1 := vik+1 + ε∑ 2m

ρi + ρj(vj + vi )

qik+1 = qik + ∆tvik+1

(LNCC/UFBA) 66 / 90

Page 76: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Animação de Fluids via SPH

Fluido SPH e interação com objetos da cena

Figura: From Freiburg University. Ver Video01.

(LNCC/UFBA) 67 / 90

Page 77: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Animação de Fluids via SPH

Visualizando apenas particulas

Figura: Fonte [RLGUY, 2015].Ver Video10.

(LNCC/UFBA) 68 / 90

Page 78: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Visualização de Campos Escalares: Isosuperfícies

Figura: Conceitos fundamentais em visualização cientíca [Giraldi et al., 2005].

(LNCC/UFBA) 69 / 90

Page 79: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Aplicação de Isosuperfícies: Animação EnvolvendoSuperfícies Livres

Figura: Conceitos de visualização cientíca para animação[Giraldi et al., 2005, Belin, 2013]. Ver Video05.

(LNCC/UFBA) 70 / 90

Page 80: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Problema: Extração de Supercie Livre no SPH

Figura: Conceitos de visualização cientíca para animação [da Silva, 2016]. VerVideo06.

(LNCC/UFBA) 71 / 90

Page 81: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Animação de Fluidos com Supercie Livre

Figura: SPH 3D para animação com superfície livre [N. Akinci, 2013]. VerVideo07.

(LNCC/UFBA) 72 / 90

Page 82: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Experimento N-roll mill no SPH

Histórico: Exp. de Laboratório e Teoria de CatástrofesSimulação do N-roll mill via SPHVisualização usando LICAnalise de estruturas topológicas: Singularidades Morse e Não-Morse

Figura: Esquema da simulação do N-roll mill [da Silva, 2016].

(LNCC/UFBA) 73 / 90

Page 83: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

SPH

Visualização de Campos Vetoriais: Line Integral Convolution

Figura: Campo de velocidades do SPH para o N-roll mill [da Silva, 2016].

(LNCC/UFBA) 74 / 90

Page 84: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Técnicas de Rendering

Rendering de Fluidos

1 Métodos Baseados em Física2 Modelos de Iluminação3 Métodos Baseados em Textura

(LNCC/UFBA) 75 / 90

Page 85: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Perspectivas em Pesquisa e Desenvolvimento

Perspectivas

1 Sketching de uidos: Interpretar desenhos do usuário como linhas decampo (streamlines)

2 Simulação em superfícies com curvatura

(LNCC/UFBA) 76 / 90

Page 86: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Sketching

Modelagem Baseada em Sketching

Sketch-Based Modeling : Processo no qual especica-se modelosgeométricos através de desenhos livres realizados pelo usuário.

(LNCC/UFBA) 77 / 90

Page 87: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Sketching

Modelagem Baseada em Sketching

Sequência de pontos que precisam ser analisados e interpretados damaneira correta.

Dispositivos de dados de entrada:Mouse

Teclado

Diculdade de manuseio dos dispositivos:Pouca ou muita informação de entrada.Possível ruídos nos dados iniciais.

Tratamento dos Dados: Através do uso de ltros.

Interface Gráca: Especicar restrições impostas ao usuário.

(LNCC/UFBA) 78 / 90

Page 88: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Sketching

Visualização de Campos Vetoriais e Sketching

Streamlines

Figura: Diferentes padrões de streamlines.

(LNCC/UFBA) 79 / 90

Page 89: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Metodologia

Sketching de uidos

Apresentamos uma metodologia envolvendo inicialização de uidosbidimensionais usando técnicas de sketching juntamente comequações do tipo difusão-reação.

(LNCC/UFBA) 80 / 90

Page 90: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Metodologia

Metodologia Desenvolvida

Etapa de Pré-processamento:

Objetivo é interpretar o sketching como linhas de corrente do campoinicial do uido.

A ideia é usar o desenho do usuário como suporte para denir umalinha de corrente que atenda os pré-requisitos geométricos e dinâmicosem sua vizinhança.

Assim, deniremos um campo de velocidades sobre a curva cdesenhada pelo usuário.

Projeção sobre a malha.

Aplica-se um operador gaussiano sobre o campo obtido na projeçãopara garantir a suavidade desejada.

Aplicação de técnicas de difusão-reação.

(LNCC/UFBA) 81 / 90

Page 91: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Metodologia

Metodologia Desenvolvida

Sketch do usuário com pontos extremos no interior do uido.

(a) Criação de pontos singulares. (b) Prolongamento até a fronteira.

(LNCC/UFBA) 82 / 90

Page 92: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Metodologia

Gradient Vector Flow

O campo vetorial GVF pode ser encontrado ao se resolver:

∂v

∂t= µ∇2v − (v − v0)|v0|2, (43)

onde ∇2 é o operador Laplaciano e v0 é o campo vetorial inicial.

O parâmetro µ é um parâmetro de regularização, o qual governa acompensação entre o primeiro termo e o segundo.

A solução iterativa para o GVF é encontrado aproximando-se asderivadas parciais através de diferenças nitas.

(LNCC/UFBA) 83 / 90

Page 93: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Resultados Computacionais

Resultados: Streamline simples

Figura: Sketching: streamline simples.

Figura: Linhas de campo do GVF.(LNCC/UFBA) 84 / 90

Page 94: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Resultados Computacionais

Resultados: Streamline simples

Figura: Visualização do GVF para streamline simples. Ver Video11.

(LNCC/UFBA) 85 / 90

Page 95: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Resultados Computacionais

Resultados: Singularidade

Figura: Sketching: singularidade.

Figura: Linhas de campo do GVF para singularidade.

(LNCC/UFBA) 86 / 90

Page 96: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Resultados Computacionais

Resultados: Singularidade: Linhas de campo do GVF

Figura: Visualização do GVF para singularidade. Ver Video12.

(LNCC/UFBA) 87 / 90

Page 97: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Perspectivas em Sketching de uidos

Perspectivas em Sketching de uidos

Preservação de singularidades pelos métodos de reação-difusão

Inuencia das condições de fronteira

Estabilidade das singularidades

Sketching de uidos em 3D

Desenvolvimento de software

(LNCC/UFBA) 88 / 90

Page 98: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Simulação em Superfícies com Curvatura via LBM e SPH

Simulação em superfícies via LBM e SPH

Figura: Navier-Stokes in Catmull-Clark surfaces (source[Stam, 2003])

Figura: Campos sobre superfícies genéricas.

(LNCC/UFBA) 89 / 90

Page 99: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Conclusão

Conclusão

Pesquisas em animação de uidos envolvem:

Métodos matemáticos.Modelos físicosMétodos computacionais

Desenvolvimento de software

Necessidade de HPC

Aplicações no LNCC: Simuladores para medicina

Perspectivas no LNCC

Sketchingde uídosAnimação de uidos em superfícies

(LNCC/UFBA) 90 / 90

Page 100: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

ACM (2016).Siggraph.http://s2016.siggraph.org/programs.

Belin, J. (2013).SPH 2D with free surface model.https://www.youtube.com/watch?v=Daxzw1j7kgU.

Bridson, R. (2008).Fluid simulation for computer graphics.CRC Press, New York.

Chopard, B., Luthi, P., and Masselot, A. (1998).Cellular automata and lattice boltzmann techniques: An approach tomodel and simulate complex systems.In Advances in Physics.

da Silva, L. T. (2016).

(LNCC/UFBA) 90 / 90

Page 101: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

Simulação de Fluidos via Smoothed Particle Hydrodynamics:Formulação Variacional, Variação de Parâmetros e Extração deCaracterísticas Visuais.PhD thesis, Laboratório Nacional de Computação Cientíca (LNCC).Orientador: Gilson Antonio Giraldi.

Erleben, K., Sporring, J., Henriksen, K., and Dohlman, K. (2005).Physics-based Animation (Graphics Series).Charles River Media, Inc., Rockland, MA, USA.

Foster, N. and Metaxas, D. (1997).Modeling the motion of a hot, turbulent gas.In Proceedings of the 24th Annual Conference on Computer Graphicsand Interactive Techniques, SIGGRAPH '97, pages 181188, NewYork, NY, USA. ACM Press/Addison-Wesley Publishing Co.

Fundation, B. (2017).Blender: Free and Open Software.https://www.blender.org/.

(LNCC/UFBA) 90 / 90

Page 102: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

Giraldi, G. A., JR., A. L. A., Oliveira, A. A. F., and Feijóo, R. A.(2005).Animação de uidos via técnicas de visualização cientíca e mecânicacomputacional.Technical report, LNCC - Laboratório Nacional de ComputaçãoCientíca, Petrópolis, RJ, Brasil.

House, D. and Keyser, J. (2016).Foundations of Physically Based Modeling and Animation.CRC Press.

Kralj, S. (2010).FHP Simulation.https://www.youtube.com/watch?v=MuJr69IVvgg.

Limit, N. (2016).RealFlow.http://www.realow.com/.

Motion, M. (2015).

(LNCC/UFBA) 90 / 90

Page 103: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

Most Realistic Fluid Settings in Blender.https://www.youtube.com/watch?v=m-kDn3ODtZM&list=PLE_CMDJXhPQ5tuhHNVTsMXOq9VmkctM8r.

Müller, M., Charypar, D., and Gross, M. H. (2003).Particle-based uid simulation for interactive applications.In Proceedings of the 2003 ACM SIGGRAPH/EurographicsSymposium on Computer Animation, pages 154159.

N. Akinci, M. Ihmsen, G. A. B. S. M. T. (2013).Versatile Rigid-Fluid Coupling for Incompressible SPH.https://www.youtube.com/watch?v=chnS24QfgNY.

Parks, C. (2015).Fluid Frames: Experimental Animation with Sand, Clay, Paint, andPixels.Taylor & Francis.

PBRT (2016).Physics Models for Rendering.

(LNCC/UFBA) 90 / 90

Page 104: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

http://www.pbrt.org/.

Pharr, M. and Humphreys, G. (2010).Physically Based Rendering, Second Edition: From Theory ToImplementation.Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2ndedition.

Pixar (2016).Pixar On-Line Library.http://graphics.pixar.com/library/.

Pixar (2017).RenderMan.https://rmanwiki.pixar.com/display/REN/RenderMan.

POV-Ray (2017).Persistence of Vision Raytracer.http://www.povray.org/.

RLGUY (2015).(LNCC/UFBA) 90 / 90

Page 105: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

SPH particles Animation.https://www.youtube.com/watch?v=iHACAlfYeiQ.

Rosenblum, L., Earnshaw, R., Encarnacao, J., Hagen, H., Kaufman,A., Klimenko, S., Nielson, G., Post, F., and Thalmann, D. (1994).Scientic Visualization: Advances and Challenges.Academic Press.

SBC (2016).Sibgrapi 2016.http://gibis.unifesp.br/sibgrapi16/.

Siggraph (2015).ACM Trans. Graph., 34(4).

Softology (2010).LBM uid simulation.https://www.youtube.com/watch?v=ro4OvF-v00E.

Stam, J. (1999).Stable uids.

(LNCC/UFBA) 90 / 90

Page 106: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

In Proceedings of the 26th Annual Conference on Computer Graphicsand Interactive Techniques, SIGGRAPH '99, pages 121128, NewYork, NY, USA. ACM Press/Addison-Wesley Publishing Co.

Stam, J. (2003).Flows on Surfaces of Arbitrary Topology.ACM Transactions on Graphics (TOG) - Proceedings of ACMSIGGRAPH 2003, 22(3):724.

Stam, J. (2015).The Art of Fluid Animation.CRC Press.

Wagner, A. (2008).A practical introduction to the lattice boltzmann method.Dept. of Physics, North Dakota State University.

Witting, P. (1999).Computational uid dynamics in a traditional animation environment.

(LNCC/UFBA) 90 / 90

Page 107: Animação Computacional de Fluidos via Métodos Baseados …gilson/GB500-FluidVis/simulacao.pdfRoteiro do Mini-Curso Roteiro do Mini-Curso 1 Primeiro Dia 2 Introdução e Apresentação

Bibliography

In Proceedings of the 26th Annual Conference on Computer Graphicsand Interactive Techniques, SIGGRAPH '99, pages 129136, NewYork, NY, USA. ACM Press/Addison-Wesley Publishing Co.

(LNCC/UFBA) 90 / 90