Animação Computacional de Fluidos via Métodos Baseados...
Transcript of Animação Computacional de Fluidos via Métodos Baseados...
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