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.

Jawaban:


11

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

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)


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
uh←IHhuH

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=I−P−1Aen+1=Ten
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.