この記事では、シミュレーション内でいつ、どこで発散が発生するかを表示するSimScaleの機能を紹介します。
アプローチ
数値流体力学(CFD)シミュレーションは、非常に反復性の高いプロセスです。正常に実行されれば、結果は最終的に安定した解に収束します。しかし、いくつかの理由により、解が発散することもあります。このような場合、領域内のパラメータが非物理的なレベルに達する可能性があります。
シミュレーションの発散を特定し、トラブルシューティングするために、SimScaleには発散モニターがあります。以下のパラメータが追跡されます: 速度、圧力、密度、温度。パラメータが非物理的なレベルに達すると、シミュレーションはエラーメッセージとともに自動的に停止します:
エラーメッセージには、発散したパラメータと、モデル内の正確な位置が表示されます。この情報がトラブルシューティングの出発点となります。
トラブルシューティング
発散の原因についてより深く理解するためには、以下の基本的な手順が有効です:
- Reslult controlでProbe pointを作成し、エラーメッセージに表示された座標を入力します。そうすることで、発散が発生した場所を正確に確認できます。
- 点が境界に近い場合、すべてのBoundary conditions (境界条件)を再チェックし、正しいことを確認します。
- 点が領域の内側にある場合、その周りのメッシュを検査します。 メッシュ品質の可視化機能はこのステップで非常に役立ちます。わずかな品質の悪いセルがあっても、シミュレーションに不安定性が生じ、最終的に発散につながる可能性があります。
- 不良セルがある場合、問題のある領域周辺のCADモデルを検査するようにしてください。非常に小さな面、非常に詳細なトポロジー、小さな隙間などを探してください。これらは時にメッシュ品質の低下を引き起こします。
発散の例
手順を説明するために、例を見てみましょう。このケースは、翼周りの外部圧縮性流れシミュレーションです。モニターは、領域内の特定の点における圧力場の発散を報告します:
プローブポイントを作成し、上記エラーメッセージの座標を指定することで、ダイバージェンスが翼の先端から始まっていることがわかります:
Mesh quality をクリックすると、ポスト処理環境が開きます。不良セルを見つけるのに非常に便利なフィルタはIso volumeです。Map scalarで確認したい品質パラメータを選択し、isoの最小値と最大値を変更することで、不良セルを簡単に見つけることができます:
メッシュには最大158の体積比のセルが含まれていますが、これは高すぎます(推奨値は\( \ll 100\))。さらに、場所はエラーメッセージで報告されたものと同じです。この場合、主に2つのワークフローが考えられます:
- 問題領域周辺のCADクリーンアップ
- メッシュ設定の改善(例えば、Region refinementの追加適用や、Small feature suppression (小さなフィーチャーの抑制)設定の改善など)