Tese de Doutorado Simulação eficiente de fluidos no espaço paramétrico de malhas estruturadas tridimensionais Aluno: Vitor Barata R. B. Barroso (vbarroso@inf.puc-rio.br)

Slides:



Advertisements
Apresentações semelhantes
3. Princípios de Conservação no Oceano
Advertisements

Computação Gráfica I Conteúdo: Professor: - Objetos gráficos espaciais
Métodos Iterativos.
Sistemas Realimentados
Amintas engenharia.
Controle de Processos por Computador
Amintas engenharia.
DCA-0114 Computação Gráfica
Ciclos, Vectores e Gráficos Simulação da Queda de Corpos II
Temas de DSP Conceitos básicos de Sinais.
Fundamentos da Cinemática dos Fluidos
Fenômenos de Transporte I
- Engenharia de Produção -
1 MergeSort Seja uma lista A de n elementos. O algoritmo consiste das seguintes fases Dividir A em 2 sub-listas de tamanho n/2 Conquistar: ordenar cada.
Introdução à Computação Gráfica Geometria
1.1. VARIÁVEIS DE ESTADO SISTEMAS III
6. Estruturas p/ Sistemas Discretos
Métodos Numéricos e Estatísticos
Fenomenologia do Problema de Fechamento da Turbulência e
1º SEMINÁRIO DO PROJETO MULTIGRID
COSMO D. SANTIAGO – MSc. CARLOS H. MARCHI – Dr.Eng.
Doutorando: Cosmo D. Santiago – MSc.
Orientando: Cosmo D. Santiago – MSc. Orientador: Carlos H. Marchi – Dr.Eng. 1º Seminário do projeto Multigrid - abril/2008 Otimização do método multigrid.
VIII JMAC Análise de Desempenho de Modelos do Tipo k-e para Baixos Números de Reynolds José Diniz M. Abrunhosa Angela O. Nieckele Grupo de Dinâmica dos.
Computação Gráfica: Aula9: Sistemas de Partículas
Computação de Alto Desempenho
Fenômeno de Separação Gás-líquido (água-óleo) em Dutos Helicoidais: um estudo CFD Análise CFD do Efeito da Geometria na Separação Gás-líquido (água-óleo)
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Experiments with Strassen’s Algorithm: from sequential to parallel
Processadores – Aula 3 Professor: André Luis Meneses Silva
Modelagem Matemática Aplicada à Engenharia Civil
Processadores – Aula 3 Professor: André Luis Meneses Silva
Computação Gráfica: Aula10: Sistemas de Partículas
UNIVERSIDADE FEDERAL DO PARANÁ
DINÂMICA DOS FLUIDOS COMPUTACIONAL Cap
Dinâmica do Movimento Plano de um Corpo Rígido: Força e Aceleração
Gerenciando Grandes Modelos (aula 10)
Cap. 6 – Escoamento de fluidos incompressíveis e invíscidos
1 Fundamentos de SIG. - Sistemas de Informação
MECÂNICA ALGARISMOS SIGNIFICATIVOS
Cálculo Numérico / Métodos Numéricos
Computação Gráfica Aula 11 Curvas Prof. Leo.
ANÁLISE DE UM SISTEMA MULTI-ELETRODOS EM PROCESSOS ELETROQUÍMICOS Vinicius Flores Resumo A utilização de multi-eletrodos no estudo de processos eletroquímicos.
Modelos de Dados para Bancos de Dados Móveis
Sistema de equações lineares
TA 631 – OPERAÇÕES UNITÁRIAS I
Cap.9 - Escoamento Externo
Cap. 5 – Introdução à análise diferencial de escoamentos
Hardware assisted rendering of csg models
Resolução de sistemas de equações lineares
Sistemas Operacionais
Sistemas Operacionais
Técnicas de Localização para Robôs em Ambientes Internos Claudia Patricia Ochoa Díaz Mestrado em Sistemas Mecatrônicos UnB
Proposta de Tese de Doutorado
Aula 4 Disciplina: Sistemas de Controle 1 - ET76H
Modelação Lagrangeana Localização das variáveis no volume de controlo: Fluxos calculados sobre as faces.
F.T I Aula 4.
Aula 01 – Apresentação da Disciplina
Plano de Aulas  Estruturas de aceleração  Descarte contra volume de visão  Descarte por oclusão  Grafo de cena: OpenSceneGraph  Traçado de raios em.
2PFG/DE/FEM/UNICAMP – FUNDAMENTOS EM CFD jun-15 Prof. Dr. Ricardo Augusto Mazza1 VOLUMES FINITOS Prof. Dr. Ricardo A. Mazza 2PFG/DE/FEM/UNICAMP.
Física Experimental III – aula 6
Física Experimental III – aula 7
Modelagem Matemática Aplicada à Engenharia Civil
Teoria Quase-Geostrófica
3. AS FORMAS DIFERENCIAIS DAS LEIS FUNDAMENTAIS
(Ensino Fundamental , 9º ano)
Física I Aula02 – Movimento Unidimensional 2009/2010.
Hidrodinâmica Aula 10 (1 0 Sem./2016) 1 Prof. Helio Salim de Amorim.
Métodos Numéricos Métodos numéricos para resolução de Equações Diferenciais AED-27 – Aerodinâmica Supersônica Vitor Kleine Valeria Leite.
Transcrição da apresentação:

