流体シミュレーションの結果の正確さを確認するにはどうすればよいですか?


9

粒子ベースの流体シミュレーションプログラムを作成しました。正しい結果が得られたかどうかはわかりません。視覚化された結果は妥当なようですが、その一部は奇妙に見えます。それが流体の特徴かどうかはわかりません。私のプログラムが正しいかどうかを確認する正確な方法はありますか?

詳細の修正:

私のプログラムは2Dパーティクルベースのシミュレーションプログラムです。流体は圧縮可能です。実装はほぼ古典的な論文に基づいています:

ミュラー、マティアス、デビッドチャリパー、マーカスグロス。「対話型アプリケーションのための粒子ベースの流体シミュレーション。」2003 ACM SIGGRAPHの議事録

Navier-Stokes方程式を反復法で解きました。圧力、重力、粘度、表面張力のみを考慮しました。


おそらく、NS方程式の項を数値微分で再計算し、それらがどのように相殺されるかを確認できます。
Yves Daoust、2015

回答:


2

他の人のソフトウェアと比較してください。いくつかの標準化されたテストを実行し、他とほぼ同じ答えが得られるかどうかを確認します。同じ答えが得られれば、コードが正しい確率はかなり高くなります。

いくつかのテスト:

  1. シリンダーを通過する流れ。2Dでは、長方形の領域を取り、真ん中に円柱、左側に流入、戦いに流出し、円柱にかかる力を計算します。以下は、少数のコードを比較するベンチマークです。

  2. 浮力の流れ。クローズドボックス、下部にホットプレート、上部にコールドプレート、浮力により高温の流体が上昇し始めます。こちらがベンチマークです。

  3. 上昇バブル、ベンチマーク

しかし、残念ながら、これらのベンチマークでコードを科学的コードと比較することは非常に難しい場合があります。精度ではなく安定性のために作られたSPHまたは安定した流体として何かを実装したと思います。

たとえば、シリンダーを通過する流れを考えてみましょう。私は非常に小さなレイノルズ数でテストを開始し、シミュレーションの精度を上げる(タイムステップを下げる、サブディビジョンを増やす、またはパーティクルの数を増やす)ときにシリンダーにかかる力を測定します。力はいくつかの数値に収束しますか?いいえの場合、問題がある場合、問題がある場合は、ベンチマークペーパーを見て、他のユーザーと結果を比較してください。


この方法は、レイトレーサーのテストに使用する方法とよく似ています。テストシーンを他の誰かのレンダラーでレンダリングし、それを私の結果と比較します。それらは同じ結果に収束しますか?はいの場合は正しい、そうでない場合は間違っています。


ソフトウェアの代わりに、既知の現実世界の測定値と流体力学のベンチマークに対してイェストをテストします。そうでない場合、エラーは汚染されます。私は同じ質問がstackexhangeネットワークのどこかに投稿されているのを見ました
joojaa

1
実世界の測定に対するテストは、物理学の権利があればテストに適していると思います。プログラムをデバッグするだけの場合は、他のコードに対してテストするよりもよいでしょう。さらに、コンピュータシミュレーションでは、実験に影響を与えずに何でも測定できます。たとえば、任意の時点での流体速度の測定は、実際の実験では不可能ですが、コンピュータシミュレーションでは簡単です。
トム

はい。しかし、ソルバーの問題も受け継ぎます。マルチボディシミュレータを開発し、MSC Adamsからの結果と照合して数回これを実行したことは認めますが、実際にはあまり役に立たなかった後知恵で
joojaa

実世界の実験と比較して確認した方がいいですか?私はそれを疑いますが、私は間違っているかもしれません。マルチボディ物理学の状況は、流体物理学とはかなり異なります。ビリヤードのような単純なものでさえ、無秩序な振る舞いをします。さらに、接触による剛体ダイナミクスは、数学的な問題さえ提起されていません。Painlevéのパラドックスを知っていますか?したがって、マルチボディ物理学の数値シミュレーションを行うことは、一般的に失敗する運命にあります。参考資料:plus.maths.org/content/chaos-billiard-table en.wikipedia.org/wiki/Painlev%C3%A9_paradox
トム

1
はい、私はマルチボディダイナミクスがどのように機能するかを知っています。それを教えます(そして1〜2年間簡単に調査しました)。しかし、既知の分析ソリューションに対するチェックは簡単ではありませんでした。しかし、実際の流体は、マルチボディダイナミックと同様にカオス的です。したがって、層流の状況などをチェックできるはずです。ただし、摩擦は雌犬です。
joojaa 2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.