PDEシミュレーションを通して物理量を確実に維持できる方法はどれですか?


18

圧力、密度、エネルギー、温度、濃度などの物理量は常に正である必要がありますが、数値プロセスでは解法プロセス中に負の値が計算される場合があります。方程式は複雑な値または無限値を計算するため(通常はコードがクラッシュするため)、これは大丈夫ではありません。これらの量が正の値を維持することを保証するために、どの数値法を使用できますか?これらの方法のどれが最も効率的ですか?


興味のあるPDEの種類を指定すると役立つ場合があります。以下の回答は、主に双曲線PDEに関連しています。
デビッドケッチャソン

回答:


14

最も一般的な方法は、負の値を小さい正の数にリセットすることです。もちろん、これは数学的に正しい解決策ではありません。動作する可能性があり、簡単な、より一般的なアプローチは、タイムステップのサイズを小さくすることです。

負の値は、双曲線PDEの解でしばしば発生します。これは、ショックの出現により振動が発生する可能性があるためです。用い減少総変化(TVD)または他の非振動(ENO、ウェノの)方法は、この傾向を減少させることができます。これらの方法は、非線形リミッターを使用して解の導関数を計算することに基づいています。ただし、いくつかの理由で負の値得られる場合があります。

  • ラインの方法を使用し、高次の時間積分器を適用する場合。ほとんどのTVDスキームは、半離散的な意味またはオイラーの方法でのみTVDであることが証明されています。高次の時間積分では、強力な安定性保持(SSP)時間の離散化を使用する必要があります。これらのスキームは、「収縮性」または「単調性維持」としても知られています。Sigal Gottlieb、Chi-Wang Shu、および私による主題に関する最近の本があります。
  • 方程式系に局所特性分解を使用しない場合、解はTVDになりません(TVDスキームはスカラー問題に対してのみその特性を持ちます)。したがって、特性変数を再構築/補間するのが最善です。
  • 非線形システムがある場合、ローカル特性分解を使用しても負の値が生じる可能性があります。たとえば、浅水方程式またはオイラー方程式の線形化されたリーマンソルバー(Roeソルバーなど)を表示して、十分に困難な条件で負の値を生成できます。解決策は、HLLソルバー(またはHLLのバリアント)を使用することです。そのうちのいくつかは実証的に肯定的です。
  • TVDスキームは2次のみです。WENOのような高次の非振動スキームは、TVDまたは最大原理を厳密に満たしていません。しかし、これらの高次スキームの新しい修正は行います。これは、張翔(Chi-Wang Shuの学生)による最近のいくつかの論文で開発されています。

もちろん、David GeorgeのGeoClawコードなど、特定の方程式には他の多くの特殊なアプローチがあります。


6

ソース項なしで双曲線方程式を解き、物理的な初期条件を提供すると仮定して、使用する数値スキームがTotal Variation Diminishingであることを確認することは、計算された解の「物理性」を保証する良い方法です。TVDスキームは単調性を保持するため、新しい最小値または最大値は作成されず、ソリューションは適切に設定された初期値に制限されたままになります。もちろん、問題はTVDスキームが最も明白なものではないということです。線形スキームのうち、1次スキームのみがTVDです(Godunov 1954)。そのため、50年代以来、双曲線方程式の解法のために高精度と単調性を組み合わせたさまざまな非線形TVDスキームが開発されてきました。

私のアプリケーションでは、大きな圧力/密度勾配を持つNavier-Stokes方程式を解くために、ハイブリッドMUSCL -centralスキームを使用して、大きな勾配/不連続性をキャプチャし、それらから離れて良好な精度を維持します。最初のMUSCLスキーム(MUSCLは、保全法に関するMonotone Upstream-centered Schemesの略)は、1979年にVan Leerによって考案されました。

このテーマについて詳しく知りたい場合は、Harten、Van Leer、Lax、Sod、Toroの作品を参照してください。


4

上記の答えは時間依存の問題に当てはまりますが、単純な楕円方程式で陽性を要求することもできます。この場合、変分不等式として定式化して、変数の境界を与えることができます。

PETScには、2つのVIソルバーがあります。1つは、アクティブな制約の変数が解決されるシステムから削除される、スペースを削減する方法を使用します。もう1つは、準滑らかなニュートン法を使用します。


3

A

Aあなたは=b
AA1

BRn×nB0B

B0あなたはv  BあなたはBv  あなたはvRn

A

0b  0=A10A1b=あなたは
bb0

一般に、M行列を導く離散化スキームはモノトーンスキームと呼ばれ、これは非否定性を保持するスキームです。


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