Quais são os princípios básicos por trás da geração de uma malha móvel?

13

Estou interessado em implementar uma malha móvel para um problema de difusão de advecção. Os métodos de malha móvel adaptativa fornecem um bom exemplo de como fazer isso para a equação de Burger em 1D usando diferença finita. Alguém seria capaz de oferecer um exemplo elaborado para resolver a equação de difusão de advecção 1D usando diferença finita com uma malha móvel?

Por exemplo, na forma conservadora, a equação é,

vocêt=(uma(x)você+dvocêx)x

onde é a velocidade (uma função do espaço). As condições iniciais u ( 0 , x ) podem especificar (por exemplo) uma espécie de fluxo que se move da esquerda para a direita (por exemplo, ao longo de um tubo), onde a condição inicial tem um gradiente acentuado.uma(x)você(0 0,x)

Como o problema de equidistribuição da malha móvel deve ser resolvido (possivelmente com o algoritmo de De Boor ou outra abordagem)? Desejo implementar isso pessoalmente em Python, para que sua resposta possa ser facilmente traduzida em código, tanto melhor!


Pergunta antiga antes da recompensa

  1. Quais são as abordagens básicas para gerar uma malha adaptativa com base nas propriedades do sistema? Devo usar o fluxo como uma medida de onde os gradientes são grandes?
  2. Porque procuro uma solução iterativa (varredura de tempo). Eu imagino que é importante interpolar da grade antiga para a nova grade, qual é a abordagem usual?
  3. Eu ficaria realmente interessado em ver um exemplo trabalhado para um problema simples (como a equação de advecção).

Um pouco de plano de fundo sobre as especificidades do problema. Estou simulando um sistema de equações 1D acoplado,

vocêt=umavocê2vocêx2+bvocêvocêx+fvocê(x,você,v,W)vt=umav2vx2+bvvx+fv(x,você,v,W)Wt=umavocêvocêx+umavvx+fW(x,você,v,W)

O conjunto de equações descreve um problema de difusão de advecção de duas espécies em que a terceira equação se une às outras duas. A solução muda rapidamente perto do centro da minha grade, veja abaixo (estes são exemplos, não cálculos),

Soluções de exemplo

Observe que, na escala de log no gráfico inferior, as soluções para e v variam em ordens de magnitude. No gráfico superior ( w ) há uma descontinuidade no centro. Estou resolvendo o sistema acima com um upwind adaptável, em que a discretização pode se adaptar do central ao upwind dominado, dependendo do valor local do número de Péclet . Estou resolvendo o sistema implicitamente com a integração trapezoidal no tempo ("Crank-Nicolson").vocêvW

Estou interessado em aplicar uma grade adaptável a esse problema. Eu acho que é importante porque, caso contrário, os detalhes do parâmetro shape peak ( ) poderão ser perdidos. Diferentemente desta questão , eu gostaria de aplicar um algoritmo, espero que simplesmente, para geração de malha.W

Como se trata de um problema de difusão de advecção, pode-se imaginar um esquema de malha adaptativa baseado nos fluxos de e v nos limites das células. Como isso indicaria onde o valor está mudando rapidamente. O pico de w também corresponde a onde o fluxo é maior.vocêvW

boyfarrell
fonte
Pelo que entendi, sua descontinuidade é um recurso bastante estável do sistema, pois ele pode se mover, mas está sempre lá em algum lugar (me corrija se eu estiver enganado). Por esse motivo, convém considerar o uso de uma malha móvel em vez do refinamento da malha. É um pouco mais simples se programar. [Este livro] (books.google.com/books?isbn=1441979166) é uma boa referência.
Daniel Shapero
Sim, acho que deve ser um recurso bastante estável (a descontinuidade), pode se mover um pouco durante o tempo e talvez se tornar um pouco assimétrico ao se aproximar do estado estacionário. Eu imagino que eu poderia usar uma grade não uniforme (não adaptável) com pontos agrupados no centro, em vez de algo mais complexo. Eu não estava ciente das diferentes técnicas de adaptação de malha. O livro parece bom, embora ainda haja bastante trabalho para implementar uma grade móvel rigorosamente. Eu esperava uma "solução rápida"!
precisa saber é o seguinte