Tese de Doutorado Simulação eficiente de fluidos no espaço paramétrico de malhas estruturadas tridimensionais Aluno: Vitor Barata R. B. Barroso (vbarroso@inf.puc-rio.br) Orientador: Waldemar Celes (celes@inf.puc-rio.br)

Motivação Exemplos de fluidos Estudos importantes envolvendo fluidos Correntes de rios Ondas do mar Fumaça de uma chaminé ou cigarro Vapor quente de um bule ou motor 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 Transporte de água e óleo em dutos

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 uma grade regular Campos de valores escalares e vetoriais amostrados no centro de cada célula (i,j,k) da grade Posição: x = [x y z]T Velocidade: u = [u v w]T Pressão: q Propriedades intrínsecas constantes Massa específica:  Viscosidade cinemática:  Temperatura: T Objetivo: integrar os campos de propriedades para descrever sua variação no tempo  x(i,j,k) y x

Fronteiras Curvas Grade regular Grade em multirresolução Marcação de células exteriores Tratamento diferenciado de células de fronteira Grade em multirresolução Captura melhor a forma Não evita artefatos associados a degraus Malha simplicial Requer informação topológica Maior custo computacional Grade curvilínea paramétrica estruturada Simples e rápido Não requer topologia Evita artefatos

Proposta Idéia básica: explorar o conceito de malhas curvilíneas de CFD Mapear a grade física curvilínea do espaço do mundo para uma grade computacional uniforme no espaço paramétrico Realizar a integração eficientemente no espaço paramétrico Vantagens: Evitar a necessidade de armazenar dados para toda a caixa envolvente do domínio Considerar paredes e obstáculos curvos de maneira natural, sem a necessidade de se refinar a grade ou de se lidar com casos especiais próximo às fronteiras

Proposta Foco: Estratégia: Gerar boas aproximações para aplicações interativas e de visualização científica Estratégia: Começar com o algoritmo Stable Fluids clássico [Stam99] Realizar adaptações para levar em conta métricas e Jacobianos, além do esquema de amostragem deslocada Incorporar gradativamente técnicas avançadas mais recentes conforme o necessário, sempre verificando as adaptações necessárias para a sua implementação no espaço paramétrico

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

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

