* full *マルチグリッドアルゴリズムはどのくらい正確に実行されますか?


12

だから私は、Vサイクルがどのように実行されるかを理解しています(少なくとも、私はそう信じています)。Matlabで、Vサイクルの1-D、再帰バージョンを作成しました。ただし、FMGのコードを実行したとき、解決策は収束していませんでした。私の問題は、実際のFMGパーツの理解にあると考えています。私が現在知っていることはこれです:

  1. FMG補間の直前に、私は私の解決策を緩和しましたu
  2. エラーuの両方を補間します(?) u
  3. 2グリッドvサイクルを実行し、エラーをvサイクルに渡します(?)
  4. エラーを緩和する(2番目に粗いグリッド上)
  5. とエラーを補間するu
  6. エラーを追加して更新しますu
  7. vサイクルを実行し、ステップ4から繰り返します。

順序についてはわかりませんが、正確に補間してvサイクルに渡すものについても間違っている可能性があります。アルゴリズムに何か足りない場合はお知らせください。

回答:


11

「エラー」の補間はどこで思いつきましたか?(そして、どのようにエラーを測定しますか?)

より細かいグリッドへの最初の訪問では 、理想的には高次演算子を使用して、ソリューション全体を補間する必要があります(たとえば、FEMのポストプロセス/再構成ソリューション)。このFMG補間はu hI h H u Hです。(通常の補間I H h = I H hを使用しても問題ありませんが、これは通常、少なくともスムーズな問題のためにある程度の効率性をあきらめます。)uuhIHhuHIhH=IhH

FMG補間後、1つ以上のVサイクル(またはWサイクルなど)を適用するだけです。(制限する前に、少なくとも1つのスムーザーを実行するようにしてください。)最も一般的な選択肢は、残留r h = A h u hb hのみの線形欠陥修正です。rh=Ahuhbhが制限さと、自然な完全近似スキーム(FAS)です。グローバルな線形化(たとえば、ニュートンやピカード)を回避するため、非線形問題の場合。

u~HI^hHu~hA

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

bHτhHuhAHI^hHuh=bH+τhH. After solving the coarse grid equation, FAS interpolates the change, leading to an updated fine solution uhu~h+IHh(uHI^hHu~h).


The error was calculated as I computed the residuals on proceeding from the finest to coarsest grid. It's initial approximation per grid is just zero, where it's then relaxed by some iterative method.
AlanH

How does the error (of the initial guess at the solution) play a role in all of this?
AlanH

1
1. Error is very different from a residual, and generally not available before convergence (because knowing the error accurately means you also know the solution). MG never moves "error", just residuals, state, and state increments. 2. The FMG initial guess on the fine grid is the interpolation of the solution of the last grid, uhIHhuH.
Jed Brown

In Briggs' two-grid correction scheme specifically mentions interpolating error from the coarse to fine grid. Not to sound obstinate, but is this somehow different from what you have explained?
AlanH

1
You have likely mixed up the effect of the iteration on the error with the mechanics of the iteration process. In iterative solvers, we frequently talk about the iteration matrix T=IP1A and similar quantities. The error in an iteration behaves as en+1=Ten, but error can never be evaluated a priori and thus never appears in the iteration. The iteration matrix and discussion of the error is an analysis tool, but error can only be evaluated after convergence.
Jed Brown
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.