43
L ABORAT ´ ORIO NACIONAL DE COMPUTAC ¸˜ AO CIENT´ IFICA I NSTITUTO SUPERIOR DE T ECNOLOGIA EM CI ˆ ENCIA DA COMPUTAC ¸˜ AO Animac ¸˜ ao de Fluidos via SPH Algemiro Augusto da Silva Neto Petr ´ opolis-RJ 2005

Animac¸ao de Fluidos via SPH˜ - Centro Universitário FEIpsergio/CG_arquivos/mono-algemiro2005.pdf · “Animac¸ ˜ao de Fluidos” pode ser definida como a gerac¸ ˜ao de uma

  • 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.

37

Figura 12: Aplicacao onde o usuario interage com o fluido via mouse

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.