圧縮性乱流モデリング — トラブルシューティングガイド
より充実した内容を compressible-turbulence.html でご覧いただけます。
トラブルシューティング
先生、圧縮性乱流の計算でよくハマるトラブルを教えてください。
実務でよく遭遇する問題と対策を整理しよう。
1. 混合層の成長率が過大
症状: 超音速混合層の拡散角が実験値の2〜3倍になる
原因: 圧縮性補正が無効。標準k-epsilonやk-omegaは非圧縮で校正されているため、圧縮性効果(成長率抑制)を予測できない。
対策:
- Sarkar or Zeman圧縮性補正を有効化
- Fluentの場合: Viscous Model → Options → Compressibility Effects にチェック
- 対流マッハ数 $M_c = (U_1 - U_2)/(a_1 + a_2)$ を確認。$M_c > 0.3$ なら補正必須
なるほど、チェックボックス一つで結果が大きく変わるんですね。
2. 衝撃波近傍での乱流量の非物理的増加
症状: 垂直衝撃波の直後で乱流運動エネルギー $k$ が数倍にスパイクする
原因: 衝撃波による圧力勾配を乱流生成項 $P_k$ が過大評価。Production limiterが未設定。
対策:
- SST k-omega の Production Limiter を有効化: $P_k = \min(P_k, C_{lim} \cdot \bar{\rho} \beta^* k \omega)$、$C_{lim} = 10$
- Fluentでは「Production Limiter」または「Kato-Launder modification」を使用
- メッシュを衝撃波近傍で細かくして、衝撃波の数値的な厚みを減らす
3. 密度ベースソルバーの発散
計算開始直後にNaN が出て止まっちゃうこと、よくあるんですけど…
症状: 計算開始から数十ステップで残差が発散、NaN発生
原因と対策:
- 初期場が不適切: 全領域をM=0の静止場で初期化すると、超音速入口との不整合で衝撃波が初期に発生し発散する。→ 等エントロピー関係で適切な初期場を設定
- CFL数が大きすぎる: 初期は CFL = 0.5〜1.0 から始めて徐々に上げる
- 境界条件の不整合: 超音速出口にpressure outletを使っている場合、背圧が流れ場と矛盾する可能性。→ 超音速出口ではextrapolation(外挿)境界条件を使用
4. DES計算でGID(Grid-Induced Separation)が発生
症状: 境界層が物理的根拠なく剥離する。特に付着流の領域で発生。
原因: DESのRANS→LES切り替えが境界層内で発生し、RANS的に解くべき領域がLES格子解像度不足で解かれてしまう。
対策:
- DDES(Delayed DES)を使用。$f_d$ シールド関数で境界層をRANS領域として保護
- IDDES(Improved DDES)に切り替え。WMLES機能を含み、より安定
- 格子設計を見直し: 壁面平行方向の格子アスペクト比が大きすぎないか確認
DDESにしておけば安全ですか?
圧縮性乱流は罠が多いですね。チェックリストを作っておきます。
そうだね。最低限、乱流マッハ数の確認、圧縮性補正の有効化、Production limiterの設定、境界条件の整合性チェック、この4点は毎回確認する習慣をつけておくといいよ。
圧縮性乱流の収束が遅い本当の理由
圧縮性流れの乱流計算が収束しないとき、まずチェックすべきは「乱流強度の初期値が適切かどうか」だ。初期値を高くしすぎると乱流粘性が過剰になり、ずっと不安定になる。低すぎると衝撃波近傍で乱流エネルギーが瞬時に爆発して発散する。実務では「自由流の乱流強度0.1〜1%、渦粘性比1〜10」から始めて様子を見るのが経験則だ。もう一つよくある原因が壁面Y+の設定ミス。低レイノルズ数モデルを使っているのにY+=30以上のメッシュで計算すると、壁面近傍の乱流生成項が正しく計算されず、延々と残差が下がらない状態になる。
トラブル解決の考え方
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——圧縮性乱流モデリングの問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告