Transformação de Coordenadas Domínio físico (espaço do mundo) Domínio computacional (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 dos pontos amostrais Precisaremos também de termos de segunda ordem: sxx, syy, szz, txx, tyy, tzz, pxx, pyy, pzz

Modelo para Simulação Equações de Navier-Stokes (fluidos incompressíveis) Termos: Advecção: as propriedades do fluido são carregadas por ele próprio Pressão: o fluido tende a ocupar áreas de menor pressão Difusão / viscosidade: atrito interno e resistência à deformação Forças externas: acelerações adicionais

Algoritmo Stable Fluids original Equações de Navier-Stokes (fluidos incompressíveis) Stable Fluids [Stam99] Aproximação de alto desempenho e incondicionalmente estável Separação de primeira ordem em passos fracionados Termos considerados sequencialmente de forma independente Algoritmos eficientes e estáveis para cada etapa Cálculo da velocidade em cada passo usa o resultado do anterior Ordem dos operadores é importante Advecção exige campo livre de divergência A – Advecção (ou Convecção) D – Difusão (ou Viscosidade) F – Forças Externas P – Projeção (ou Pressão)

Separação de Operadores Estratégia do tipo “dividir-e-conquistar” Dividir um problema complexo em um conjunto de subproblemas mais simples Resolução de cada subproblema por algoritmos especializados Soma das contribuições de cada solução intermediária Tipos Separação de coordenadas Passos fracionados (separação por fenômenos físicos) Erro Pode ser estimado, existem métodos de diferentes ordens Pode limitar a acurácia da integração mesmo com operadores exatos Separação de Operadores - Operator Splitting Separação de Coordenadas - Coordinate Splitting Integração por Passos Fracionados – Fractional Step Method Método de Lie-Trotter

Separação de Operadores Problema de valor inicial: Resolução direta: Método de Lie-Trotter (primera ordem): Separação de Operadores - Operator Splitting Separação de Coordenadas - Coordinate Splitting Integração por Passos Fracionados – Fractional Step Method Método de Lie-Trotter

Discretização do domínio Amostragem colocalizada [Stam99] Pressões e velocidades nos centros das células Equações desacopladas, componentes oscilatórias Amostragem deslocada [Harlow65,Bridson08] Pressões nos centros, velocidades nas faces das células Componentes de velocidade separadas (interpolação)

Representação das velocidades Velocidades no espaço do mundo Tratamento matemático mais simples Malha deslocada: Desalinhamento entre velocidades e normais das faces não é prejudicial ao resultado[Azevedo12] Maior dificuldade com condições de contorno Velocidades no espaço paramétrico Maior complexidade matemática Velocidades normais são mais intuitivas Condições de contorno mais simples Velocidades no mundo Velocidades paramétricas Malha colocalizada Malha deslocada

Advecção semi-Lagrangiana Dados: Tempo atual t, passo de integração h Partícula numa posição amostral xA com velocidade uA Procedimento: Partícula que seria carregada pelo fluido até o ponto amostral xA Rastrear para trás (qualquer ordem, passo -h) até origem xB Atribuir à amostra a velocidade interpolada em xB Dissipação numérica Interpolação cúbica saturada e outras técnicas Efeito comparável à difusão/viscosidade Interpolação cúbica: Catmull-Rom com saturação para estabilidade Outras técnicas: Confinamento de vorticidade

Advecção semi-Lagrangiana Trajetórias de uma partícula com velocidade u: A – linear no espaço do mundo (correta para u constante no mundo) B – linear no espaço paramétrico local (correta para u paramétrica constante) C – linear no espaço local com passo adaptativo (aproximada para u constante no mundo) Malhas curvilíneas Integração pode ser feita no espaço global ou paramétrico Maior eficiência no espaço em que a velocidade está representada Maior precisão no espaço em que a velocidade exibe comportamento mais simples Subdivisão em passos adaptativos Ao atravessar fronteiras entre células ou percorrer distância unitária no espaço paramétrico Considera variações nas velocidades e nos jacobianos Atribuição final deve ser feita sempre com base no espaço do mundo Evitar influência da variação de tamanho e rotações das células

Difusão Equação de Poisson implícita da difusão: [Stam99] Malhas regulares (cada componente) Solução de um sistema esparso simétrico com 7 diagonais em 3D (5 em 2D) Iterações de Jacobi: Regra de atualização acessa 6 vizinhos em 3D (4 em 2D) Exemplo de solver: Gradiente Conjugado (CG) com pré-condicionador Cholesky Incompleto (IC) Malhas curvilíneas (cada componente) Solução de um sistema esparso não-simétrico com 19 diagonais em 3D (9 em 2D) Iterações de Jacobi: Regra de atualização acessa 18 vizinhos em 3D (8 em 2D) Exemplo de solver: Gradiente Biconjugado Estabilizado (BiCGStab) com pré-condicionador Multigrid Algébrico (AMG)

Forças externas Integração explícita de primeira ordem é suficiente em qualquer caso Acelerações arbitrárias violam fortemente condição de incompressibilidade Aplicar projeção logo após esta etapa

Projeção Malhas regulares Visão geral Procedimento Após etapas anteriores, velocidades violam condição de incompressibilidade Queremos projetar as velocidades em um campo livre de divergência Utilizamos a decomposição de HelmHoltz-Hodge: Procedimento Calcular a divergência do campo de velocidades intermediárias Calcular a pressão q (a menos de uma constante) resolvendo a equação de Poisson Projetar a velocidade num campo livre de divergência: Malhas regulares Solução de um sistema esparso com a mesma estrutura do operador de difusão Exemplo de solver: Gradiente Conjugado (CG) com pré-condicionador Cholesky Incompleto (IC)

Projeção em malhas curvilíneas Divergência Malha regular: Malha curvilínea: Espaço paramétrico: As divergências das bases do espaço paramétrico podem ser pré-calculadas Símbolos de Christoffel

Projeção em malhas curvilíneas Pressão Solução de um sistema esparso com a mesma estrutura do operador de difusão Exemplo de solver: Gradiente Biconjugado Estabilizado (BiCGStab) com pré-condicionador Multigrid Algébrico (AMG) Projeção Malha regular: Malha curvilínea: Espaço paramétrico: Os termos da matriz composta acima podem ser pré-calculados

Transporte de partículas e densidades de 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 custosa Advecção de densidades de tinta[Stam99] Estrutura análoga à equação de Navier-Stokes Operadores: advecção, difusão, extinção e fontes externas Resolução análoga ao procedimento aplicado para Navier-Stokes

Condições de Contorno em malha regular Camada extra de células junto às fronteiras e obstáculos Cada célula de borda B está associada a um 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 Efeito Malha colocalizada Malha deslocada Pressão uBtan uBort qB Passagem livre uRtan uRort Parede lisa -uRort qR Parede rugosa -uRtan Entrada de fluido uin Saída de fluido uout Condição de Dirichlet: valor = X (ex.: velocidade na borda = 0) Condição de Neumann: derivada = X (ex.: gradiente de pressão na borda = 0)

Condições de Contorno em malha curvilínea Aplicadas no espaço paramétrico normalizado Componentes tangente e ortogonal sempre alinhadas com os eixos locais Módulos independentes do tamanho local das células Utilização de fatores de escala e offset: Pressão: Velocidade: Malha deslocada e velocidades globais: paredes lisas não suportadas devido à dificuldade em garantir que apenas a componente normal seja igual a zero Efeito Malha colocalizada Malha deslocada Pressão stan sort oort sq Passagem livre 1 Parede lisa -1 Parede rugosa Entrada de fluido uin Saída de fluido uout

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 eficiente por hardware Suporte a CUDA Surfaces depende do hardware do cliente Dados com 3 componentes devem ser separados para manter o acesso coalescente

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. A ser testado: tornar os kernels limitados por computação em vez de por banda [Nguyen10] 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 (implementados na biblioteca CUSP) Visualização feita com o auxílio de shaders GLSL

Resultados – Validação Inicial Resultados idênticos ao Stable Fluids em grades regulares 2D/3D

Resultados – Caminho curvo 2D

Resultados – Caminho curvo 3D

Resultados – Constrição 2D

Resultados – Constrição 3D

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 é 1/4 da área nas outras partes do percurso.

Resultados – Caminho suave 2D

Resultados – Caminho suave 3D

Resultados – Obstáculo 3D

Resultados Informações gerais: Convergência: Jacobi x BiCGStab Intel Core i5 750 2.67GHz, 4GB RAM, placa gráfica GeForce GTX 550 Ti. Gargalo: resolução das equações de Poisson Convergência: Jacobi x BiCGStab Iterações de Jacobi não conseguem atingir erros tão baixos quanto BiCGStab BiCGStab não converge em alguns casos! Melhora com uso da última pressão como chute inicial Melhora significativamente com utilização de um ponto de pressão fixa Condição de Parada Iterações BiCGStab Iterações de Jacobi t = 23ms 1 40 t = 37ms 2 65 t = 51ms 3 90 erro relativo < 10% >200

Resultados - Desempenho Tempos para 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 2 a 3 mais lento, mas melhor representação de domínios curvos

Conclusão Método eficiente para a simulação euleriana de fluidos confinados em domínios tridimensionais curvilíneos estruturados Matrizes Jacobianas relacionam o espaço do mundo com o paramétrico de malhas estruturadas Simulação realizada com base numa simples grade uniforme Desempenho Técnica implementada em CUDA, explora bem o paralelismo das placas gráficas atuais. 2 a 3 vezes mais lento que o Stable Fluids original com implementação similar. Fronteiras curvilíneas Dispensa informações topológicas Não exige tratamento de casos especiais Não requer maior refinamento próximo às fronteiras Evita o surgimento de artefatos na simulação Resolvedores de sistemas lineares esparsos Iterações de Jacobi: mais simples de se implementar e paralelizar, estabilidade garantida BiCGStab: convergência muito rápida, diminuindo o tempo de simulação e melhorando a qualidade do resultado, mas estabilidade não garantida Trabalhos futuros Abordagem integral para pressões Técnicas de preservação da vorticidade Tratamento de gravidade e superfície livre

Perguntas?

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 [14] Nguyen A. et al., 3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs –Proceedings of International Conference for High Performance Computing, Networking, Storage and Analysis, 2010 [15] AZEVEDO, V. C., Efficient smoke simulation on curvilinear grids. – Master’s thesis, UFRGS, 2012.

Anexos

Difusão em malhas regulares Equação de Poisson implícita da difusão: [Stam99] Malhas regulares:

Difusão em malhas curvilíneas