Como exatamente o algoritmo * full * multigrid é executado?

12

Então eu entendo (ou pelo menos acredito) como um ciclo V é executado. Eu escrevi no Matlab a versão recursiva 1-D de um ciclo V. No entanto, quando executei meu código para FMG, minha solução não estava convergindo. Acredito que meu problema está na minha compreensão da parte real do FMG. O que eu sei atualmente é o seguinte:

  1. Pouco antes da FMG interpolação, eu relaxei minha solução u
  2. Interpolate tanto o erro e (?)u
  3. Execute um ciclo v de 2 grades, passando o erro para o ciclo v (?)
  4. Relaxe o erro (na 2ª grade mais grossa)
  5. Interpolar e o errou
  6. Atualize adicionando o erro a ele.u
  7. Execute um ciclo v e repita a partir da etapa 4.

Não tenho certeza sobre o pedido, mas também posso estar errado sobre o que exatamente interpolo e passo no meu ciclo-v. Se estiver faltando alguma coisa no algoritmo, entre em contato.

AlanH
fonte

Respostas:

11

Onde você interpolou o "erro"? (E como você mede o erro?)

Na primeira visita a uma grade mais fina, toda a solução deve ser interpolada, idealmente usando um operador de ordem superior (por exemplo, solução pós-processada / reconstruída para o MEF). Esta interpolação é FMG u hI H H u H . (Não há problema em usar a interpolação normal I H h = I H h , mas isso geralmente gera alguma eficiência, pelo menos para problemas suaves.)uuhIHhuHIhH=IhH

Após a interpolação do FMG, basta aplicar um ou mais ciclos V (ou ciclos W, etc). (Certifique-se de executar pelo menos um processo mais suave antes de restringir.) As opções mais comuns são a correção linear de defeitos, na qual somente o valor residual rh=Ahuhbh é restrito e o Esquema de Aproximação Total (FAS), que é natural. para problemas não lineares porque evita a linearização global (por exemplo, Newton ou Picard).

Em FAS, a grade fina estado é restringida utilizando o operador de restrição estado . A restrição de estado não é necessária pelo multigrid de correção de defeitos linear (um atributo conveniente). As restrições de estado mais comuns são injeção nodal (para DF e FE) e médias de células grosseiras (para FV e FE mista). Agora podemos escrever a equação de grade grossa do FAS (igualmente válida para A não linear ) comou~HI^hHu~hA

AHuH=IhHbhbH+AHI^hHu~hIhHAhu~hτhH

bHτhHuhAHI^hHuh=bH+τhHuhu~h+IHh(uHI^hHu~h)

Jed Brown
fonte
O erro foi calculado quando calculei os resíduos ao passar da grade mais fina para a mais grossa. Sua aproximação inicial por grade é apenas zero, onde é relaxada por algum método iterativo.
AlaNH
Como o erro (do palpite inicial sobre a solução) desempenha um papel nisso tudo?
AlaNH
1
uhIHhuH
No esquema de correção de duas grades de Briggs, menciona especificamente o erro de interpolação da grade grossa à fina. Para não parecer obstinado, mas isso é de alguma forma diferente do que você explicou?
AlaNH
1
T=IP1Aen+1=Ten