CFD Aula 6

of 51 /51
EN3224 Dinâmica de Fluidos Computacional Universidade Federal do ABC Aula 6 Geração de Grades EN3224 Dinâmica de Fluidos Computacional

Embed Size (px)

description

CFD Aula 6 do professor Annibal Hetem da UFABC

Transcript of CFD Aula 6

  • 1. Universidade Federal do ABCAula 6 Gerao de Grades EN3224 Dinmica de Fluidos ComputacionalEN3224 Dinmica de Fluidos Computacional

2. TRANSFORMAES DE COORDENADAS EN3224 Dinmica de Fluidos Computacional 3. Grade de pontos discretos A abordagem de diferenas finitas apresentada at agora, que exige que os clculos sejam feitos sobre um arranjo de pontos de grade discretos. A disposio destes pontos discretos ao longo do campo de fluxo simplesmente chamado de uma grade. A determinao de uma grade adequada para o fluxo sobre ou atravs de uma dada forma geomtrica um problema complexo. EN3224 Dinmica de Fluidos Computacional 4. Gerao da grade A questo da gerao de grade uma considerao importante em CFD: o tipo de grade escolhida para um dado problema pode ajudar ou prejudicar a soluo numrica. A gerao de grade torna-se uma atividade por si s. assunto de numerosas conferncias especiais, bem como vrios livros. EN3224 Dinmica de Fluidos Computacional 5. Converso de grades A abordagem de diferenas finitas exige uma grade uniforme. No temos uma forma direta para resolver numericamente as equaes de fluxo que regulam mais de uma grade no uniforme dentro do contexto de um mtodo diferenas finitas. Em vez disso, a grade no uniforme deve (de alguma forma) ser convertida em uma grade uniforme, retangular. As equaes diferenciais parciais devem ser reformuladas de modo a aplicarem-se nesta grade retangular transformada. EN3224 Dinmica de Fluidos Computacional 6. Problema... Alguns problemas reais no permitem que sejam aplicadas as equaes de diferenas finitas diretamente.EN3224 Dinmica de Fluidos Computacional 7. Exemplo Deseja-se calcular o fluxo sobre um aeroflio.EN3224 Dinmica de Fluidos Computacional 8. Questes 1. Alguns pontos da grade caem dentro do aeroflio, onde eles esto completamente fora do fluxo. Quais so os valores das propriedades de fluxo que atribuiremos a estes pontos?2. Existem poucos, se algum, os pontos da grade que caem sobre a superfcie do perfil aerodinmico. Isto no bom, porque a superfcie do perfil aerodinmico uma condio de contorno vital para a determinao da forma e, consequentemente, a superfcie do perfil aerodinmico deve ser clara e claramente vista pela soluo numrica.EN3224 Dinmica de Fluidos Computacional 9. A grid adequada Plano fsico Aqui vemos uma grade no uniforme curvilnea que literalmente desenhada em torno do aeroflio. Plano computacional Os pontos a, b, e c, no plano fsico correspondem aos pontos a, b, e c no plano computacional.EN3224 Dinmica de Fluidos Computacional 10. Transformao de coordenadas A transformao deve ser definida de tal forma que exista uma correspondncia um-para-um entre a grade retangular e a grade fsica. As equaes de diferenciais finitas so resolvidas por um mtodo de diferena finita realizado no espao computacional. O resultado diretamente levado de volta ao plano fsico, atravs da correspondncia de um-para-um dos pontos da grade. As equaes governantes so resolvidas no espao computacional, que deve ser expresso em termos das variveis x variveis e h, em vez de x e y. As equaes que governam o fluxo devem ser transformadas a partir de (x, y) para (x, h) como as novas variveis independentes.EN3224 Dinmica de Fluidos Computacional 11. Aes relativas a grades 1. Obter as transformaes das coordenadas e das equaes. 2. Gerar a grade.EN3224 Dinmica de Fluidos Computacional 12. Transformao das variveis Por simplicidade vamos comear com um fluxo fora do regime, com variveis independentes x, y e t. As variveis independentes do espao fsico (x,y,t) sero transformadas em (x,h,t), ondex x ( x, y , t ) h h ( x, y , t ) t t (t ) EN3224 Dinmica de Fluidos ComputacionalA Transformao 13. ...e as derivadas? Usando a regra da cadeia: x h t x h x t x x y ,t h ,t x y ,t y ,t x ,h y ,t x ,t Os subscritos so adicionados para enfatizar que as variveis so mantidas constantes na diferenciao parcial. Em nossas expresses posteriores, os subscritos sero descartados, no entanto, sempre til mant-los em mente. EN3224 Dinmica de Fluidos Computacional 14. d/dx e d/dy Assim, para o espao temos x h x x h x x x h x y h y y EN3224 Dinmica de Fluidos Computacional 15. d/dt E para o tempo x h t x h t t t t x , y h ,t t x , y x , y x ,h x , y x ,t ou x h t x t h t t t t EN3224 Dinmica de Fluidos Computacional 16. A mtrica da transformao Os termos x x h h , , e x y x ycorrespondem mtrica da transformao.EN3224 Dinmica de Fluidos Computacional 17. A segunda derivada Seja x h A x x h t x A segunda derivada em x vale: 2 A x h 2 x x h t x x x 2x x 2 2h h 2 2 x x xx h x 2 x xh x EN3224 Dinmica de Fluidos Computacional 18. A segunda derivada Chamando2 B xx x x e lembrando que x h x x x h x 2 x 2 h B 2 x x hx x De modo similar 2 2 x 2 h C h xh x h 2 x xh x EN3224 Dinmica de Fluidos Computacional 19. A segunda derivada Substituindo na equao original e rearranjando os termos, teremos x h x 2 2 x x h x 2 x 2 x x 2222 2 h 2 h x 2 h x 2 hx x x 2EN3224 Dinmica de Fluidos Computacional2 20. A segunda derivada Seguindo o mesmo processo para y, teremos x h x 2 2 x y h y 2 x 2 y y 22222 h 2 h x 2 h y 2 hx y y 2EN3224 Dinmica de Fluidos Computacional2 21. A segunda derivada E para a segunda derivada mista, 2x 2h 2 x x 2 x xy h xy x 2 x y xy 2 h h 2 h x x h 2 h x y 2 xh x y x y EN3224 Dinmica de Fluidos Computacional 22. Exemplo 1 Obter a equao de Laplace em (x,y,t) transformada para o espao (x,h,t), Equao de Laplace: 2 2 2 0 2 x yEN3224 Dinmica de Fluidos Computacional 23. Exemplo 1: resoluo 2 2 2 0 2 x y 2 h x 2 2x 2h 2 x 2 h 2 2 x x h x 2 x 2 x h 2 x 2 hx x x x 2222 2 h x 2x 2h 2 x 2 h 2 2 x y h y 2 x 2 y h 2 y 2 hx y y y 2Somando, igualando a zero, rearranjando e agrupando, chega-se a 2 x 2 x 2 x 2 2 2 x y h h 2 h 2 2 y 2 xh x h x h x y y x x 2x 2x 2h 2h 2 2 x h x 2 y 2 0 x y EN3224 Dinmica de Fluidos Computacional 24. A transformao inversa Tambm se faz necessria a transformao do espao computacional para o espao fsico. As variveis independentes do espao computacional (x,h,t) sero transformadas em (x,y,t): x x(x ,h ,t ) y y (x ,h ,t ) t t (t ) EN3224 Dinmica de Fluidos Computacional 25. A transformao inversa Consideremos a componente u da velocidade. Sua derivada no espao fsico vale: u u du dx dy x y Levando para o espao computacional, teremos u u x u y x dx dx dy dx u u x u y h dx dh dy dh EN3224 Dinmica de Fluidos Computacional 26. A transformao inversa Considerandou u x u y x dx dx dy dx u u x u y h dx dh dy dhum sistema linear, usando o mtodo de Cramer, podemos escreverEN3224 Dinmica de Fluidos Computacionalu x u u h x x x x hy dx y dh y dx y dh 27. O jacobiano O denominador da ltima expresso o jacobiano determinante, denotado por x ( x, y ) x J (x ,h ) x hy dx y dhO Jacobiano a matriz de todos as derivadas parciais de primeira ordem de um vetor ou de funo com valor escalar com respeito a outro vector. EN3224 Dinmica de Fluidos Computacional 28. A transformao inversa Com esta nova notao, teremosu 1 u y u y x h h x x J eu 1 u x u x h x x h y J Estas frmulas expressam as derivadas das variveis do fluxo no espao fsico em termos das derivadas das variveis do fluxo no espao computacional. EN3224 Dinmica de Fluidos Computacional 29. Generalizando As transformaes inversas genricas ficam 1 y y x h h x x J 1 x x h x x h y J EN3224 Dinmica de Fluidos Computacional 30. Relaes envolvendo jacobianos x x y dxx x h x y x dh hy dx J y dhx x h xx y dy 1 dh h J y dy dxx h x xEN3224 Dinmica de Fluidos Computacionalx x h dx x y h dy1 y J dh 1 y J dx 1 x J dh 1 x J dx 31. VERSO TRANSFORMADA DAS EQUAES DE CFD EN3224 Dinmica de Fluidos Computacional 32. Forma robusta das equaes Pergunta: dada uma equao do tipo U F G 0 t x yPodemos obter U1 F1 G1 0 t x hEN3224 Dinmica de Fluidos Computacional? 33. Forma robusta das equaes transformadas Passo 1: aplicamos as equaes de transformao. U F G 0 t x yU F x F h G x G h y h y 0 t x x h x x EN3224 Dinmica de Fluidos Computacional 34. Forma robusta das equaes transformadas Passo 2: multiplicamos pelo jacobiano. U F x F h G x G h y h y 0 t x x h x x F x F h G x G h U J J x x J h x J x y J h y 0 t EN3224 Dinmica de Fluidos Computacional 35. Forma robusta das equaes transformadas Calculamos o operador JF (x / x) x x F J F J x x x x x F x JF (x / x) x J F J x x x x x EN3224 Dinmica de Fluidos Computacional 36. Forma robusta das equaes transformadas De forma similar, para h teremos F h JF (h / x) h J F J h x h h x E, para G: G x JG (x / y ) x J J G x y y x x G h JG (h / y ) h J J G h y y h h EN3224 Dinmica de Fluidos Computacional 37. Forma robusta das equaes transformadas Substituindo e fatorando, chega-se a U x x h h JF J JG h JF x JG y t x x y 0 F x x h J J x h x G x x h J y h J y 0 EN3224 Dinmica de Fluidos Computacional0 38. Forma robusta das equaes transformadas x 1 y Lembrando que x J dheh 1 y dx J dxEnto x h y y 2 y 2 y J J h h x xh hx 0 x x h x x e x h x x 2 x 2 x J y h J y x h h x xh hx 0 x EN3224 Dinmica de Fluidos Computacional 39. Forma robusta das equaes transformadas Finalmente, temos U1 F1 G1 0 t x hondeU1 JU x x F1 JF JG x y h h G1 JF JG x y EN3224 Dinmica de Fluidos Computacional 40. GERAO ALGBRICA DE GRADE ELPTICA EM DOMNIOS DE BLOCOS ESTRUTURADOSEN3224 Dinmica de Fluidos Computacional 41. Introduo A maioria das tcnicas de soluo de equaes diferenciais parciais busca uma aproximao com a verdadeira soluo em grades. Estas grades tm de satisfazer certos requisitos no que diz respeito sua geometria, bem como a sua topologia. O tipo de grade escolhida tem grande influncia sobre a qualidade dos resultados obtidos.EN3224 Dinmica de Fluidos Computacional 42. Classificao de malhas Malha estruturada - Caracterizada por conectividade regular. - Restringe as escolhas de elementos para quadrilteros em 2D ou em hexaedros em 3D.Malha no estruturada - Caracterizada pela conectividade irregular. - Os requisitos de armazenamento para uma malha no estruturada pode ser substancialmente maior. - Bom para geometria complexa. EN3224 Dinmica de Fluidos Computacional 43. Malha estruturadaEN3224 Dinmica de Fluidos Computacional 44. Malha no estruturadaEN3224 Dinmica de Fluidos Computacional 45. Mtodos para gerao de grade estruturada Mtodo algbrico- Mais fcil para a gerao de malhas. - Propagao de canto - Quebra das linhas de grade. - Serve como grade inicial para a gerao de grade elptica.Mtodo Elptico- Produz as grades melhor possvel no sentido de suavidade e rede de distribuio de ponto. - Pode ser utilizado com funo de controle (Poisson) ou sem funo de controle (Laplace). EN3224 Dinmica de Fluidos Computacional 46. Mtodo algbrico: equaes de gerao de grade Sistema de equaes de Laplace (membranas) a22 xxx 2a12 xxh a11 xhh 0 a22 yxx 2a12 yxh a11 yhh 0Desvantagem: no fornece qualquer controle sobre a distribuio de pontos internos.EN3224 Dinmica de Fluidos Computacional 47. Mtodo elptico: equaes de gerao de grade Sistema de equaes de Laplace (membranas) a22 xxx 2a12 xxh a11 xhh 0 a22 yxx 2a12 yxh a11 yhh 0Desvantagem: no fornece qualquer controle sobre a distribuio de pontos internos.EN3224 Dinmica de Fluidos Computacional 48. Mtodo elptico: equaes de gerao de grade Sistema de equaes de Poisson 1 2 a22 xxx 2a12 xxh a11 xhh (a22 P1 2a12 P1 a11 P22 ) xx (a22 P 2 2a12 P 2 a11 P22 ) xh 11 12 11 12 1 2 a22 yxx 2a12 yxh a11 yhh (a22 P1 2a12 P1 a11 P22 ) yx (a22 P 2 2a12 P 2 a11 P22 ) yh 11 12 11 12Sistema original de LaplaceFunes de controleDesvantagem: no fornece qualquer controle sobre a distribuio de pontos internos.EN3224 Dinmica de Fluidos Computacional 49. Mtodo 1. Definir os pontos das bordas. 2. Criar um grid inicial (algbrico). 3. Aplicar interativamente o mtodo de Laplace ou Poisson. EN3224 Dinmica de Fluidos Computacional 50. Mtodo Para Laplace: x 0com condies de contorno de Dirichlet a discretizao fica xi , j xi 1, j xi 1, j xi , j 1 xi , j 1 4EN3224 Dinmica de Fluidos Computacional 51. Programa exemplo //--------------------------------------------------------------------------// executa um passo no sentido da soluo float dgrid() { int i,j; float xm,ym,erro,mm; float xx[MAXDIM][MAXDIM]; float yy[MAXDIM][MAXDIM]; mm = 0; erro = 0; for(i=1;i