A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Proposta de Tese de Doutorado

Apresentações semelhantes


Apresentação em tema: "Proposta de Tese de Doutorado"— Transcrição da apresentação:

1 Proposta de Tese de Doutorado
Simulação de Fluidos em Grids Estruturados Paramétricos Tridimensionais em Tempo Real Aluno: Vitor Barata R. B. Barroso Orientador: Waldemar Celes

2 Motivação Exemplos de fluidos Estudos importantes envolvendo fluidos
Ondas do mar Fluxo de um rio Fumaça de uma chaminé ou cigarro Vapor quente de um bule ou reator Estudos importantes envolvendo fluidos Vento passando pelas asas e turbinas de um avião Formação e evolução de tempestades e furacões Fluxo de sangue por veias e artérias Água e óleo em reservatórios e transportados por dutos

3 Introdução Simulação de fluidos
Métodos Lagrangianos: representam o fluido com partículas (ex.: SPH) Métodos Eulerianos: subdividem o espaço em voxels Descrição euleriana de um fluido em um grid regular Campos de valores amostrados em cada célula (i,j,k) do grid Posição: x = [x y z]T Velocidade: u = [u v w]T Pressão: p Temperatura: T Propriedades intrínsecas constantes Massa específica:  Viscosidade cinemática:  Objetivo: descrever como os campos de valores variam com o tempo x(i,j,k) y x

4 Fronteiras Curvas Grid regular Grid em multiresolução
Marcação de células exteriores Tratamento diferenciado de células de fronteira Grid em multiresolução Captura melhor a forma Não evita artefatos Malha simplicial Requer informação topológica Maior custo Grid paramétrico Simples e rápido Não requer topologia Evita artefatos

5 Proposta Mapeamento entre um grid regular uniforme e um deformado
Integração realizada no espaço paramétrico Permite simular caminhos curvos sem usar toda a sua caixa envolvente Evita necessidade de discretização excessiva perto de bordas curvas

6 Transformação de Coordenadas
Regra da Cadeia para gradientes de campos escalares Notação Matricial Jacobiano

7 Transformação de Coordenadas
Regra da Cadeia para velocidades Notação Matricial Jacobiano

8 Transformação de Coordenadas
Espaço real Espaço paramétrico J e J-1 podem ser precomputados armazenados por célula como 9 escalares (4 em 2D) podem ser interpolados fora do centro das células Precisaremos também de termos de segunda ordem: sxx, syy, szz, txx, tyy, tzz, pxx, pyy, pzz

9 Modelo para Simulação Equações de Navier-Stokes (fluidos incompressíveis) Termos: Advecção: o movimento do fluido afeta a ele próprio Pressão: o fluido tende a ocupar áreas de menor pressão Difusão: viscosidade controla a resistência ao movimento Forças externas: aceleração adicional Stable Fluids [Stam99] Aproximação de alto desempenho e incondicionalmente estável Termos considerados sequencialmente de forma independente Cálculo da velocidade em cada passo usa o resultado do anterior

10 Advecção semi-lagrangeana
Stable Fluids Tempo atual t Passo de integração h Partícula no centro x da célula com velocidade u De onde a partícula veio? Rastreio para trás: no tempo (t-h), estava em (x-hu) Velocidade  Velocidade interpolada no ponto anterior Proposta Integrar no espaço paramétrico Velocidades ficam armazenadas no espaço do mundo, devendo ser convertidas para o espaço paramétrico

11 Advecção semi-lagrangeana
Trajetórias de uma partícula com velocidade em s: A = esperada B = sem tracking C = com tracking Passos de integração grandes podem levar a partícula a uma posição incorreta Tracking da partícula Reamostrar o jacobiano e recalcular a velocidade restante Integradores de alta ordem Pode ser suficiente converter cada velocidade intermediária para o espaço paramétrico considerando o Jacobiano local

12 Difusão Equação de Poisson implícita da difusão: [Stam99]
Stable Fluids Regra de atualização acessa 6 vizinhos em 3D (4 em 2D) Solução de um sistema esparso simétrico com 7 (5) diagonais Exemplo de solver: Gradiente conjugado com precondicionador Cholesky incompleto Proposta Regra de atualização acessa 18 vizinhos em 3D (8 em 2D) Solução de um sistema esparso com 19 (9) diagonais Exemplo de solver: Gradiente biconjugado estabilizado com precondicionador multigrid algébrico

