Bagaimana tepatnya algoritma multigrid * penuh * berjalan?

12

Jadi saya mengerti (atau setidaknya saya percaya saya tahu) bagaimana siklus-V berjalan. Saya telah menulis dalam Matlab versi 1-D, versi rekursif dari siklus-V. Namun, ketika saya menjalankan kode saya untuk FMG, solusi saya tidak konvergen. Saya percaya masalah saya terletak pada pemahaman saya tentang bagian FMG yang sebenarnya. Yang saya tahu saat ini adalah:

  1. Hanya sebelum FMG interpolasi, saya sudah santai solusi saya u
  2. Interpolasi baik kesalahan dan (?)u
  3. Jalankan v-cycle 2-grid, meneruskan kesalahan ke dalam v-cycle (?)
  4. Santai kesalahan (di grid 2 kasar)
  5. Interpolasi dan kesalahannyau
  6. Perbarui dengan menambahkan kesalahan padanya.u
  7. Jalankan siklus-v, lalu ulangi dari langkah 4.

Saya tidak yakin tentang pesanan, tetapi saya juga bisa salah tentang apa yang sebenarnya saya interpolasi dan lulus ke dalam v-cycle saya. Jika saya kehilangan sesuatu dari algoritme, beri tahu saya.

AlanH
sumber

Jawaban:

11

Di mana Anda menemukan interpolasi "kesalahan"? (Dan bagaimana Anda mengukur kesalahan?)

uuhIHhuHIhH=IhH

rh=Ahuhbh

u~HI^hHu~hA

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

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

Jed Brown
sumber
Kesalahan dihitung saat saya menghitung residu melanjutkan dari grid terbaik ke kasar. Perkiraan awal per kisi hanya nol, di mana kemudian dikendurkan dengan beberapa metode berulang.
AlanH
Bagaimana kesalahan (tebakan awal pada solusi) berperan dalam semua ini?
AlanH
1
uhIHhuH
Dalam skema koreksi dua-grid Briggs secara khusus menyebutkan kesalahan interpolasi dari grid kasar ke halus. Tidak terdengar keras kepala, tetapi apakah ini berbeda dari yang Anda jelaskan?
AlanH
1
T=IP1Aen+1=Ten