Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
LABORAT ORIO NACIONAL DE COMPUTACAO CIENTIFICA
INSTITUTO SUPERIOR DE TECNOLOGIA EM CIENCIA DA COMPUTACAO
Animac ao de Fluidos via SPH
Algemiro Augusto da Silva Neto
Petr opolis-RJ
2005
ALGEMIRO AUGUSTO DA SILVA NETO
ORIENTADOR : G ILSON ANTONIO GIRALDI
Animac ao de Fluidos via SPH
Monografia apresentada ao curso de Graduacao em Tecnologia
da Informacao e da Comunicacao do Instituto Superior de Tec-
nologia em Ciencia da Computacao, como pre-requisito para a
obtencao do tıtulo de Graduado em Tecnologia da Informacao
e da Comunicacao sob a orientacao dos professores Gilson A.
Giraldi e Paulo Sergio Rodrigues.
Petr opolis-RJ
2005
INSTITUTO SUPERIOR DE TECNOLOGIA EM CIENCIA DA COMPUTACAO
FOLHA DE APROVACAO
Animacao de Fluidos via SPH
ALGEMIRO AUGUSTO DA SILVA NETO
Monografia apresentadaa comissao examinadora constituıda pelos Senhores:
Prof. Dr. GILSON ANTONIO GIRALDI - Orientador
Laboratorio Nacional de Computacao Cientıfica - LNCC
Prof. Dr. FABIANO SALDANHA GOMES DE OLIVEIRA - Diretor
Instituto Superior de Tecnologia em Ciencia da Computacao - ISTCC-P
Prof. LUIZ FERNANDO RIBEIRO DE ALMEIDA - Coordenador de Curso
Instituto Superior de Tecnologia em Ciencia da Computacao - ISTCC-P
Petropolis, 14 de fevereiro de 2005.
Resumo
Este trabalho apresenta a implementacao de um metodo em Dinamica dos Fluidos Com-
putacional (DFC) para a animacao de fluidos. Este metodoe baseado na tecnicaSmoothed
Particle Hydrodynamics(SPH). O comportamento do fluidoe modelado por um sistema de
equacoes diferenciais parciais sujeito a certas condicoes iniciais e de contorno. O SPHe apli-
cado na discretizacao dessas equacoes para simulacao computacional do movimento do fluido.
O resultadoe uma representacao atraves de um sistema de partıculas que se movem sob a in-
fluencia de forcas, como gravidade e pressao. Aliada a tecnicas eficientes de visualizacao de
fluidos, este tipo de animacao pode atingir um grau elevado de realismo, uma vez que baseia-
se em princıpios fısicos para representar o movimento dos fluidos. Resultados preliminares
obtidos neste trabalho indicam que esta tecnicae promissora.
Abstract
This work presents an implementation of a Computational Fluid Dynamics (CFD) method
for fluid animation. This method is based on theSmoothed Particle Hydrodynamics(SPH) tech-
nic. The fluid behavior is modelate as a partial differential equation system under some initial
conditions and constrains. The SPH is applied over the discretization of these equations for
computational simulating of fluid movement. The result is a representation throughout a par-
ticles system which move under the influence of forces, such as gravity and pressure. Besides
efficient techniques for fluid visualization, this methodology for animation may achieve a high
degree of realism, since it is based on physical principles for flow representation. Preliminary
results, obtained in this work, show that this is a promising technique.
Sumario
1 Introduc ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Conceitos B asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.1 Introducaoa Dinamica dos fluidos . . . . . . . . . . . . . . . . . . . . . . . . 123.2 Dinamica dos Fluidos Computacional . . . . . . . . . . . . . . . . . . . . . . 143.3 Smoothed Particle Hydrodynamics(SPH) . . . . . . . . . . . . . . . . . . . . 153.4 Tecnicas para Visualizacao de Fluidos . . . . . . . . . . . . . . . . . . . . . . 17
4 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.1 SPH na animacao de fluidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.2 Simulacao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5 Implementac ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.1 Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.2 Sistema de Partıculas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.3 Atributos da Partıcula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.4 Subdivisao espacial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
6 Visualizac ao e Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357 Conclus ao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Refer encias Bibliogr aficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1 Introduc ao
Aplicacoes que envolvem Dinamica dos Fluidos Computacional (DFC) tem sido uti-
lizadas crescentemente em diversasareas. Na industria cinematografica, por exemplo, a mode-
lagem de fluidose foco de pesquisa com o intuito de aumentar o realismo das animacoes. A
“ Animacao de Fluidos” pode ser definida como a geracao de uma sequencia de imagens digitais
contendo fluidos em movimento. Nesse contexto, ha um interesse tanto em reproduzir com fi-
delidade cenas de fenomenos presentes no mundo real quanto em produzir efeitos satisfatorios
na realizacao de cenas que sao fruto da imaginacao dos cineastas. Como exemplo de cenas
reais, podemos citar: inundacoes em ambientes abertos ou fechados (Figura 1), enxurradas,
avalanches, explosoes emareas urbanas e nao urbanas (Figura 3), incendios e uma infinidade
de outras. Dentre as cenas que sao fruto da imaginacao humana, a divisao instantanea de mares
e rios (Figura 2), fluidos que assumem formas humanas ou de outros seres animados sao bons
exemplos.
Figura 1: Dois instantes de uma simulacao de inundacao realıstica em um ambiente fechado.
8
Figura 2: Dois instantes da cena (imaginaria) onde o mar se divide no filme “ O Prıncipe doEgito”.
Figura 3: Simulacao de explosao utilizando um modelo em Dinamica dos Fluidos Computa-cional. Yngve et al. [31]
A animacao de fluidos possui natureza multidisciplinar, e seu desenvolvimento depende
da interacao entre profissionais dasareas de computacao e engenharia. Para atingir o grau de
realismo necessario,e preciso que as equacoes de fluidos sejam convenientemente tratadas e que
as tecnicas de visualizacao de dados utilizadas sejam adequadasas aplicacoes. Essas tecnicas
sao oriundas da computacao grafica e as equacoes de fluidos sao derivadas de conceitos da
mecanica classica.
Sem duvida, a geracao de efeitos visuais para a industria de entretenimento representa
um grande motivador de pesquisas naarea de animacao de fluidos. Entretanto, ela nao e a
unica consumidora das tecnicas desenvolvidas. No meio cientıfico e tecnologico, por exemplo,
ha uma crescente demanda por novas tecnicas de animacao, simulacao e visualizacao de flui-
dos, com o intuito de aplica-las ao estudo de diversos fenomenos. Como exemplo, podemos
citar, o comportamento de estruturas mecanicas sujeitas a fortes correntes de ar ou ao movi-
9
mento das mares, o estudo de fenomenos atmosfericos como os tornados, a hidrodinamica das
embarcacoes, o comportamento de superfıcies expostas a grandes variacoes de temperatura, o
escoamento dasaguas em determinados terrenos, bem como, a predicao da trajetoria de lavas
apos uma erupcao vulcanica e de neve apos uma avalanche, alem da analise do comportamento
do fluxo sanguıneo no interior das arterias do corpo humano [17].
Para estudar os fenomenos em Dinamica de Fluidos, os pesquisadores utilizam princıpios
fısicos juntamente com recursos de analise numerica. O comportamento do fluido pode ser
modelado por um sistema de equacoes diferenciais parciais sujeito a certas condicoes iniciais e
de contorno. Dificilmente este sistema apresenta solucao analıtica, o que os obriga a lancarem
mao dos recursos da analise numerica para discretizar o problema e obter uma solucao com um
nıvel de aproximacao aceitavel. Nesse contexto, sistemas distribuıdos tem sido explorados para
melhorar o desempenho das aplicacoes [17], [5]. Tal busca por poder computacional pode ser
atribuıda ao fato de que, atualmente, uma simulacao numerica em Dinamica de Fluidos Com-
putacional pode empregar malhas 3D com um nıvel de refinamento da ordem de 2563 pontos
para cada instante de tempo simulado e o volume de dados geradoe, em geral, da ordem de
dezenas de GigaBytes.
Esse trabalho apresenta a implementacao de uma metodologia para animacao de fluidos
baseada em uma tecnica denominadaSmoothed Particles Hydrodynamics(SPH). O metodo
SPH e baseado em partıculas e vem sendo aplicado com sucesso em problemas de engen-
haria, tais como simulacao de fluidos compressıveis para o estudo de explosoes e descricao
da dinamica de materiais.
Na secao seguinte, apresentamos os principais trabalhos relacionados com animacao de
fluidos. Na Secao 3, apresentamos os conceitos basicos relacionadosa DFC necessarios ao
entendimento do trabalho. A Secao 4 apresenta a metodologia e implementacao realizada, e
a Secao 5 apresenta alguns resultados preliminares. Finalmente, na Secao 6 apresentamos as
conclusoes e as perspectivas futuras.
2 Trabalhos Relacionados
A Dinamica dos Fluidos Computacional (DFC) possui uma longa historia. Em 1822,
Claude Navier, e em 1845, George Stokes formularam a famosa equacao de Navier-Stokes que
descreve a conservacao do momento. Alem desta equacao, duas equacoes adicionais, uma de-
las descrevendo a conservacao de massa e a outra descrevendo a conservacao de energia sao
necessarias para simular fluidos (ver Sessao 3.1). Uma vez que essas equacoes sao conheci-
das e existe tecnologia dehardwarepara resolve-las numericamente, uma grande quantidade
de metodos tem sido proposta na literatura de DFC para simular o comportamento de fluidos
computacionalmente.
Ha quase duas decadas, tecnicas de simulacao de fluido com propositos especiais vem
sendo desenvolvidas no campo da computacao grafica. Em 1983, T. Reeves [21] introduziu
sistemas de partıculas como uma tecnica para modelar uma classe de objetosfuzzy. Desde entao,
tanto a abordagem Lagrangeana, nao dependente de malhas, quanto a abordagem Euleriana,
baseada em malhas, tem sido usadas para simular fluidos em computacao grafica (Secao 3.2).
Desbrun e Cani [3] e Tonnesen [28] usam partıculas para animar objetos deformaveis. Partıculas
tambem tem sido usadas para animar superfıcies [10] e para animar fluxos de lava [26]. Nos
ultimos anos, a abordagem Euleriana tem sido mais popular para a simulacao de fluidos em
geral [25],agua [6], [4], [27], objetos deformaveis [18] e efeitos de derretimento [1]. Existem
poucas tecnicas disponıveis para uso em sistemas interativos. O metodo apresentado por Stam
11
[25], baseado em malha, foi certamente um passo importante rumo a simulacao de fluidos em
tempo real. Tecnicas de animacao interativas tambem estao disponıveis para o caso especial das
ondas do oceano, em [9]. Ondas deagua tem sido modeladas usando-se uma grande variedade
de abordagens, incluindo modelos estocasticos [20], [13] e modelos cinematicos [14], [29].
Sistemas de partıculas foram adicionados aos modelos cinematicos para modelar espuma e
sprays para obtencao de efeito de ondas quebrando [19]. Tambem foram usados sistemas de
partıculas para modelar rastros de navio [8], e cascatas d’agua [24].
3 Conceitos B asicos
Neste Capıtulo, serao apresentados os conceitos basicos necessarios a compreensao
geral do trabalho.
3.1 Introduc ao a Dinamica dos fluidos
Considerando-se os tres estados da materia, solido, lıquido e gasoso, entende-se por
fluido, a materia em dois desses estados: lıquido e gasoso. Em um nıvel microscopico, as
moleculas de uma substancia estao constantemente em vibracao. Esta vibracao descreve a ener-
gia interna da materia, e consequentemente determina seu estado. Em um solido, a energiae
pequena o bastante (vibracao molecular pequena) de maneira que as moleculas mantem suas
posicoes relativas umasas outras, mantendo assim, um arranjo regular ou estrutura que da ao
solido sua rigidez. Em um lıquido, ha energia suficiente para que as moleculas se movam,
porem, nao o bastante para separa-las completamente. Desta forma, o lıquido restringe-se a um
volume finito. Em um estado gasoso, as vibracoes sao fortes o bastante para que as moleculas
sejam separadas completamente e possam mover-se livremente. Utiliza-se o termo fluidos
compressıveis com referencia aos gases e o termo fluidos incompressıveis com referencia aos
lıquidos. Pode-se dizer que:Dinamica dos fluidose o estudo do movimento do fluido em reacao
a forcas como gravidade e tensoes internas[22].
13
A Pressao mediap sobre umaarea do fluidoe definida como a forcaF normal que atua
sobre a superfıcie do fluido dividida pelaareaA da superfıcie sobre a qual a forca age, dada por:
p =FA
(3.1)
A densidade mediaρ de um volume de fluidoe definida como a massa contida em um
volumeV dividida por esse volume.
ρ =mV
(3.2)
E natural formular as leis de conservacao sob a hipotese de que o fluidoe um meio
“ continuum” (Hipotese da Continuidade) [30]. Propriedades fısicas do fluido, tais como den-
sidade e velocidade, podem entao ser descritas como campos escalares e campos vetoriais em
ℜ3, ambos dependentes do tempo. Por exemploρ(t,x) eu(t,x) .
A Dinamica dos fluidose governada pelas leis de conservacao da fısica classica, chamadas
conservacao de massa, conservacao de energia e conservacao do momento. Equacoes difer-
enciais parciais sao derivadas destas leis e, simplificadas sob circunstancias apropriadas. A
conservacao de massae assegurada pela “ Equacao de Continuidade” dada por:
∂ρ∂t
+~∇ · (ρ~v) = 0 (3.3)
onde~v e a velocidade do fluido.
A equacao de conservacao para energia possui a seguinte forma diferencial:
∂∂t
(ρE)+~∇ · (ρ~vE) = ~∇ · (κ~∇T)+~∇ · ( ¯σ ·~v)+ρ~fe ·~v+qH (3.4)
ondeE e a energia total por unidade de massa,κ e o coeficiente de condutividade termica,T
e a temperatura absoluta e( ¯σ ·~v), ~fe e qH sao fontes de variacao da energia interna devidoas
tensoes internas, forcas de volume e fontes de calor, respectivamente.
A Equacao de Navier-Stokese a equacao de conservacao do momento, ou equacao de
movimento:
14
ρ(
∂~v∂t
+~v·~∇~v
)=−~∇p+ρg+µ~∇2~v (3.5)
ondeg e um campo de forca externo eµ a viscosidade do fluido.
3.2 Dinamica dos Fluidos Computacional
Os modelos matematicos obtidos por meio das equacoes de conservacao descritas acima
dificilmente possuem solucao analıtica. Dessa forma, os modelos precisam ser discretizados
para realizacao de simulacoes numericas. O resultado desta discretizacao e a substituicao do
meiocontinuuminicial do modelo por um conjunto discreto e finito de pontos no espaco e no
tempo, nos quais as derivadas que aparecem nas equacoes serao aproximadas.
Duas abordagens podem ser adotadas para formular as versoes discretas das equacoes
do modelo: A Euleriana e a Lagrangeana.
A abordagem Euleriana pode ser exemplificada pelos metodos tradicionais de Elementos
Finitos e Diferencas Finitas, onde o conjunto de pontose conectado seguindo uma topologia
conveniente, dando origem a uma malha que pode ser de dois tipos:
1. Malha Estruturada: Cada ponto interno possui a mesma quantidade de pontos vizin-
hos.
2. Malha Nao-Estruturada: Cada ponto interno possui quantidade variavel de pontos
vizinhos.
Figura 3: Malha Estruturada.
A abordagem Lagrangeanae independente de malhas. Neste caso, no lugar das malhas,
sao utilizadas partıculas para formulacao das versoes discretas dos modelos. O metodo adotado
15
Figura 4: Malha Nao-Estruturada.
neste trabalho para animacao de fluidose baseado na abordagem Lagrangeana. A secao seguinte
apresenta uma descricao deste metodo e a secao 4.1 mostra como ele foi aplicado em simulacao
de fluidos.
3.3 Smoothed Particle Hydrodynamics (SPH)
Este metodo foi desenvolvido por Lucy [12] e por Gingold e Monaghan [7] para a
simulacao de problemas astrofısicos.
Ao contrario das abordagens baseadas em malha, a abordagem baseada em partıculas
torna as equacoes de conservacao de massa e termos de conveccao dispensaveis, o que reduz
a complexidade da simulacao. Outro aspecto interessante desta abordageme que as partıculas
podem ser diretamente usadas para “ renderizar” a superfıcie do fluido.
Os fundamentos do metodo SPH estao na teoria de interpolacao. Com o SPH, valores
de campos que sao definidos apenas em posicoes discretas das partıculas, podem ser avaliados
em qualquer posicao no espaco. Para este proposito, o SPH distribui as grandezas em uma
vizinhanca local a cada partıcula atraves do uso de uma funcao W, chamada de nucleo de
suavizacao (Smoothing Kernel). De acordo com o metodo SPH, uma grandeza escalarA e
interpolada na posicaor por uma soma ponderada das contribuicoes de todas as partıculas:
AS(r) = ∑j
mjA j
ρ jW(r− r j ,h) (3.6)
onde j itera sobre todas as partıculas,mj e a massa da partıcula j, r j e a posicao,ρ j a densidade
eA j o valor da grandeza na posicaor j .
16
A funcaoW(r,h) e o nucleo de suavizacao e deve ser normalizada da seguinte forma:
∫W(r)dr = 1 (3.7)
onde a constanteh e usada para definir o suporte do nucleo de suavizacao.
A massa e a densidade da partıcula aparecem na Equacao (3.6), uma vez que cada
partıcula i representa um determinado volumeVi = mi/ρi . Enquanto a massami e constante
para toda a simulacao e, nesse caso especıfico, a mesma para todas as partıculas, a densidadeρi
varia e deve ser calculada a cada instante de tempo. Substituindo diretamente na Equacao 3.6 a
grandeza escalarA pela densidade, temos a densidade na posicaor como:
ρS(r) = ∑j
mjρ j
ρ jW(r− r j ,h) = ∑
jmjW(r− r j ,h) (3.8)
Em muitas equacoes de fluidos, derivadas de grandezas aparecem e precisam ser cal-
culadas. Com o metodo SPH, tais derivadas possuem influencia somente sobre o nucleo de
suavizacao. O gradiente deA e simplesmente:
∇AS(r) = ∑j
mjA j
ρ j∇W(r− r j ,h) (3.9)
Enquanto o Laplaciano deA e resolvido para:
∇2AS(r) = ∑j
mjA j
ρ j∇2W(r− r j ,h) (3.10)
E importante perceber que o metodo SPH apresenta alguns problemas. Quandoe uti-
lizado nas equacoes de fluidos, por exemplo, nao e garantido que estas equacoes satisfacam
certos princıpios fısicos como a simetria de forcas e a conservacao do momento. Na Secao 4.1
e apresentado o modelo proposto por Muller et al.[15] para animacao de fluidos via SPH e a
solucao adotada para esses problemas.
17
3.4 Tecnicas para Visualizac ao de Fluidos
Os dados gerados via metodos numericos precisam ser avaliados de alguma forma. Um
recurso de particular importancia na analise desses dados sao as Tecnicas de Visualizacao.
Tecnicas de Visualizacao de campos escalares (renderingde volume, isosuperfıcies,splatting,
etc.), campos vetoriais (linhas de corrente, superfıcies de corrente, tracado de partıculas, tex-
turas, etc.) e campos tensoriais vem sendo aplicadas para auxiliar a analise dos campos gerados
nas simulacoes numericas.
O desenvolvimento das tecnicas de visualizacao cientıfica em DFC, aliado aos proprios
metodos de modelagem e simulacao de fluidos, propiciou as pesquisas em animacao com-
putacional de fluidos. Animacao computacionale uma sub-area da computacao grafica com
intensas pesquisas pelas suas aplicacoes na industria de entretenimento, interacao homem-
computador e educacao. No caso especıfico deste trabalho, o interesse na aplicacao das tecnicas
de visualizacaoe a animacao computacional de fluidos. Por “ animacao de fluidos” entendemos
a geracao de uma sequencia de imagens digitais contendo fluidos em movimento. Este movi-
mento deve ser “ convincente”, ou seja, o fluido deve escoar com o grau de realismo necessario
para o contexto do filme que esta sendo gerado. Entretanto, tecnicas como o Tracado de
Partıculas e a utilizacao de setas para visualizacao dos campos vetoriais serao abordadas nesta
sessao, uma vez que sao bastante populares em DFC.
3.4.1 Setas e Tracado de Partıculas
Estas tecnicas sao convenientes para visualizacao de campos vetoriais que nao possuem
complexidade elevada. A utilizacao de sımbolos (setas)e uma tecnica muito comum e tem a
vantagem de compactar em umunico sımbolo a direcao, o sentido e a magnitude do campo
em um ponto. No entanto, sua grande limitacao esta na representacao de campos vetoriais
3D devido a inevitavel sobreposicao de setas em regioes de maior complexidade do campo e
a ambiguidade das nocoes de direcao e magnitude do campo decorrentes da projecao plana
utilizada para o display na tela do computador. Um exemplo da utilizacao de setase observado
na Figura (5).
18
Figura 5: Visualizacao em 3D do campo vetorial no interior de uma arteria, utilizando setas.
A tecnica do “ Tracado de partıculas” esta baseada na liberacao de partıculas de prova
no interior do fluido as quais ficarao sujeitasa dinamica do mesmo. Ao acompanharmos o
movimento destas partıculas, podemos obter uma boa nocao do comportamento do campo. A
Figura (6), mostra quatro instantes da visualizacao do comportamento do fluxo sanguıneo no
interior de uma arteria, por meio desta tecnica.
3.4.2 Isosuperfıcies
No caso especıfico da mecanica de fluıdos, tem-se basicamente dois campos escalares:
o campo de pressao e a densidade volumetrica de massaρ. Podemos juntar a estes os campos
definidos pelo modulo da vorticidade e da velocidade. Os metodos mais comumente utiliza-
dos para a visualizacao destes campos sao baseados em isosuperfıcies erendering(direto) de
volume.
19
Figura 6: Visualizacao por meio de “ Tracado de partıculas”, do comportamento do fluxosanguıneo no interior de uma arteria.
No caso das tecnicas usando isosuperfıcies a ideia e gerar uma aproximacao poligonal
da superfıcie (isosuperfıcie) definida por uma equacao do tipo:
F(x1,x2,x3) = λ (3.11)
onde Fe o campo escalarF : ∇ → ℜ, com∇ ⊂ ℜ3 e λ e uma constante.
Nas aplicacoes de nosso interesse, os campos escalares estao discretizados e portanto,
a solucao de 3.11 sera obtida via uma busca dos pontos da malha que aproximem suficiente-
mente a superfıcie procurada. As solucoes encontradas na literatura para este problema estao
vinculadas ao tipo de malha utilizado na discretizacao.
Para malhas regulares de hexaedros, um algoritmo comumente usado na geracao de iso-
superfıciese o algoritmo dos cubos marchantes [11]. Vejamos uma descricao deste algoritmo.
20
Inicialmente, consideremos um cubo da malha e facamos uma enumeracao binaria dos
seus vertices, da seguinte forma:e dado o valor “ 1” para os vertices, cujos valores do campo
forem maiores ou iguais ao valorλ da isosuperfıcie procurada e “ 0” para os demais. Assim, as
arestas dos hexaedros que tiverem um vertice com valor “ 1” e outro com valor “ 0” sao aquelas
cortadas pela superfıcie procurada.
Uma vez que um cubo tem 8 vertices, temos um total de 28 = 256 configuracoes possıveis.
Diremos que duas configuracoes sao equivalentes quando uma for identicaa outra a menos de
rotacoes simples. Se considerarmos apenas as classes de equivalencia correspondentes, obtere-
mos um total de 22 configuracoes basicas, como mostra a figura a seguir.
Figura 7: Configuracoes basicas para a intersecao entre um cubo e uma superfıcie.
Cada uma destas configuracoes, sera representada por umındice de 8 bits construıdo
atraves dos estados dos vertices correspondentes. Cada um destesındices sera um ponteiro em
uma tabela que fornece todas as arestas cortadas pela superfıcie para cada configuracao basica.
21
Tal procedimento pressupoe uma enumeracao dos vertices e das arestas do cubo, tal como a
apresentada na figura seguir:
Figura 8: Enumeracao das arestas e lados do cubo juntamente com o indice da configuracaocorrespondente.
Para os casos 0, 1 e 2 da Figura 7, por exemplo, as linhas da tabela tem a seguinte forma:
Procedendo analogamente, podemos montar a tabela para os 22 casos basicos da Figura 7. Esta
Indice Arestas Cortadas0 0 0 0 0 0 0 0 Nenhuma aresta e cortada0 0 0 0 0 0 0 1 e1, e4, e90 0 0 0 0 0 1 1 e2, e4, e9, e10
Tabela 1:Indice da configuracao basica e arestas para os casos 0, 1 e 2 da Figura 7
tabela sera fundamental para o calculo dos polıgonos que concatenados definirao a superfıcie.
22
Tomemos um cubo qualquer da malha. Uma vez analisados os valores de campo em seus
vertices, teremos uma das 256 possıveis configuracoes para o mesmo e poderemos identificar a
configuracao basica correspondente.
Feito isso, teremos oındice correspondente na Tabela 1 e consequentemente as arestas
cortadas. Basta entao tomar os valores de campo nos vertices destas arestas para, via interpolacao,
estimar os pontos de intersecao sobre as mesmas. Estes pontos definirao um polıgono que
aproximara a superfıcie no interior do cubo. Uma vez executado este procedimento para todos
os cubos da malha, teremos uma aproximacao poligonal da superfıcie em questao.
Para a visualizacao da superfıcie poligonal, sera necessario calcular o vetor normal nos
polıgonos que a definem. Se quisermos uma suavizacao da mesma, precisaremos estimar o
vetor normal nos vertices, o que pode ser feito por diferencas finitas. Outra possibilidadee
ajustar uma superfıcie parametrica (splines, por exemplo) aos vertices da superfıcie poligonal,
o que pode trazer problemas de performance para grandes massas de dados.
O metodo de geracao de isosuperfıcies apresentado acima deixa aparente uma limitacao
desta tecnica para visualizacao em grandes massas de dados: o numero de polıgonos formando
a superfıcie pode se tornar muito alto trazendo problemas de performance para a etapa deren-
dering.
Quando isto acontece, podemos lancar mao de tecnicas para simplificacao de superfıcies
poligonais [2] o que por sua vez implica em problemas referentesa preservacao da topologia
das isosuperfıcies e possıvel perda de detalhes importantes.
Por outro lado, tecnicas baseadas em isosuperfıcies tem a vantagem de serem robustas
e apresentam boa performance para massas de dados de pequeno e medio porte. A Figura 11-
(c), no Capıtulo 6, apresenta alguns resultados obtidos por meio desta tecnica.
4 Metodologia
4.1 SPH na animac ao de fluidos
Esta sessao apresenta o modelo baseado em SPH proposto por Muller et al.[15], adotado
neste trabalho para a animacao de fluidos.
Seguindo a metodologia apresentada na Secao 3.6, serao calculadas as forcas de pressao
e viscosidade. Para permitir interatividade em tempo-real serao utilizados nucleos de suavizacao
especıficos que procuram manter o realismo necessario sem comprometer o custo computa-
cional.
Na formulacao Euleriana, fluidos isotermicos sao descritos por uma velocidade~v, uma
densidadeρ e uma pressao p. A evolucao dessas grandezas atraves do tempoe dada por duas
equacoes. Pela Equacao de Continuidade (3.3), que garante a conservacao de massa, e pela
Equacao de Navier-Stokes (3.5) que garante a conservacao do momento. O uso de partıculas
no lugar de uma malha simplifica a resolucao destas equacoes. Como o numero de partıculase
constante e cada partıcula possui massa constante, a equacao de continuidade pode ser comple-
tamente omitida. Alem disso, a expressao ∂~v∂t +~v·∇~v pode ser substituıda pela derivada material
d~vdt , uma vez que as partıculas se movem simulando o fluido e nao temos uma malha para estimar
as derivadas parciais.
24
Existem tres campos de forca no lado direito da Equacao (3.5): aquelas que modelam a
pressao (−~∇p), as forcas externas (ρg) e a viscosidade (µ~∇2~v) . A soma dessas forcas determina
a alteracao do momentoρD~vDt das partıculas. Como aceleracao da partıcula i, temos:
ai =d~vi
dt=
~fiρi
(4.1)
onde~vi e a velocidade da partıcula i e ~fi e ρi sao o campo de forca da densidade e a densi-
dade, respectivamente. A seguir, serao abordadas as forcas de pressao e viscosidade, modeladas
atraves da metodologia apresentada na Secao 3.6, alem das forcas externas e de superfıcie.
4.1.1 Forca de press ao
A aplicacao da regra descrita na Equacao (3.6) sobre o termo da pressao (−~∇p) leva a
f pressi =−~∇p(r i) =−∑
jmj
p j
ρ j
~∇W(r i − r j ,h) (4.2)
Infelizmente, esta forca naoe simetrica, como pode ser visto quando apenas duas partıculas
interagem. Uma vez que o gradiente dokerneltem valor zero no centro, a partıculai usa apenas
a pressao da partıcula j para computar sua forca de pressao e vice-versa. Geralmente, como
a pressaoe diferente em duas partıculas de posicoes diferentes, as forcas de pressao nao serao
simetricas. Diferentes modos de simetrizacao da Equacao (4.2) tem sido propostos na literatura.
Neste trabalho, sera adotada a solucao proposta por Muller et al. [15].
f pressi =−∑
jmj
pi + p j
2ρ j
~∇W(r i − r j ,h) (4.3)
Esta formae simetrica, ja que usa uma media aritmetica das pressoes das partıculas que
estao interagindo.
Uma vez que as partıculas apenas carregam tres grandezas: massa, posicao e velocidade;
a pressao nas posicoes das partıculas deve ser avaliada primeiro. Istoe feito em duas etapas. A
Equacao (3.8) calcula a densidade da partıcula na posicaor. Entao, a pressao pode ser calculada
por uma equacao de estado do tipo gas ideal, dada por:
25
p = k(ρ−ρ0) (4.4)
ondek e uma constante que depende da temperatura eρ0 a densidade inicial.
4.1.2 Forca de viscosidade
A aplicacao da regra descrita na Equacao (3.6), sobre o termo de viscosidade (µ~∇2~v)
produz novamente forcas assimetricas:
f visci = µ~∇2~v(r) = µ∑
jmj
~v j
ρ j
~∇2W(r i − r j ,h) (4.5)
uma vez que o campo de velocidade varia de partıcula para partıcula. Como a forca de
viscosidade depende apenas das diferencas de velocidade e nao da velocidade absoluta, existe
uma maneira natural de simetrizar as forcas de viscosidade usando as diferencas de velocidade.
f visci = µ∑
jmj
~v j −~vi
ρi
~∇2W(r i − r j ,h) (4.6)
4.1.3 Forcas Externas
As forcas externas tais como a gravidade e as forcas de colisao sao diretamente aplicadas
as partıculas sem o uso de SPH. Por exemplo, quando uma partıcula colide com a parede de um
objeto solido, a componente da velocidade, normala superfıcie rıgida,e refletida para o interior
do fluido.
4.1.4 Forcas de Superfıcie
As forcas de superfıcie nao estao presentes na Equacao (3.5), entretanto, foram mode-
ladas em [15] explicitamente baseadas nas ideias de Morris [16]. As moleculas de um fluido
estao sujeitasas forcas atrativas de suas moleculas vizinhas. Dentro do fluido, essas forcas in-
termoleculares sao iguais em todas as direcoes e, portanto, balanceadas. Ao contrario, as forcas
que atuam sobre as moleculas da superfıcie livre nao sao balanceadas. As forcas de tensao de su-
perfıcie atuam na direcao normala superfıcie do fluido. A superfıcie do fluido pode ser obtida
26
usando-se uma quantidade adicional que assume valor unitario nas posicoes das partıculas e
zero em qualquer outra parte. Este campoe denominado “ campo de cor” na literatura e sua
versao suavizadae dada pela expressao:
cS(r) = ∑j
mj1ρ j
W(r− r j ,h) (4.7)
A normal e curvaturas da superfıcie livre podem ser obtidas por:
~n = ~∇cS,κ =−~∇2cS
|~n|(4.8)
Finalmente, as forcas na superfıcie livre sao modeladas por:
tsup= σκ~n|~n|
(4.9)
ondeσ e um parametro que controla a influencia desta forca. O objetivo finale reproduzir o
efeito de minimizacao da curvatura, observado para este tipo de forca. De fato, se considerarmos
uma superfıcie inicialS, que se movimenta de acordo com uma equacao do tipo:
∂S∂t
= σκ~n|~n|
(4.10)
observamos, exatamente, uma evolucao que suaviza pontos onde a curvaturae mais elevada
[23].
4.1.5 Nucleos de suavizac ao
A estabilidade, precisao e velocidade do metodo SPH sao influenciadas pela escolha
dos nucleos de suavizacao. Em Muller et al. [15], foram propostos os seguintes nucleos de
suavizacao:
Wcor(r,h) =315
64πh9
(h2− r2)3, 0≤ r ≤ h,
0, cc.
(4.11)
27
Wpress(r,h) =15πh6
(h− r)3, 0≤ r ≤ h,
0, cc.
(4.12)
Wvisc(r,h) =15
2πh3
− r3
2h3 + r2
h2 + h2r −1, 0≤ r ≤ h,
0, cc.
(4.13)
A ultima expressao, 4.13, foi escolhida por possuir Laplaciano positivo em todo domınio.
Esse Laplacianoe dado pela seguinte expressao:
∆Wvisc(r,h) =
45πh6(h− r), 0≤ r ≤ h
0, cc.
(4.14)
4.2 Simulac ao
As equacoes de Navier-Stokes dadas pela Expressao (3.5) sao discretizadas, substituindo-
se cada termo do segundo membro pela sua versao obtida via nucleo de suavizacao; ou seja,
pelas Expressoes (4.3) - (4.6), com a densidadeρ dada pela equacao (3.8), e usando-se no
primeiro membro a derivada materiald~vdt . Desta forma, obtem-se o seguinte esquema numerico:
d~vi
dt= Qt
i (4.15)
onde
Qti =
−∑ j mjpt
j+pti
2ρtj
~∇W(rti − rt
j ,h)+ρtj~g j +∑ j mj
(~v j
t−~vit
ρtj
)∇2W2(rt
i − rtj ,h)
ρtj
(4.16)
e, seguindo as equacoes (3.8)-(4.4):
ρtj = ∑
k
mkW(rtj − rt
k) (4.17)
28
ptj = k(ρt
j −ρ0j ) (4.18)
Uma vez resolvida a Equacao (4.15), o campo de aceleracoes
(d~vidt
)obtido e final-
mente utilizado para atualizar a velocidade e posicao das partıculas, de acordo com o seguinte
esquema:
~vit+∆t =~vi
t +δt2
Qti (4.19)
rt+∆ti = rt
i +δt~vit+∆t (4.20)
Este esquema, denominado Leap-Frog,e um metodo iterativo de segunda ordem. Em [15],
usou-se um intervalo de tempo constante deδt = 10−2 segundos.
5 Implementac ao
Este capıtulo apresenta a implementacao do metodo SPH descrita neste trabalho para a
simulacao de fluidos. A modelagem do sistemae apresentada na secao 5.1 atraves de um dia-
grama de classes. Com base nesse diagrama as secoes seguintes descrevem os principais topicos
do sistema proposto. Entre eles, as propriedades das partıculas (Secao 5.3), a subdivisao espa-
cial (Secao 5.4), a atualizacao das forcas (Secao 5.4.2) e o tratamento de colisoes (condicoes de
contorno) (Secao 5.4.1).
5.1 Modelagem
O Diagrama de classes da Figura 9 representa, de forma estruturada, a implementacao da
metodologia proposta neste trabalho. Nesta secao descrevemos brevemente, a funcionalidade
das principais classes presentes nesta modelagem.
A ClasseSolvere responsavel pela solucao das equacoes do modelo (Secao 4.1) e por
determinar a posicao das partıculas no instantet + δt, atraves do esquemaLeap-Frog, descrito
na Secao 4.2. A ClasseParticleSystemrepresenta o fluido por meio de um Sistema de partıculas.
A ClasseParticledefine as partıculas do sistema. As Secoes 5.2 e 5.3 descrevem mais detalhes
a respeito das duasultimas classes.
30
A ClasseBoundarymodela as fronteiras do fluido por meio de uma malha poligonal
composta pelas ClassesVerticeeFace. Os vertices compoem as faces e sao uma especializacao
da classe auxiliar3DCoordinate. A ClassemathVectortambeme uma especializacao da Classe
3DCoordinatee e utilizada na definicao de grandezas vetoriais, bem como, algumas operacoes
entre tais grandezas que sao necessariasa aplicacao.
A ClasseSpatialSubdivisionmodela uma subdivisao espacial do domınio. A Secao 5.4
exemplifica essa estrutura.
Figura 9: Diagrama de classes do Projeto
5.2 Sistema de Partıculas
O fluido e modelado como sendo um conjunto organizado de partıculas. As partıculas
representam elementos de pequeno volume do fluido, que interagem de acordo com as leis da
31
Dinamica dos Fluidos. Aviscosidadedo fluido, bem como aforca externaque atua sobre o
mesmo, sao atributos do sistema de partıculas.
5.3 Atributos da Partıcula
Os atributos das partıculas sao os seguintes:
1. massa
2. cor
3. estado
Seu estadoe composto por:
1. posicao
2. normal
3. pressao
4. velocidade
5. densidade
6. condicao
Massa, cor, pressao e densidade sao valores emℜ. Posicao, normal e velocidade sao
grandezas vetoriais. A condicao da partıcula esta relacionada com a posicao que ela pode
assumir no domınio, ee dividida em:
1. Partıcula de fronteira
2. Partıcula de superfıcie
3. Partıcula interna
4. Posicao indefinida
Os atributos cor, normal e condicao sao utilizados na etapa de visualizacao do fluido.
Os demais sao necessariosa simulacao.
32
5.4 Subdivis ao espacial
Com base no fato de que os nucleos de suavizacao possuem suporte limitado, dado por
h, usamos uma subdivisao espacial, com celulas (cubos) de ladoh, onde o conjunto de partıculas
e distribuıdo.
Figura 10: Subdivisao espacial regular
A celula em que cada partıcula sera inseridae dada por umındicen, obtido da seguinte
forma:
n =rx
h+(ex∗
ry
h)+(ex∗ey)∗
rz
h(5.1)
ondeexe eysao as dimensoes do volume emx e y, e rx, ry, rz representam as coordenadas das
partıculas emx,y ez, eh o suporte dos nucleos de suavizacao.
Dessa forma, dada uma partıculai, as partıculas candidatas a participarem com a mesma
durante o calculo das quantidades em questao, estarao na mesma celula da partıcula i, ou nas
celulas vizinhas a esta celula.
Inicialmente, optamos por uma subdivisao espacial regular. Essa estrutura permite a
reducao do custo computacional deO(n2) paraO(nm) onden e o total de partıculas em o
numero medio de partıculas na vizinhancah. Outra vantagem da utilizacao dessa estruturae a
reducao do numero de verificacoes de colisao de uma partıcula com a fronteira da geometria,
33
atraves da identificacao das celulas que sao “ cortadas” por esta fronteira. Uma vez identifi-
cadas tais celulas, as verificacoes de colisao sao efetuadas apenas para as partıculas presentes
nas mesmas. Uma subdivisao espacial adaptativa esta presente na modelagem como pode ser
observado na Figura 9 e sera empregada futuramente para diminuir ainda mais o numero de
verificacoes de colisao.
5.4.1 Condic oes de contorno
Inicialmente, utilizamos um cubo para delimitar as fronteiras do fluido. Entretanto, o
algoritmo utilizadoe generico o bastante para que outras geometrias possam ser modeladas.
Essas condicoes de contorno sao implementadas seguindo uma metodologia simples,
inspirada na interpretacao do fluido como um sistema de partıculas. Ou seja, quando uma
partıcula colide com a parede de um objeto solido, a componente da velocidade, normala
superfıcie rıgida,e refletida para o interior do fluido.
O primeiro passo para este proposito e verificar a posicao da partıcula com relacao a
geometria definida. Essa verificacao foi implementada de modo que possa ser utilizada em
qualquer poliedro convexo.
Se a partıcula avaliada for externaa geometria, inicia-se a etapa de reflexao.
5.4.2 Dinamica
Nesta secao, esquematizamos o calculo das forcas via equacoes da Secao 4.1, bem como
a atualizacao da densidade e pressao das partıculas, dadas respectivamente pelas equacoes 4.17
e 4.18, e, porultimo, a atualizacao da velocidade e posicao das partıculas dadas respectivamente
pelas Equacoes (4.19) e (4.20).
34
Algorithm 1 : Calculo das forcas de Pressao, Externa e de ViscosidadeCalculaForcas()numP= Total de partıculasfor i = 1 tonumPdo
CalculaGradienteWpress(particula i);Calcula Forca de Pressao;Calcula Forca Externa;CalculaLaplacianoWvisc(particula i);Calcula Forca de Viscosidade;
Algorithm 2 : Atualizacao da Densidade e Pressao das partıculasAtualiza Densidade e Pressao();numP= Total de partıculasfor i = 1 tonumPdo
CalculaDensidade(partıcula i)CalculaPressao(partıcula i)
Algorithm 3 : Atualizacao da Velocidade e Posicao das partıculasAtualiza Velocidade e Posicao();numP= Total de partıculasfor i = 1 tonumPdo
Atualiza velocidade(partıcula i);Atualiza posicao(partıcula i);
Algorithm 4 : Condicoes de ContornoCondicoes de Contorno();numPF= Partıculas de fronteirafor i = 1 tonumPFdo
VerificaColisao(partıcula i);EfetuaReflexao(partıcula i);
6 Visualizac ao e Resultados
Em [15] sao utilizadas tecnicas baseadas em superfıcies e tecnicas baseadas em nuvens
de pontos para efetuar a visualizacao. Em ambos os casos, a ideiae fazer uso do campo de cor,
dado pela Expressao (4.7), e de seu gradiente, para identificar partıculas da superfıcie livre do
fluido e encontrar sua normal. Primeiramente, uma partıcula sera considerada na superfıcie se:
|~n|> l , (6.1)
ondel e o limiar a ser escolhido previamente. Assim, a normal a uma partıcula de superfıcie na
posicaor i e dada por:
−~n(r i), (6.2)
Desta forma, obtem-se um conjunto de pontos, com suas normais, entretanto, sem
informacoes de conectividade. Estes sao os elementos necessarios para efetuar orendering
via point splatting. Contudo, devemos ficar atentos com relacaoa quantidade de pontos de su-
perfıcie. Usualmente, as tecnicas desplattingsao aplicadas para nuvens de pontos obtidas via
scanners, com tipicamente 10.000 a 100.000 pontos. Em Muller et al., usa-se apenas algumas
centenas de partıculas para evitar um custo computacional que impossibilite a interatividade em
36
tempo-real. Considerando-se ainda que a quantidade de pontos de superfıcies e apenas uma
fracao deste montante, fica a duvida com relacaoa qualidade visual da cena.
Figura 11: Resultados da utilizacao desplatting(b) emarching cubes(c) em Muller et al. [15].
Na Figura 11, temos um exemplo da utilizacao desplattingnesta aplicacao. A agua no
copo foi amostrada com 2200 partıculas. A Figura 11-(a) mostra as partıculas individualmente.
A Figura 11-(b) mostra um resultado obtido pela utilizacao desplattingpara a renderizacao
da superfıcie livre daagua. A Figura 11-(c) exibe um resultado mais realista, obtido com o
algoritmoMarching-Cubes, descrito na Secao 3.4.2. Neste caso, a superfıcie alvo seria uma
isosuperfıcie do campo de cor suavizado, dado pela Expressao (4.7). Escolheu-se uma malha
regular, fixa, e usou-se Marching-Cubes para obter uma representacao poligonal da superfıcie
em questao. A implementacao usada em [15] inicia a busca pelas celulas que contem partıculas
de superfıcie, varrendo recursivamente as celulas proximas a estas. Usa-se uma tabelahashpara
evitar que uma mesma celula seja visitada mais de uma vez. Contudo, o custo computacional
torna-se mais elevado. Nestes exemplos, usou-se um Pentium IV com 1.8 GHz e placa grafica
Gforce 4. Para osplatting, conseguiu-se uma taxa de 20 frames por segundo, enquanto que,
com Marching-Cubes, a taxa diminuiu para 5 frames por segundo.
A Figura 12 mostra um outro exemplo, onde o usuario interage com o fluido, via mouse,
gerando um campo externo que faz aagua se mover. Neste caso, a superfıcie livre foi ren-
derizada viasplatting. Usou-se 1300 partıculas, conseguindo-se uma taxa de 25 frames por
segundo com a arquitetura descrita acima.
7 Conclus ao
Neste Trabalho, foi apresentada uma metodologia para animacao de fluidos baseada em
um modelo fısico. A implementacao do metodo foi concluıda, entretanto a etapa de visualizacao
esta sendo desenvolvida. Ainda com relacaoa visualizacao, optamos, inicialmente, por utilizar
o algoritmo descrito na Secao 3.4.2. Essa escolha foi feita com base nos resultados encontrados
na literatura, principalmente naqueles obtidos por Muller et al. [15] mostrados na Secao 6.
Esse trabalho faz parte de um sistema mais amplo que encontra-se em fase de desen-
volvimento no LNCC. O sistema em questao dara suportea simulacoes de fluidos por meio
de diversas metodologias alem da apresentada aqui. Alem disso, a visualizacao dos resultados
podera ser feita atraves de diferentes tecnicas. Essas caracterısticas do sistema o tornam flexıvel
e passıvel de ser empregado para o desenvolvimento de aplicacoes de visualizacao de fluidos
com propositos especıficos.
Os resultados obtidos em [15], apresentados na Secao 6, mostram que o modelo fısico
baseado em SPH representou de forma satisfatoria o movimento dos fluidos. Para implementacao
deste modelo, construımos o diagrama apresentado na Figura 9. Como pode ser observado
neste diagrama, a implementacao apresenta uma boa modularizacao do codigo, o que facilita
alteracoes no mesmo. Tal caracterısca se faz bastante conveniente, uma vez que, concluıda a
etapa de visualizacao, alteracoes no modelo podem ser sugeridas para otimizar a simulacao.
39
Apos conclusao da etapa de visualizacao, resultados mais substanciais poderao ser apre-
sentados. Ate aqui, obtivemos boas perspectivas futuras a respeito deste trabalho. Dentre as
quais, podemos citar:
• A exploracao de tecnicas de visualizacao com o intuito de aplica-las a sistemas que
exijam interatividade em tempo real, aumentando o realismo visual da cena sem
comprometer o realismo fısico da simulacao.
• A exploracao de tecnicas de processamento paralelo em ambientes distribuıdos (i.e.,
grade computacional), uma vez que, acredita-se que a adocao dessas tecnicas possa
trazer ganhos substanciais no tempo de execucao dos algoritmos de simulacao numerica
bem como no tempo de execucao dos algoritmos de visualizacao.
• A exploracao de novas metodologias para simulacao do comportamento de fluidos,
com o intuito de aumentar a gama de aplicacoes do sistema de Animacao Computa-
cional de Fluidos em desenvolvimento no LNCC.
Refer encias Bibliogr aficas
[1] M. Carlson, P. J. Mucha, R. B. Van Horn, and G. Turk. Melting and flowing. In ACM
Press, editor,Proceedings of the ACM SIGGRAPH symposium on Computer animation,
pages 167–174, 2002.
[2] J. Cohen, A. Varshney, D. Manocha, G. Turk, H. Weber, F. Brooks, and W. Wright. Simpli-
fication envelopes. Technical report, http://www.cs.unc.edu/ geom/envelope.html, 1996.
[3] M. Desbrun and M. P. Cani. Smoothed particles: A new paradigm for animating highly
deformable bodies. InProceedings of EG Workshop on Animation and Simulation, pages
61–76. Springer-Verlag, 1996.
[4] D. Enright, S. Marschner, and R. Fedkiw. Animation and rendering of complex water sur-
faces. InProceedings of the 29th annual conference on Computer graphics and interactive
techniques, pages 736–744. ACM Press, 2002.
[5] V. Fontes, B. Schulze, M. Dutra, F. Porto, and A. Barbosa. Codims-g: a data and program
integration service for the grid. InProceedings of the 2nd workshop on Middleware for
grid computing, pages 29–34, Toronto, Ontario, Canada, October 2004.
[6] N. Foster and R. Fedkiw. InProceedings of the 28th annual conference on Computer
graphics and interactive techniques, pages 23–30. ACMPress, 2001.
41
[7] R. A. Gingold and J. J. Monaghan. Smoothed particle hydrodynamics: theory and applica-
tion to non-spherical stars.Monthly Notices of the Royal Astronomical Society, (181):375–
398, 1977.
[8] M.E. Goss. A real time particle system for display of ship wakes.IEEE Computer Graph-
ics and Applications, 10(3):30–35, May 1990.
[9] D. Hinsinger, F. Neyret, and M. P. Cani. Interactive animation of ocean waves. InPro-
ceedings of the ACM SIGGRAPH symposium on Computer animation, pages 161–166.
ACM Press, 2002.
[10] J. C. Lombardo and C. Puech. Oriented particles: A tool for shape memory objects mod-
elling. Graphics Interface, pages 255–262, May 1995.
[11] W. E. Lorensen and H. E. Cline. Marching cubes: A high resolution 3d surface construc-
tion algorithm.Computer Graphics, 21(4), July 1987.
[12] L. B. Lucy. A numerical approach to the testing of the fission hypothesis.The Astronomi-
cal Journal, (82):1013–1024, 1977.
[13] G. Mastin, P. Watterberg, and J.Mareda. Fourier synthesis of ocean scenes.IEEE Com-
puter Graphics and Applications, 7(3):16–23, March 1987.
[14] N. Max. Vectorized procedural models for natural terrain: Waves and islands in the sunset.
In Computer Graphics (SIGGRAPH ’81 Proceedings), volume 15, pages 317–324, August
1981.
[15] M. Muller, D. Charypar, and M. Gross. Particle-based fluid simulation for interactive
applications. InProceedings of ACM SIGGRAPH symposium on Computer animation,
2003.
[16] J. P. Morris. Simulating surface tension with smoothed particles hydrodynamics.Interna-
tional Journal for Numerical Methods in Fluids, 33(3):333–353, 2000.
42
[17] A. Neto, G. Giraldi, R. Silva, and V. Fontes. Particles tracing in grid environment. In
Eletronical Proceedings of SIBGRAPI Symposium on Computer Graphics and Image Pro-
cessing, October 2004.
[18] D. Nixon and R. Lobb. A fluid-based soft-object model.IEEE Computer Graphics and
Applications, pages 68–75, July/August 2002.
[19] D. R. Peachy. Modeling waves and surf. InComputer Graphics (SIGGRAPH’86 Proceed-
ings), volume 20, pages 65–74, August 1986.
[20] K. Perlin. An image synthesizer. volume 19, pages 287–296, July 1985.
[21] W. T. Reeves. Particle systems - a technique for modeling a class of fuzzy objects.ACM
Transactions on Graphics, 2(2):91–108, 1983.
[22] T. M. Roy. Physically-based fluid modeling using smoothed particle hydrodynamics. Mas-
ter’s thesis, University of Illinois, 1995.
[23] J. A. Sethian. Level Set Methods: Evolving Interfaces in Geometry, Fluid Mechanics,
Computer Vision and Materials Sciences. Cambridge University Press, 1996.
[24] K. Sims. Particle animation and rendering using data parallel computation. InComputer
Graphics (SIGGRAPH ’90 Proceedings), volume 24, pages 405–413, August 1990.
[25] J. Stam. Stable fluids. InProceedings of the 26th annual conference on Computer graphics
and interactive techniques, pages 121–128. ACM Press/Addison-Wesley Publishing Co.,
1999.
[26] D. Stora, P. O. Agliati, M. P. Cani, F. Neyret, and J. D. Gascuel. Animating lava flows.
Graphics Interface, pages 203–210, 1999.
[27] T. Takahashi, U. Heihachi, A. Kunimatsu, and H. Fujii. The simulation of fluid-rigid body
interaction.ACM Siggraph Sketches & Applications, July 2002.
[28] D. Tonnesen.Dynamically Coupled Particle Systems for Geometric Modeling, Recon-
struction, and Animation. PhD thesis, University of Toronto, november 1998.
43
[29] P. Y. Ts’o and B. A. Barsky. Modeling and rendering waves:wave-tracing using beta-spline
and reflective and refractive texture mapping.ACM Transactions on Graphics, 6(3):191–
214, July 1987.
[30] P. Wesseling.Principles of Computational Fluid Dynamics. Springer, 2000.
[31] G. D. Yngve, J. F. O’Brien, and J. K. Hodgins. Animating explosions. InProceedings of
SIGGRAPH 2000. ACM, 2000.