Come funziona esattamente l'algoritmo multigrid * completo *?


12

Quindi capisco (o almeno credo di sì) come funziona un ciclo a V. Ho scritto in Matlab la versione ricorsiva 1-D di un V-cycle. Tuttavia, quando ho eseguito il mio codice per FMG, la mia soluzione non convergeva. Credo che il mio problema risieda nella mia comprensione dell'attuale parte FMG. Quello che attualmente so è questo:

  1. Appena prima dell'interpolazione FMG, ho rilassato la mia soluzione u
  2. Interpolare sia l'errore che (?)u
  3. Eseguire un v-cycle a 2 griglie, passando l' errore nel v-cycle (?)
  4. Rilassa l'errore (sulla seconda griglia più grossolana)
  5. Interpolare e l'erroreu
  6. Aggiorna aggiungendo l'errore ad esso.u
  7. Eseguire un v-cycle, quindi ripetere dal passaggio 4.

Non sono sicuro dell'ordine, ma potrei anche sbagliarmi su cosa esattamente interpolo e passo nel mio v-ciclo. Se mi manca qualcosa dell'algoritmo, per favore fatemi sapere.

Risposte:


11

Dove ti è venuta l'interpolazione dell '"errore"? (E come si misura l'errore?)

uuh←IHhuHIhH=IhH

rh=Ahuh−bh

u~H←I^hHu~hA

AHuH=IhHbh⏟bH+AHI^hHu~h−IhHAhu~h⏟τhH

bHτhHuh∗AHI^hHuh∗=bH+τhH∗uh←u~h+IHh(uH−I^hHu~h)


L'errore è stato calcolato mentre calcolavo i residui procedendo dalla griglia più fine a quella più grossolana. L'approssimazione iniziale per griglia è solo zero, dove viene poi rilassata con un metodo iterativo.
— AlanH,

In che modo l'errore (dell'ipotesi iniziale della soluzione) gioca un ruolo in tutto questo?
— AlanH,

1
uh←IHhuH

Nello schema di correzione a due griglie di Briggs menziona specificamente l'errore di interpolazione dalla griglia grossolana a quella fine. Non sembrare ostinato, ma è in qualche modo diverso da quello che hai spiegato?
— AlanH,

1
T=I−P−1Aen+1=Ten
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.