Respostas:

4

Uma grade adaptativa é uma rede de grade que agrupa automaticamente pontos de grade em regiões com gradientes de campo de alto fluxo; ele usa a solução das propriedades do campo de fluxo para localizar os pontos da grade no plano físico. A grade adaptativa evolui em etapas de tempo em conjunto com uma solução dependente do tempo das equações de campo de fluxo governantes, que calcula as variáveis ​​do campo de fluxo em etapas de tempo. Durante o curso da solução, os pontos da grade no plano físico se movem de maneira a se "adaptar" a regiões com grandes gradientes de campo de fluxo. Portanto, os pontos reais da grade no plano físico estão constantemente em movimento durante a solução do campo de fluxo e ficam estacionários apenas quando a solução de fluxo se aproxima de um estado estacionário.

A adaptação da grade é usada para problemas constantes e instáveis. No caso de problemas de fluxo constante, a grade é adaptada após um número predeterminado de iterações e a adaptação da grade para no momento em que a solução é convergida. No caso de soluções precisas no tempo, o movimento e o refinamento do ponto da grade são realizados em conjunto com a solução precisa no tempo do problema físico. Isso requer tempo de acoplamento preciso dos PDEs do problema físico e daqueles que descrevem o movimento ou a adaptação da grade.

Para os cálculos de configurações mais recentes, a dependência das diretrizes de melhores práticas para geração de malha e experiência anterior deixa a porta aberta para grandes quantidades de erro numérico. Os métodos de adaptação à grade podem produzir melhorias substanciais na qualidade da solução e prometem melhores resultados, porque não existem limitações que definam o limite de resolução da grade que pode ser atingido.

hrprphprh

h

h

r

Em vez de fazer alterações topológicas locais na malha e sua conectividade, os métodos r-adaptativos fazem alterações locais na resolução movendo os locais de um número total fixo de pontos de malha.

p

Método muito popular de adaptação de grade na abordagem por elementos finitos, em vez de volume finito ou método de elementos finitos. Reduz o erro na solução enriquecendo o polinômio de funções de interpolação com a mesma ordem de elementos geométricos. Aqui não há nova malha, geometria a ser calculada e outra vantagem desse método é que ele pode aproximar melhor limites irregulares ou curvos com menos sensibilidade para proporção e inclinação. Por causa disso, é muito famoso em aplicações estruturais.

DrEuvEung-sovocêrces-of-grEud-umadumaptumatEuon

1Feumatvocêre-bumased-umadumaptumatEuon O recurso baseado na abordagem quase amplamente utilizada da adaptação à grade emprega o recurso da solução como força motriz para a adaptação à grade. Geralmente, eles usam recursos da solução, como gradientes e curvatura da solução. As regiões de fluxo que têm grandes gradientes de solução são resolvidas com mais pontos e as regiões de significância mínima são aumentadas. Isso leva ao refinamento da região que é fisicamente específica, como camada limite, choques, linhas de separação, pontos de estagnação, etc. robustez e outros.

2)TrvocêncumatEuon-error-bumased-umadumaptEuon Erro de truncamento é a diferença entre a equação diferencial parcial e sua equação discretizada. O erro de truncamento é a abordagem mais adequada para descobrir onde a adaptação deve ocorrer. O conceito geral por trás da adaptação baseada em erro de truncamento é equidistribuir o erro sobre o domínio da simulação para reduzir o erro total de discretização. Para equações simples, a avaliação do erro de truncamento é o trabalho mais fácil, mas para esquemas complexos é difícil uma abordagem tão diferente que é necessária para esse fim. Para esquemas simples de discretização, o erro de truncamento pode ser calculado diretamente. Para esquemas mais complexos em que a avaliação direta do truncamento é difícil, é necessária uma abordagem para estimar o erro de truncamento.