13 Pressão e Projeção Stable Fluids Proposta
Calcular o divergente do campo de velocidades Calcular a pressão p (a menos de uma constante) resolvendo a equação de Poisson Projetar a velocidade num campo divergente-livre: Proposta O divergente, inicialmente calculado no espaço paramétrico, deve ser transformado para o espaço do mundo A equação de Poisson recai num sistema esparso com a mesma forma da etapa de difusão, que sofre as mesmas adaptações Na projeção, o gradiente de pressão deve ser transformado para o espaço do mundo

14 Visualização de partículas e tinta
Transporte de partículas sem massa Integração direta da posição das partículas Segue as mesmas regras da advecção semi-lagrangeana Posições guardadas diretamente no espaço paramétrico Conversão do espaço do mundo para o paramétrico seria difícil Advecção de tinta Forma semelhante à de Navier-Stokes, inclui advecção, difusão, extinção e fontes de tinta Adaptações análogas às feitas para Navier-Stokes

15 Condições de Contorno Camada de células junto às fronteiras e obstáculos Cada célula de borda B guarda offset em (s,t,p) para uma célula interior R de referência Relação entre pressões e velocidades de B e R determina diferentes comportamentos Pressão: Velocidade: Componentes tangente e ortogonal sempre alinhadas com espaço paramétrico! B = célula de borda R = célula de referência (s,t)R = (s,t)B + (0,-1) Efeito stan sort oort Parede rugosa -1 Parede lisa 1 Entrada / saída u

16 Implementação – Dados CUDA
Armazenamento Escrita Exemplos Dados pré-computados 2D/3D Cuda Arrays - Vértices de células Centros de células Jacobianos Propriedades simuladas 2D Pitch-linear memory ou Acesso direto 2D/3D CUDA Surfaces Velocidade (x2) Divergência Pressão (x2) Densidade de tinta (x2) Influências externas Page-locked async copy Forças externas Fontes de tinta Condições de contorno Offsets de B para R Parâmetros vtan, vort, oort Visualização PBOs / VBOs / Texturas CudaGraphicsResource Velocidades Densidades de tinta Posições de partículas Propriedades que requerem leitura e escrita simultânea precisam de 2 áreas de memória (x2) Cuda Arrays oferecem interpolação por hardware Suporte a CUDA Surfaces depende do hardware do cliente Dados com 3 componentes devem ser separados

17 Implementação – Kernels CUDA
Não há necessidade de uso da memória compartilhada, pois todos os acessos são naturalmente coalescentes ou apresentam localidade espacial. Atualizações de células de borda: marcações “v” e “p” no diagrama Gargalo: resolução de sistemas lineares esparsos (tarjas no diagrama) Iterações de Jacobi BiCGStab com pré-condicionador Multigrid Algébrico (CUSP) Visualização feita por shaders GLSL

18 Resultados – Validação
Grid regular Resultado idêntico ao Stable Fluids Desempenho ± 2x mais lento em 2D ± 3x mais lento em 3D Vantagem na representação de domínios irregulares

19 Resultados – Caminho curvo 2D

20 Resultados – Caminho curvo 2D

21 Resultados – Caminho curvo 3D

22 Resultados – Constrição 2D

23 Resultados – Constrição 3D

24 Resultados – Constrição 3D
Gráfico mostrando a velocidade média do fluido na direção x ao longo de seções transversais do grid com constrição. A área da constrição é 25% da área nas outras partes do percurso.

25 Resultados – Caminho suave 2D

26 Resultados – Caminho suave 2D

27 Resultados – Caminho suave 3D

28 Resultados – Obstáculo 3D

29 Resultados - Convergência
Testes realizados com Intel Core i GHz, 4GB RAM, placa gráfica GeForce GTX 550 Ti. Gargalo: solução das equações de Poisson Jacobi x BiCGStab Iterações de Jacobi não conseguem atingir erros tão baixos quanto BiCGStab (ver gráfico anterior) BiCGStab não converge em alguns casos! Melhora com uso da última pressão como chute inicial Condição de Parada Iterações BiCGStab Iterações de Jacobi t = 23ms 1 40 t = 37ms 2 65 t = 51ms 3 90 relative error < 10% >200

