オイラー方程式(圧縮性) — トラブルシューティングガイド
トラブルシューティング
先生、オイラーソルバーで計算がうまくいかないときの対処法を教えてください。
よくあるトラブルをパターン別に整理しよう。
1. 膨張衝撃波(Expansion Shock)の発生
症状: 物理的にありえない膨張衝撃波が解に含まれる
原因: Roeスキームはエントロピー条件を自動的には満たさない。固有値がゼロに近い場合にentropy violationが起こる。
対策: エントロピー修正(Harten-Hyman fix)を適用する。
$\delta$ は小さな正の値(例: $0.1 \times (|u| + a)$)。Fluentではデフォルトでentropy fixが適用されているから通常は問題ない。
2. Carbuncle現象
Carbuncle現象って何ですか?
症状: bow shock(離脱衝撃波)の前面にニキビ状の凸凹が発生する。特に格子が衝撃波に対して正対している場合に起きやすい。
原因: Roe等のリーマンソルバーの固有の不安定性。接触不連続に対する散逸が不足。
対策:
- HLLCソルバーに切り替え(接触波の散逸が適度にある)
- Roeソルバーに人工的なshear viscosityを追加
- メッシュを衝撃波に対してわずかに斜めにする(実用的な回避策)
3. 負の密度・圧力
症状: 計算中に密度や圧力が負値になって発散
原因: 高次精度再構築で、衝撃波近傍でオーバーシュート/アンダーシュートが発生。リミッターが不十分。
対策:
- より散逸的なリミッター(minmod)に切り替え
- positivity-preserving limiter を使用
- CFL数を下げる(0.3〜0.5程度に)
- failsafe機構: 負値が検出されたら局所的に1次精度に落とす
圧力が負になるって怖いですね。どうやって事前に防げますか?
強い衝撃波(圧力比10以上)の問題では、最初から保守的な設定(1次精度、小さいCFL)で計算を開始し、安定したら徐々に高次精度に切り替えるのが安全だ。
4. 境界からの非物理的反射
症状: 計算領域の境界から衝撃波や圧力波が反射して、定常解が得られない
対策:
- 遠方場境界にcharacteristic-based NRBC(Non-Reflecting Boundary Condition)を使用
- 計算領域を十分大きく取る(翼弦長の20〜50倍)
- スポンジ層(ダンピングゾーン)を境界近傍に追加
オイラーソルバーは粘性がない分、数値的な問題が目立ちやすいんですね。
その通り。Navier-Stokes方程式では粘性項が自然な散逸を提供するから安定化されるが、オイラー方程式では数値スキームの散逸だけが安定化要因になる。だからスキームの選択とパラメータ調整がより重要なんだ。
F1と空力の戦い
F1マシンは時速300kmで走ると、車重と同じくらいのダウンフォース(下向きの空力的な力)を発生します。つまり理論上、天井に貼り付けて走れる! チームは数千CPU時間のCFDシミュレーションを毎週実行し、フロントウィングの角度を0.1°単位で最適化しています。F1はCAEの技術力がそのまま順位に直結する世界です。
トラブル解決の考え方
CFDメッシュの品質管理や乱流モデルの選定に悩む時間を、もっと創造的な設計作業に使えたら。 — Project NovaSolverはそんな実務者の声から生まれました。
CAEの未来を、実務者と共に考える
Project NovaSolverは、オイラー方程式(圧縮性)における実務課題の本質に向き合い、エンジニアリングの現場を支える道具づくりを目指す研究開発プロジェクトです。
プロジェクトの最新情報を見る →