3)UMAdjoEunt-bumased-umadumaptumatEuon A próxima abordagem promissora é a abordagem adjunta. É muito bom estimar a contribuição local de cada célula ou elemento para o erro de discretização em qualquer solução funcional de interesse, como elevação, arrasto e momentos. Portanto, é útil na adaptação de grade direcionada conforme os requisitos da solução, também chamada de adaptação orientada a objetivos.

Muito bem sucedida!

References:-

[1] Fidkowski Krzysztof J. e Darmofal David L. Revisão da estimativa de erro com base em saída e adaptação de malha na dinâmica computacional de fluidos. AIAA Journal, 49: 673–694, 2011.

[2] John Tannehill Richard Pletcher e Dale Anderson. Mecânica computacional de fluidos e transferência de calor. Taylor e Francis, 1997.

[3] JD Jr. Anderson. Dianamics computational do flidid: O básico com aplicações.McGraw Hill Inc., 1995.

[4] Roy Christopher J. Estratégias para impulsionar a adaptação da malha no cfd. Na 47ª Reunião de Ciências Aeroespaciais da AIAA, incluindo o Fórum New Horizons e a Exposição Aeroespacial, 2009.

[5] McRae Scott D. Algoritmos e problemas de adaptação à grade de refinamento. Métodos computacionais em mecânica aplicada e engenharia, 189: 1161-1182, 2000.

[6] Ivanenko Sergey A. Azarenok Boris N. e Tang Tao. Método de redistribuição de malha adaptativa com base no esquema godunovs. Comm. matemática. sci. 1: 152-179.

[7] Ahmadi Majid e Ghaly Wahid S. Simulação de fluxo inviscível em cascata usando um método de volume finito com adaptação da solução. No 6º Simpósio de Aerodinâmica da CASI, 1997.

[8] Jasak H. e Gosman AD Controle automático de resolução para o método de volume finito, parte 1: estimativas de erro a posteriori. Transferência Numérica de Calor, Taylor & Francis, 38: 237–256, 2000.

[9] Jasak H. e Gosman AD Controle automático de resolução para o volume finito em ethod, parte 2: refinamento de malha adaptável e engrossamento. Transferência Numérica de Calor, Taylor & Francis, 38: 257–271, 2000.

[10] Thompson David S. Soni Bharat K., Koomullil Roy e Thornburg Hugh. Estratégias de grade adaptativa da solução com base na redistribuição de pontos. Métodos computacionais em mecânica aplicada e engenharia, 189: 1183–1204, 2000.

[11] Venditti David A. e Darmofal David L. Estimação adjunta de erros e adaptação de grade para saídas funcionais: Aplicação ao fluxo quase unidimensional. Journal of Computational Physics, 164: 204–227, 2000.

[12] Balasubramanian R. e Newman JC Comparação de adaptação de grade baseada em características e características para resultados funcionais. Revista internacional de métodos numéricos em fluidos, 53: 1541-1569, 2007.

[13] Hartmann Ralf. Estimativa de erros e adaptação adjunta em aerodinâmica. Na Conferência Europeia sobre Dinâmica dos Fluidos Computacional, 2006.

Shainath
fonte
Esse primeiro parágrafo vem de Computational Fluid Dynamics: An Introduction. Provavelmente deveria fazer referência a isso. Mas isso é uma visão geral, obrigado. Você já aplicou a adaptação a um problema de advecção, é basicamente isso que estou tentando resolver?
precisa saber é o seguinte
@boyfarrell, Sim, é verdade, na verdade, tirei tudo isso do meu relatório sobre "Adaptação à grade" como parte do meu trabalho do curso, onde citei referências corretamente. Aqui é difícil adicionar muitas referências, então eu o omiti. Se você quiser, compartilharei todas as referências com você. Sim, planejo usar a adaptação da grade como parte do meu trabalho de pesquisa, mas ainda não comecei. Muito bem sucedida!
Shainath
Uma visão da literatura é uma boa maneira de começar, obrigado por compartilhar!
boyfarrell
@boyfarrell, adicionei referências à minha resposta, que usei para a descrição acima. Tudo de bom
Shainath
3

