Як саме працює алгоритм * full * multigrid?


12

Тож я розумію (або, принаймні, я вважаю, що це роблю) як V-цикл працює. Я написав у Matlab 1-D, рекурсивну версію V-циклу. Однак, коли я запустив свій код для FMG, моє рішення не збігалося. Я вважаю, що моя проблема полягає в моєму розумінні фактичної частини FMG. Я зараз знаю:

  1. Напередодні інтерполяції FMG я розслабила своє рішення u
  2. Інтерполюйте як помилку, так і (?)u
  3. Виконати 2-сітковий v-цикл, передаючи помилку в v-цикл (?)
  4. Розслабте помилку (на 2-й найбільш грубій сітці)
  5. Інтерполювати та помилкуu
  6. Оновіть , додавши до нього помилку.u
  7. Запустіть v-цикл, після чого повторіть етап 4.

Я не впевнений у порядку, але я також можу помилитися в тому, що саме я інтерполюю та передаю у свій v-цикл. Якщо я щось бракую з алгоритму, будь ласка, повідомте мене про це.

Відповіді:


11

Звідки ви придумали інтерполяцію "помилки"? (А як ви вимірюєте помилку?)

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)


Помилка була обчислена, коли я обчислював залишки, переходячи від найкращої до найгрубішої сітки. Початкове наближення по сітці дорівнює нулю, де її потім розслаблюють деяким ітеративним методом.
АланH

Яким чином помилка (початкова здогадка рішення) відіграє роль у всьому цьому?
АланH

1
uhIHhuH

У схемі корекції двох сіток Бріггса конкретно згадується інтерполяційна помилка від грубої до тонкої сітки. Не звучати вперто, але чи це якось відрізняється від того, що ви пояснили?
АланХ

1
T=IP1Aen+1=Ten
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.