July 9, 2007

O Coração de CFD II - A Missão

No post anterior comentei sobre os métodos de discretização, onde as equações de transporte (válidas em um espaço contínuo) são discretizadas e passam a ser válidas em um espaço discreto finito (chamado usualmente de volume de controle). Neste processo, cada volume de controle é dependente dos volumes de controle vizinhos dispostos em um espaço discreto (chamado de malha computacional).

Dessa forma, a discretização espacial, quer o problema seja uni, bi ou tridimensional, leva a um sistema de equações algébricas que é linearizado na forma A x = b, onde A é uma matriz de coeficientes da malha computacional, x é o vetor de variáveis incógnitas e b é um vetor que contém as informações associadas aos termos fontes e às condições de contorno.

A estrutura da matriz de coeficientes A pode variar dependendo da dimensão do problema, da forma de discretização da malha e da ordenação dos volumes (ou elementos ou pontos, dependendo do método de discretização) da malha. A estrutura da matriz é um importante parâmetro na escolha do método mais apropriado para resolver o sistema linear. Em aplicações CFD, cerca de 50% do tempo de computação necessário para resolver um dado problema está associado à solução de sistema linear. Os outros 50% estão associados à obtenção das equações discretizadas.

Os métodos numéricos para solução de sistemas lineares podem ser divididos em duas classes: diretos e iterativos.

Os métodos diretos determinam a solução exata, a menos de erros de truncamento, em um número finito de operações matriciais. Eles são indicados para sistemas lineares com um número não muito de grande de equações (até alguns milhares) ou com uma matriz do sistema cuja estrutura permite um método especial de solução. A limitação destes métodos a sistemas pequenos ocorre por dois motivos. Primeiro, o número de operações (matemáticas) cresce muito rapidamente com o tamanho do sistema, o que aumenta o custo computacional superlinearmente. Além disso, o alto número de operações leva ao aumento dos erros de truncamento, o que degrada a acurácia da solução. A decomposição LU em conjunto com a Eliminação Gaussiana é um dos métodos mais utilizados.

Os métodos iterativos foram desenvolvidos para superar as deficiências dos métodos diretos no tratamento de grandes sistemas. Os métodos iterativos também ganharam espaço devido a sua facilidade de implementação em computadores de alto desempenho com memória compartilhada ou distribuída (supercomputadores e clusters), quando comparado aos métodos diretos. Alguns métodos iterativos, como o Gauss-Seidel, o Gradiente Conjugado (CG) e suas variantes, o GMRES e o Algebraic Multigrid (AMG) podem ser citados.

Por fim, o procedimento geral na solução CFD se mostra como colocado na figura abaixo.

No comments:

Post a Comment