Eu estava (ainda estou) procurando boas respostas para isso. Trabalho com grades adaptativas de vários níveis, onde utilizo algum tipo de critério para refinamento. As pessoas que praticam o MEF desfrutam, de maneira bastante barata (computacionalmente), estimativas de erro rigorosas que usam como critério de refinamento. Para nós, que fazemos FDM / FVM, não tive sorte em encontrar essas estimativas.

Nesse contexto, se você deseja ser rigoroso com relação ao refinamento, ou seja, refine com base em alguma estimativa do erro real, sua (quase) única opção é a extrapolação de Richardson. Foi o que foi, por exemplo, usado por Berger e Oliger (1984) em seu solucionador hiperbólico de AMR estruturado em blocos. A metodologia é geral no sentido de que você pode usar a extrapolação de Richardson para praticamente qualquer problema. O único problema é que é caro, especialmente para problemas transitórios.

Além da extrapolação de Richardson, todos os outros critérios (na minha humilde opinião) são apenas ad hoc. Sim, você pode definir um certo limite para uma "quantidade de interesse" e refinar com base nisso. Você pode usar fluxos ou derivados de alguma quantidade para alertar um grande gradiente e usá-lo. Ou, se você estiver acompanhando uma interface, poderá refinar com base na proximidade com a interface. Tudo isso é muito barato, é claro, mas não há nada de rigor neles.

Quanto à interpolação entre grades, geralmente você precisa de algo que seja pelo menos tão preciso quanto o solucionador. Às vezes é possível construir interpolações que satisfaçam certas propriedades, por exemplo, conservam a massa ou são convexas, portanto não introduzem novos extremos. Observei que essa última propriedade às vezes é muito importante para a estabilidade do esquema geral.

GradGuy
fonte
Obrigado por compartilhar suas experiências. Sim, parece que fazer isso rigorosamente está realmente bastante envolvido. Como o meu problema é relativamente simples (apenas 1D, etc). Tentarei primeiro uma cinta fixa (não uniforme). Embora eu esteja muito tentado a implementar uma abordagem suave da grade móvel . Se você já moveu a grade antes, quão fácil é implementar isso, digamos, para uma equação de advecção?
precisa saber é o seguinte
@boyfarrell Não tenho certeza do que é uma grade móvel . É como uma grade 1D onde a distância entre pontos pode mudar com o tempo?
precisa saber é o seguinte
Apenas olhando o link sugerido por Daniel Shapero (acima) Métodos de malha móvel adaptativa . Parece interessante.
precisa
2

Se for de fato 1D, você provavelmente não precisará de nenhuma malha adaptativa aqui. Para um problema tão simples, você provavelmente pode resolver tudo o que precisa com uma grade estática, com o poder de computação de uma estação de trabalho moderna. Mas é uma estratégia perfeitamente razoável, no processo de integração no tempo, identificar periodicamente áreas onde a resolução numérica está estressada, adicionar pontos de grade lá (e remover pontos de grade de áreas super resolvidas) e interpolar para a nova grade. Mas isso não deve ser feito com muita frequência, porque a interpolação pode ser cara e adicionaria erro numérico no cálculo geral.

Maxim Umansky
fonte
Obrigado por compartilhar sua experiência. Eu acho que você está certo; Eu provavelmente poderia usar uma grade não constante nesse caso, porque a descontinuidade permanece mais ou menos no mesmo local. Você concordaria?
precisa saber é o seguinte