連続の式(質量保存) — トラブルシューティングガイド
より充実した内容を continuity-equation.html でご覧いただけます。
トラブルシューティング
質量保存に関連するCFDの問題ってどういうものがありますか?
連続の式の残差が下がらない問題は、CFDで最も頻繁に遭遇するトラブルだ。
よくある問題と対策
1. 連続の式の残差が下がらない
症状: continuity残差が$10^{-1}$〜$10^{-2}$で停滞。
考えられる原因と対策:
| 原因 | 診断方法 | 対策 |
|---|---|---|
| メッシュ品質不良 | Orthogonal Quality < 0.1 のセルを確認 | メッシュ修正 |
| 緩和係数が不適切 | 圧力の緩和係数が低すぎる | SIMPLE: 圧力0.3, 運動量0.7で開始 |
| 初期条件が不適切 | 速度場が非物理的 | 良好な初期値を与える |
| 境界条件の不整合 | 入口流量と出口条件の矛盾 | BCの見直し |
2. 局所的な質量漏洩
全体の質量収支は合ってるのに、局所的に変な値が出ることがあるんですけど…
症状: 壁面を通って流体が漏れているように見える。
原因: 非直交補正が不十分。非構造メッシュでは面法線ベクトルとセル中心間ベクトルがずれるため、面フラックスに補正が必要。
対策:
- Fluentなら Non-Orthogonal Correctors を増やす(デフォルト0→2〜3)
- OpenFOAMなら
nNonOrthogonalCorrectors 2;を fvSolution に設定
3. 圧縮性流れでの質量保存異常
症状: 衝撃波近傍で質量フラックスが振動。
対策: TVD(Total Variation Diminishing)スキームやリミッターを使用。Fluentなら Second Order Upwind + Gradient Limiter、OpenFOAMなら vanLeer や Minmod リミッター。
4. 非定常計算での質量蓄積
非定常計算で時間とともに質量が徐々にずれていくんですが…
原因: 各時間ステップでの収束が不十分(内部反復が足りない)。
対策:
- 各時間ステップの内部反復回数を増やす(20回以上)
- 残差が十分低下してから次の時間ステップに進む
- 時間刻みを小さくする(CFL数を下げる)
連続の式の残差は、計算がうまくいっているかの最も基本的なバロメーターですね。
その通り。他の残差がいくら下がっていても、continuityが収束していなければ結果は信頼できない。まずcontinuityの残差をチェックすることを習慣にしよう。
「質量が湧いてくる」バグの見つけ方
CFDの計算後に質量収支レポートを確認したら「入口100 kg/s、出口98 kg/s」——2 kg/sが消えている。こんな状況に出くわしたことはありませんか? 原因として多いのは①周期境界条件の設定ミス、②スリップ境界で流体が「壁を抜けている」、③パッチ接合部のメッシュ不整合です。逆に「出口が入口より多い」場合は内部でソース項が予期せず発生しています。コツは「まず面ごとに流量を書き出す」こと。どこで質量が増減しているかを地道に追うのが、このタイプのバグ潰しの王道です。
トラブル解決の考え方
関連トピック
なった
詳しく
報告