マルチグリッドを使用していくつかの固有値とベクトルを計算することを計画していますが、PETScがマルチグリッドを高度にサポートしていることに気付きました。PETScのドキュメントには、PETScのこの部分はすぐに交換されるため、使用しないでくださいと書かれています。
マルチグリッドを高度にサポートしているライブラリはどれですか?また、PETScが新しいマルチグリッドサポートをリリースするのはおよそどのくらいですか?
マルチグリッドを使用していくつかの固有値とベクトルを計算することを計画していますが、PETScがマルチグリッドを高度にサポートしていることに気付きました。PETScのドキュメントには、PETScのこの部分はすぐに交換されるため、使用しないでくださいと書かれています。
マルチグリッドを高度にサポートしているライブラリはどれですか?また、PETScが新しいマルチグリッドサポートをリリースするのはおよそどのくらいですか?
回答:
PETScとTrilinosの両方には、優れた代数マルチグリッドメソッドがあります。
deal.IIは、有限要素の離散化のための幾何学的マルチグリッドメソッドを実装しています。たとえば、ステップ16のチュートリアルプログラムを参照してください。
(事前調整子としての)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にネイティブで、高度にスケーラブルな平滑化集約代数マルチグリッドです。