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
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
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
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
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
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
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
Introdução
Aplicações: Visualização Cientíca em Engenharia
Figura: Animação de campos escalares/vetoriais em engenharia.
(LNCC/UFBA) 6 / 90
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
Introdução
Aplicações: Efeitos artisticos
Figura: Geração de efeitos visuais via animação de uidos.
(LNCC/UFBA) 8 / 90
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
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
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
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
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
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
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
Introdução
Representação da geometria dos objetos
Nuvens de Pontos
Figura: From Freiburg University. Ver Video01.
(LNCC/UFBA) 16 / 90
Introdução
Representação da geometria dos objetos
Superfícies NURBS
Figura: From https://www.behance.net/.
(LNCC/UFBA) 17 / 90
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
Introdução
Convertendo dados em Imagens
Figura: Pipeline generico para geração de imagens a partir de dados numericos.
(LNCC/UFBA) 19 / 90
Introdução
Modelos de Iluminação: Rendering
Slides Prof. Antonio Lopes
(LNCC/UFBA) 20 / 90
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
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
Fundamentação Teórica
Figura: Conceitos fundamentais em campos escalares.
(LNCC/UFBA) 23 / 90
Fundamentação Teórica
Figura: Conceitos fundamentais em campos vetoriais.
(LNCC/UFBA) 24 / 90
Fundamentação Teórica
Visualização de Campos Vetoriais
Figura: Visualização de campos vetoriais [Rosenblum et al., 1994].
(LNCC/UFBA) 25 / 90
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
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
Fundamentação Teórica
Equações de Navier-Stokes (Formulação Lagrangiana)
Equação da Continuidade
Dρ
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
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
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
2θ
]. (9)
(LNCC/UFBA) 30 / 90
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′ ≈
1τ
(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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
LBM
Condição de Fronteira
Bounce-back: reexão na fronteira.
Condição de fronteira periódica (Figura 51)
(LNCC/UFBA) 51 / 90
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
LBM
Análise Multi-Escala
Expansão de Chapman-Enskog
(LNCC/UFBA) 53 / 90
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
SPH
Cálculo da Velocidade e Posição no SPH
Leap-Frog denido por:
vik+1 = vik−1 + ∆taik ,
(LNCC/UFBA) 66 / 90
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
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
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
SPH
Animação de Fluids via SPH
Visualizando apenas particulas
Figura: Fonte [RLGUY, 2015].Ver Video10.
(LNCC/UFBA) 68 / 90
SPH
Visualização de Campos Escalares: Isosuperfícies
Figura: Conceitos fundamentais em visualização cientíca [Giraldi et al., 2005].
(LNCC/UFBA) 69 / 90
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
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
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
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
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
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
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
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
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
Sketching
Visualização de Campos Vetoriais e Sketching
Streamlines
Figura: Diferentes padrões de streamlines.
(LNCC/UFBA) 79 / 90
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
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
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
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
Resultados Computacionais
Resultados: Streamline simples
Figura: Sketching: streamline simples.
Figura: Linhas de campo do GVF.(LNCC/UFBA) 84 / 90
Resultados Computacionais
Resultados: Streamline simples
Figura: Visualização do GVF para streamline simples. Ver Video11.
(LNCC/UFBA) 85 / 90
Resultados Computacionais
Resultados: Singularidade
Figura: Sketching: singularidade.
Figura: Linhas de campo do GVF para singularidade.
(LNCC/UFBA) 86 / 90
Resultados Computacionais
Resultados: Singularidade: Linhas de campo do GVF
Figura: Visualização do GVF para singularidade. Ver Video12.
(LNCC/UFBA) 87 / 90
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
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
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
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
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
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
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
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
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
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
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