どのライブラリがマルチグリッドを高度にサポートしていますか?


17

マルチグリッドを使用していくつかの固有値とベクトルを計算することを計画していますが、PETScがマルチグリッドを高度にサポートしていることに気付きました。PETScのドキュメントには、PETScのこの部分はすぐに交換されるため、使用しないでくださいと書かれています。

マルチグリッドを高度にサポートしているライブラリはどれですか?また、PETScが新しいマルチグリッドサポートをリリースするのはおよそどのくらいですか?


2
新しいMGはpetsc-devにあり、新しいGAMGソルバーと同様に機能します。すべての例を変更できるようになるまで(そして数百に達するまで)リリースするのを待っています。私は今、petsc-devを使い始めました。
マットネプリー

回答:


7

PETScとTrilinosの両方には、優れた代数マルチグリッドメソッドがあります。

deal.IIは、有限要素の離散化のための幾何学的マルチグリッドメソッドを実装してます。たとえば、ステップ16のチュートリアルプログラムを参照してください。


2
DMDA(デカルト)グリッドを使用する場合、PETScは幾何学的なMGを実行します。それは、補間器と粗い問題を構築する方法を知っているからです。
マットネプリー

11

(事前調整子としての)PETScマルチグリッドは非常に成熟しており、次のように入力することにより、PETScのKSP(反復Krylov法)ソルバーのいずれかで使用できます。

-pc_type mg

ただし、これには、PETSc DAオブジェクトによって定義された構造化されたグリッドを自動的に粗くするなど、粗いレベルを生成する何らかの方法が必要です。

または、HYPREパッケージの代数マルチグリッドを使用する場合は、次を使用できます。

-pc_type hypre

または、MLパッケージから

-pc_type ml

これらは、構成プロセス中に追加することによりダウンロードされます

--download-hypre=1 --download-ml=1

./configureコマンドラインに。

(今のところ)減価償却されている部分はDMMGフレームワークであり、これはSNES(非線形)FASソルバーに置き換えられており、MGまたはFASを使用しながらマルチレベルの離散化を処理するためのサポートが改善されています。他の置換(線形問題の場合)は

-pc_type gamg -pc_gamg_type sa

これは新しいコードで、PETScにネイティブで、高度にスケーラブルな平滑化集約代数マルチグリッドです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.