30 Resultados - Desempenho
As tabelas abaixo fazem uma comparação de desempenho entre o Stable Fluids e nosso método. Os tempos consideram a simulação completa (fluido, partículas e tinta), mas sem renderização. Iterações de Pressão Stable Fluids (300x300) Nosso método 10 Jacobi 13 ms 26 ms 50 Jacobi 53 ms 100 Jacobi 36 ms 71 ms Iterações de Pressão Stable Fluids (64 x 64 x 32) Nosso método 1 CG / BiCGStab 18 ms 45 ms 2 CG / BiCGStab 22 ms 53 ms 3 CG / BiCGStab 26 ms 63 ms 50 Jacobi 14 ms 48 ms 75 Jacobi 16 ms 100 Jacobi 19 ms 59 ms

31 Conclusão Apresentamos um método rápido para realizar a simulação euleriana de fluidos confinados em domínios tridimensionais estruturados de formato arbitrário. Utilizamos matrizes Jacobianas para relacionar o espaço do mundo com o espaço paramétrico de grids estruturados, onde a simulação pode ser realizada com base num simples grid uniforme. A técnica foi implementada em CUDA e aproveita o paralelismo das placas gráficas atuais. O desempenho do algoritmo é de 2 a 3 vezes mais lento que o do Stable Fluids original. Porém, a representação das fronteiras é melhor e evita o surgimento de artefatos na simulação. Testamos dois solvers de sistemas lineares esparsos: iterações de Jacobi e o BiCGStab. O primeiro é mais simples de se implementar e paralelizar, enquanto o segundo apresenta convergência muito mais rápida, diminuindo o tempo total de simulações com qualidade razoável. Apresentamos a seguir um cronograma de tarefas a ainda serem realizadas ao longo do doutorado, além da escrita da tese.

32 Cronograma fev/mar - Injeção de tinta em reservatórios de petróleo
Visualização de campos vetoriais em grids estruturados com falhas abr/mai - Detecção automática de funções de transferência Visualização volumétrica de propriedades em grids estruturados jun - Substituição do grid centrado por MAC Pedido de revisores dos artigos jul - Extração e visualização de superfície livre com gravidade Maior apelo visual e gama de aplicações Visualização não precisa ser em tempo real ago - Testes, melhorias, coleta de resultados, finalização da tese Experimentos com outros grids e outros solvers de sistemas esparsos Defesa da tese: início de setembro

33 Referências [1] N Foster, D Metaxas, Modeling the Motion of a Hot, Turbulent Gas - Proceedings of ACM SIGGRAPH 1997 [2] J Stam, Stable Fluids – Proceedings of ACM SIGGRAPH 1999 [3] M J Harris, Fast Fluid Dynamics Simulation on the GPU – GPU Gems, 2004 [4] P Mullen et al., Energy-Preserving Integrators for Fluid Animation – Proceedings of ACM SIGGRAPH 2009 [5] E Wu, Y Liu, X Liu, An Improved Study of Real-Time Fluid Simulation on GPU – The Journal of Visualization and Computer Animation, 2004 [6] N Foster, R Fedkiw, Practical Animation of Liquids – Proceedings of ACM SIGGRAPH 2001 [7] D Enright, S Marschner, R Fedkiw, Animation and Rendering of Complex Water Surfaces – Proceedings of ACM SIGGRAPH 2002 [8] G Irving et al., Efficient Simulation of Large Bodies of Water by Coupling Two and Three Dimensional Techniques – Proceedings of ACM SIGGRAPH 2006 [9] J-M Hong, C-H Kim, Discontinuous Fluids – Proceedings of ACM SIGGRAPH 2005 [10] F Losasso et al., Multiple Interacting Liquids – Proceedings of ACM SIGGRAPH 2006 [11] A Robinson-Mosher et al., Two-way Coupling of Fluids to Rigid and Deformable Solids and Shells – Proceedings of ACM SIGGRAPH 2008 [12] E. Guendelman et al., Coupling Water and Smoke to Thin Deformable and Rigid Shells – Proceedings of ACM SIGGRAPH 2005 [13] C Batty, F Bertails, R Bridson, A Fast Variational Framework for Accurate Solid-Fluid Coupling - Proceedings of ACM SIGGRAPH 2007


Carregar ppt "Proposta de Tese de Doutorado"

Apresentações semelhantes


Anúncios Google