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

線形システムを解くための前提条件子の設計と実装に関する質問。

1
対流拡散演算子の前処理に代数マルチグリッドを使用する
線形連立方程式を解くために、FEM離散化とPETScに基づいてNavier Stokesを実装しました。効率的な解の手順を作成するために、私は「非圧縮性流れのための線形化されたナビエ・ストークス方程式の効率的な事前調整」(Silvester et al。)に従って、Schur補完アプローチを提案します。メッシュサイズとタイムステップに関係なく、ほぼ一定の反復回数があり、このホワイトペーパーでも説明されている単純なベンチマーク(2D駆動キャビティフローと後向きステップ)の反復数がほぼ一定であるという意味で、これは非常にうまく機能します。しかし、現時点では、並列速度直接ソルバー(MUMPS)で上部速度ブロックを解きます。Pressure Schurブロックは、論文で提案されているように、不正確なソルバーで解かれます。 この論文では、著者は、各外部反復で単一のマルチグリッドVサイクルを実行し、この離散対流拡散演算子の逆数を近似するためにポイントガウスザイデルスムーザーを使用することを提案しています。幾何学的なマルチグリッド法を簡単に使用できないため、直接ソルバーを1つの代数的マルチグリッドVサイクル(hypreパッケージのboomeramg)に置き換えることを考えました。しかし、メッシュを細かくしている間、一定数の反復を失うよりも。 代数的マルチグリッドに基づいて速度行列の逆行列に対してスペクトル的に等価で効率的な前処理を作成する方法を知っている人はいますか?この場合、代数的マルチグリッドを利用できない固有のものはありますか?そうでない場合、定数反復スケーリングを失う原因は何でしょうか? 編集: 速度ブロックのさまざまなソルバーのベンチマークをいくつか追加しました。問題は、標準の2D駆動キャビティフロー、テイラーフードによる離散化、およびユニットボックスの均一な改良によって解決されます。 Exaktソルバー(MUMPS) :25 ITER H=1h = 132h=132h = \frac{1}{32}:25 ITER H=1h = 164h=164h = \frac{1}{64}:25反復 h=1h = 1128h=1128h = \frac{1}{128}:22反復h = 1256h=1256h = \frac{1}{256} 1つのV-AMG(代数、ブーメラム) :30 ITER H=1h = 132h=132h = \frac{1}{32}:30 ITER H=1h = 164h=164h = \frac{1}{64}:39反復 h=1h = 1128h=1128h = …

2
ILUプレコンディショナーの分類
スパース線形システムのBiCGStabソルバーの場合、前提条件子を使用する必要がほとんど常にあることを学びました。良いものを選ぶことは問題に依存していることを今までに気づきました。 Webをサーフィンしているときに、ILUベースのプレコンディショナー(ILUT、MILUなど)がたくさんあることがわかりました。ここで混乱しました。 誰かがILUプレコンディショナーの分類法を簡単に説明でき、特定のもののいくつかの文献ソースを提供でき、それらのうちのどれがBiCGStabに適しているのか疑問に思いました。 私が作業している設定はCFDであり、コードは非構造化有限ボリュームの離散化に基づいています。乱流スカラーの運動量方程式と輸送方程式には、おそらく異なる前処理が必要になります。

2
線形化の前に非線形問題を事前調整するにはどうすればよいですか?
非線形方程式を解くことを考えるとき、私は一般的に最初に線形化し、次に線形行列に前提条件を適用することを考えます。非線形方程式を線形化する前に調整することは可能かもしれないという考えが私に起こりました。連立方程式の構造に依存しない非線形方程式を事前調整するための一般的な戦略はありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.