Declaração do problema
Eu implementei multigrid geométrica para onde em em um cubo de unidade . Os limites do dirichlet na face esquerda, inferior e frontal são 0 . Os limites de Neumann na parte superior, direita e traseira são .
Método
Um método multigrid é usado para resolver a equação. Aproximo os pontos fantasmas no limite de Neumann usando a fórmula da diferença central .
Visão geral do método (a partir dos comentários, confirmados pelo autor): Comece na malha fina (a malha final com a qual a equação será resolvida), prossiga para a malha mais grossa para calcular a correção, propagá-la de volta e suavizar no final do multigrid procedimento.
Observações
O problema é que, quando eu reparo minha grade mais grossa (digamos 16x16x16
), e medo os ciclos V para aumentar o tamanho da grade , meus ciclos V não são constantes . Eu li no livro MULTIGRID de Trottenberg et. al . que precisamos usar um operador de restrição Full Weighted modificado para evitar dimensionamento incorreto nos limites de Neumann. Além disso, não consigo entender esse operador de restrição total modificado mencionado no livro.
Em outro exemplo em que implementei um problema misto de Dirichlet-Neumann que nos limites do Dirichlet, não era necessário usar esse operador modificado para convergência (grade mais grossa fixa e aumentando a grade mais fina, os ciclos V permaneceram constantes).
Questão
A "restrição ponderada total modificada" poderia estar causando uma deterioração na taxa de convergência?
Por favor, sugira / explique.
fonte
Respostas:
Sua suposição inicial pode gerar um grande resíduo próximo ao limite de Neumann. Dependendo do método de restrição, esse resíduo pode não diminuir conforme desejado.
O que eu tentaria é, em vez de um ciclo V, usar um ciclo FMG. Como o ciclo FMG começa na grade mais grosseira, você terá uma estimativa razoável perto da sua condição de limite de Neumann em níveis mais refinados. Na minha experiência, o FMG funciona bem com as condições de contorno de Neumann.
fonte