他の人のソフトウェアと比較してください。いくつかの標準化されたテストを実行し、他とほぼ同じ答えが得られるかどうかを確認します。同じ答えが得られれば、コードが正しい確率はかなり高くなります。
いくつかのテスト:
シリンダーを通過する流れ。2Dでは、長方形の領域を取り、真ん中に円柱、左側に流入、戦いに流出し、円柱にかかる力を計算します。以下は、少数のコードを比較するベンチマークです。
浮力の流れ。クローズドボックス、下部にホットプレート、上部にコールドプレート、浮力により高温の流体が上昇し始めます。こちらがベンチマークです。
上昇バブル、ベンチマーク。
しかし、残念ながら、これらのベンチマークでコードを科学的コードと比較することは非常に難しい場合があります。精度ではなく安定性のために作られたSPHまたは安定した流体として何かを実装したと思います。
たとえば、シリンダーを通過する流れを考えてみましょう。私は非常に小さなレイノルズ数でテストを開始し、シミュレーションの精度を上げる(タイムステップを下げる、サブディビジョンを増やす、またはパーティクルの数を増やす)ときにシリンダーにかかる力を測定します。力はいくつかの数値に収束しますか?いいえの場合、問題がある場合、問題がある場合は、ベンチマークペーパーを見て、他のユーザーと結果を比較してください。
この方法は、レイトレーサーのテストに使用する方法とよく似ています。テストシーンを他の誰かのレンダラーでレンダリングし、それを私の結果と比較します。それらは同じ結果に収束しますか?はいの場合は正しい、そうでない場合は間違っています。