タグ付けされた質問 「multigrid」

細かいスケールの表現から粗い表現に問題を射影することにより方程式系を解く方法。一般に、粗い表現は未知数が少ないため、元の問題よりも速く解決できます。粗い解は、細かい問題の解の初期推定として、細かい問題に投影できます。

3
FAS-マルチグリッドは線形欠陥修正よりも遅いですか?
線形欠陥修正(LDC)と完全近似スキーム(FAS)の両方を使用して、Vサイクルマルチグリッドソルバーを実装しました。 私の問題は次のとおりです。LDCを使用すると、残差が1サイクルあたり約0.03倍減少します。FAS実装も線形係数で収束しますが、係数は約0.58です。したがって、FASには約20倍のサイクル数が必要です。 ほとんどのコードは共有され、唯一の違いはダウン/アップの計算です。LDCは ダウン:あなたH:= 0 、bH:= 私Hh(bh− Lhあなたh)uH:=0,bH:=IhH(bh−Lhuh)u_H:=0,\quad b_H:=I_h^H(b_h-L_hu_h) up:あなたh:= uh+ 私hHあなたHuh:=uh+IHhuHu_h:=u_h+I_H^hu_H およびFASの用途 ダウン:あなたH:= 私Hhあなたh、bH:= 私Hhbh+ LH私Hhあなたh− 私はHhLhあなたhuH:=IhHuh,bH:=IhHbh+LHIhHuh−IhHLhuhu_H:=I_h^Hu_h,\quad b_H:=I_h^Hb_h+L_HI_h^Hu_h-I_h^HL_hu_h up:あなたh:= uh+ 私hH(uH− 私はHhあなたh)uh:=uh+IHh(uH−IhHuh)u_h:=u_h+I_H^h(u_H-I_h^Hu_h) 私のテスト設定は、Briggの「マルチグリッドチュートリアル、第2版」、p。64、分析ソリューションがあります u (x 、y)= (x2− x4)(y4− y2)u(x,y)=(x2−x4)(y4−y2)u(x,y)=(x^2-x^4)(y^4-y^2) \quadx 、y∈ [ 0 、1 ]2x,y∈[0,1]2x,y\in [0,1]^2 L V = Δ U = : BLv=Δu=:bLv=\Delta u=:bLLLv=0v=0v=0 u(x,y)=0u(x,y)=0u(x,y)=0v=1v=1v=1 ダウン/アップコードのみが異なるため、LDCの結果は本に準拠しており、FASも少なくとも機能しているように見えるため、同じ線形設定でそれが非常に遅い理由がわかりません。 =0=0=010−1510−1510^{-15}10−110−110^{-1} 写真は言葉以上のものを言うので: …
9 multigrid 

4
代数マルチグリッドコード
代数的マルチグリッド法(AMG)の実装に関する詳細を理解したいと思います。私は「マルチグリッドチュートリアル」を読んでいます。これは非常に優れており、AMGの補間、粗グリッドオペレーター、粗グリッド選択のすべての詳細を説明しています。しかし、コードをいじって読むのと同じだと私は思います。 そこで、SF McCormickの「Multigrid Methods」(SIAM)の最後にある幾何学的マルチグリッドFORTRANコードのような、古典的なAMGの「サンプルコード」を誰かが知っているかどうかを尋ねたいと思います。メソッドの詳細を学ぶためにBoomerAMGのような高品質で量産コードを入手するのは非常に困難です。

1
一定の粗いグリッドサイズと細かいグリッドサイズの増加のためのVサイクルの増加
問題文 にジオメトリックマルチグリッドを実装しました。ここで、上の上の単位立方体。左側面、底面、前面のディリクレ境界は0です。上面、右面、背面のノイマン境界はです。- ∇2= f−∇2=f-\nabla^{2}=ff= 3 π24sのI nはπバツ2sのI nはπy2sのI nはπz2f=3π24s私んπバツ2s私んπy2s私んπz2f=\frac{3\pi^{2}}{4}sin \frac{\pi x}{2} sin \frac{\pi y}{2} sin \frac{\pi z}{2}Ω ∈ [ 0 、1 ]Ω∈[0、1]\Omega \in [0,1]∂あなた∂ん= 0∂あなた∂ん=0\frac{\partial u }{\partial n} = 0 方法 方程式を解くためにマルチグリッド法が使用されます。中央差分式を使用して、ノイマン境界のゴーストポイントを近似します。 メソッドの概要(コメントから、作成者が確認):細かいメッシュ(解決する方程式の最終メッシュ)から開始し、粗いメッシュに進んで修正を計算し、マルチグリッドの最後に伝播して滑らかにします。手順。 観察 問題は、最も粗いグリッドを修正して(たとえば16x16x16)、細かいグリッドサイズを大きくするためにVサイクルを測定すると、Vサイクルが一定にならないことです。私は本で読んマルチグリッドによってTrottenbergら。al。Neumann境界での誤ったスケーリングを防ぐために、変更されたFull Weighted制限演算子を使用する必要があることに注意してください。さらに、私は本に記載されているこの変更された完全な制限演算子を理解できません。 ディリクレとノイマンの混合問題を実装した別の例では、ディリクレ境界でで、収束にこの変更された演算子を使用する必要はありませんでした(最も粗いグリッドと最も細かいグリッドを増やしても、Vサイクルは一定のままでした)。- ∇2= 0−∇2=0-\nabla^{2}=0u = 1 + x + y+ zあなた=1+バツ+y+zu = 1 + x …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.