grade estruturada e grade não estruturada

8

Eu sou novo no campo do CFD. Quando devemos ir para a grade estruturada e quando devemos ir para a não estruturada? (Sim, depende muito da geometria do problema). Mais especificamente, quero saber a diferença na potência computacional necessária, na precisão alcançada e nos esforços envolvidos nos dois tipos de grade. Quais são os bons recursos que explicam grades estruturadas e não estruturadas na linguagem mais simples?

Subodh
fonte

Respostas:

6

Atualmente, estou implementando um método VoF (um método geométrico para simulação de fluxo de duas fases na malha Euleriana) que é nativo da grade estruturada, em uma grade não estruturada, então aqui estão minhas experiências até agora (observe que o que estou escrevendo vem de trabalhando com uma implementação específica):

malha não estruturada :

profissionais

  • geração rápida de malhas para geometrias complexas
  • operações diretas na topologia de malha
    • malha tetraédrica: troca de arestas, refinamento
    • malha hexaédrica: refinamento baseado em octree (divida a célula com 2 planos)
    • interfaces de malha deslizante (geometrias rotativas etc.)
  • método de volume finito construído sobre esse tipo de malha: é robusto, a paralelização do método é direta, a implementação de condições de contorno é muito fácil

contras

  • precisão reduzida devido a um estêncil de célula menor: você pode acessar apenas os vizinhos de uma célula (isso pode diferir para implementações de malha diferentes, mas no meu caso é assim)

  • por causa de um estêncil menor, a implementação de esquemas de interpolação de ordem superior (WENO, ENO) é muito difícil (problemas de paralelização)

  • A reconstrução de gradientes para campos nítidos que se propagam na direção inclinada (envolve informações provenientes de pontos vizinhos ) não é simples

malha estruturada

profissionais

  • maior precisão do que na malha não estruturada: você pode acessar pontos em todas as direções e criar estênceis grandes

  • refinamento de malha baseado em octree: a malha é representada usando uma estrutura de dados octree; portanto, a geometria de nível superior é uma caixa

  • o refinamento é muito mais rápido do que para não estruturado (em uma malha não estruturada, a malha completa é copiada e inflada)

contras

  • para lidar com o movimento relativo dos corpos, são usadas grades imersas complexas (malha quimérica) (a maioria não é conservadora de massa)

  • se você precisar de uma malha de conformidade de limites, poderá fazê-lo para limites curvos, mas a discretização será convertida no sistema de coordenadas curvilíneas

  • usado principalmente para domínios de fluxo na forma de caixas (no entanto, os métodos de refinamento de octree e corte de célula permitem geometrias totalmente complexas dentro dos domínios em caixa)

Portanto, se você tiver um domínio em caixa e uma geometria complexa, e precisar de alta precisão, use a malha estruturada.

Por outro lado, se a geometria do seu limite de domínio for complexa (como fundição de ligas metálicas em moldes complexos), use a malha não estruturada. Além disso, se a simulação exigir um movimento relativo dos corpos, a malha não estruturada é a escolha, simplesmente porque as bibliotecas de quimeras são muito difíceis de obter (pesquisa militar).

Outra pergunta é o que está disponível para você a que custo, como: taxas de licença, tempo necessário para aprender uma biblioteca de código aberto, etc.

tmaric
fonte
2

Como você mencionou, isso depende muito da geometria do problema envolvido, mas também da estrutura computacional usada (por exemplo, FEM, FDM ou FVM).

Métodos de diferença finita (FDM) são freqüentemente restritos a grades estruturadas que não requerem estruturas de dados especiais para o registro de informações da grade. Dito isto, o FDM pode ser estendido para grades semiestruturadas, como grades adaptadas de quadtree ou octree, usando estruturas de dados mais sofisticadas. No entanto, as grades estruturadas são muito mais simples de codificar e mais fáceis de desenvolver. Além disso, com esse tipo de grade, a decomposição e a paralelização de domínios geralmente são triviais. Eles geralmente são adequados para domínios simples, mas certos métodos, como limites imersos ou métodos de interface imersos, foram desenvolvidos que utilizam esse tipo de grade para até geometrias não triviais.

Métodos de volume finito (FVM) e Métodos de elementos finitos (FEM), por outro lado, são geralmente mais gerais e podem (uniformemente) manipular várias geometrias. Isso, no entanto, tem o custo de usar estruturas de dados mais complicadas, o que resulta em algoritmos mais complexos e mais tempo de desenvolvimento. Eles geralmente são mais difíceis de paralelizar, pois a grade agora deve ser particionada em subdomínios antes de serem enviados para diferentes processadores. Dito isto, a existência de pacotes de software bem escritos para tarefas específicas (como pré-condicionadores, solucionadores lineares e particionadores de gráficos), juntamente com sua robustez e versatilidade, os tornam uma excelente opção a considerar se você possui geometrias não triviais.

Finalmente, independentemente do tipo de método (e, portanto, da grade) que você escolher, existem métodos de ordem alta (caro) e baixo (barato) nas três famílias diferentes que você pode escolher para o seu problema específico.

mmirzadeh
fonte