圧縮性乱流モデリング
圧縮性乱流モデリングの理論基礎
圧縮性乱流の基礎理論
先生、圧縮性乱流って非圧縮性の乱流と何が違うんですか? k-epsilonモデルとかそのまま使えないんですか?
いい質問だね。圧縮性乱流では密度変動が無視できなくなるんだ。非圧縮ではReynolds分解 $u_i = \bar{u}_i + u_i'$ をそのまま使えたけど、圧縮性ではFavre平均(密度重み付き平均)を導入する必要がある。
Favre平均は次のように定義されるんだ。
これを使うと、質量保存則が非圧縮の場合と同じ形式になるから扱いやすい。
なるほど、密度の変動を平均の中に取り込んでしまうんですね。でも具体的にどんな追加項が出てくるんですか?
Favre平均によるRANS方程式
Favre平均化した運動量方程式は次の形になる。
ここで $u_i'' = u_i - \tilde{u}_i$ がFavre変動成分だ。最後の項がReynolds応力テンソルに相当する。
Reynolds応力の部分は非圧縮と同じ形ですね。じゃあ乱流エネルギーの方程式はどうなるんですか?
Favre平均の乱流運動エネルギー $\tilde{k} = \widetilde{u_i''u_i''}/2$ の輸送方程式は、非圧縮にはない圧縮性特有の項を含むんだ。
ここで重要なのが圧力-膨張相関 $\Pi_d = \overline{p'\frac{\partial u_k''}{\partial x_k}}$ と圧縮性散逸 $\varepsilon_c$(膨張散逸)だ。
$\Pi_d$ と $\varepsilon_c$ が圧縮性ならではの項なんですね。これらが無視できない状況ってどういうときですか?
圧縮性補正モデル
乱流マッハ数 $M_t = \sqrt{2k}/a$($a$ は音速)が大きくなると、これらの項が効いてくる。具体的には $M_t > 0.3$ くらいから影響が顕著になるんだ。代表的な圧縮性補正モデルを紹介しよう。
| モデル | 圧縮性散逸 | 適用範囲 |
|---|---|---|
| Sarkar (1992) | $\varepsilon_c = \alpha_1 \bar{\rho} \varepsilon M_t^2$ | 自由せん断流、混合層 |
| Zeman (1990) | $\varepsilon_c = \alpha_2 \bar{\rho} \varepsilon f(M_t)$ | 衝撃波を含む流れ |
| Wilcox (1992) | $k$-$\omega$ への圧縮性修正 | 一般的な圧縮性流れ |
| SST圧縮性補正 | $F(M_t)$ 関数による修正 | Menter SSTモデルへの追加 |
Sarkarモデルでは $\alpha_1 \approx 1.0$ が使われ、高マッハ数混合層での拡散率低下をよく再現できる。実験では $M_c$(対流マッハ数)が増加すると混合層の成長率が著しく低下することが知られていて、これを正しく捕えるには圧縮性補正が不可欠なんだ。
乱流マッハ数が0.3を超えたら要注意、と覚えておきます。先生、これって超音速ジェットの騒音予測なんかにも関わってきますか?
そのとおり。超音速ジェットノイズの予測では、圧縮性乱流の正確なモデリングが直接的に音源強度の推定精度に影響する。NASA等の研究機関でもこの分野は活発に研究されているよ。
圧縮性乱流の「密度脈動」——実は乱流エネルギーを食う
亜音速の乱流では密度はほぼ一定なので「流速の揺らぎだけ気にすれば良い」のですが、マッハ数が0.3を超えてくると密度脈動が無視できなくなります。Morkovinの仮説によれば、マッハ数が低〜中程度なら密度脈動の影響は小さいとされますが、マッハ5以上の極超音速領域では話が変わってくる。1990年代にSarkarらが示したように、速度散逸以外に「圧力と膨張の相互作用」によるエネルギー散逸経路が生まれます。この項を無視すると乱流エネルギーが過大評価され、熱流束の予測が大きくずれる——高速飛翔体の熱設計で致命的なミスにつながる項です。
圧縮性乱流モデリングの数値計算手法
数値手法の詳細
圧縮性乱流をCFDで解くとき、非圧縮のときと数値スキームは変わるんですか?
大きく変わるよ。圧縮性流れでは衝撃波のような不連続面が現れるから、対流項の離散化に風上スキーム(upwind scheme)が必須になる。代表的なものを整理しよう。
| スキーム | 特徴 | 精度 | 圧縮性乱流での注意 |
|---|---|---|---|
| Roe | 近似リーマンソルバー | 2次(MUSCL併用) | 低マッハ数で過度な散逸 |
| AUSM+ | 質量流束分離型 | 2次以上 | 低マッハ/高マッハ両対応 |
| HLLC | 3波近似リーマン | 2次 | 接触不連続の解像度良好 |
| 中心差分+人工粘性 | Jameson型 | 2次 | LES向き、散逸制御が鍵 |
LESで圧縮性乱流を解く場合はどうなるんですか? スキームの選び方が変わりますか?
LES/DESでの圧縮性乱流
LES(Large Eddy Simulation)では、格子フィルタリングを密度重み付きで行うFavre-filteredのNavier-Stokes方程式を解く。SGS(Sub-Grid Scale)モデルも圧縮性に対応したものが必要だ。
SGSモデルとしてはSmagorinskyモデルの圧縮性拡張やWALE(Wall-Adapting Local Eddy-viscosity)モデルが使われる。また、DES(Detached Eddy Simulation)ではRANS領域で圧縮性補正付きSSTモデル、LES領域でSGSモデルを切り替える。
数値散逸と物理的な散逸のバランスが大事そうですね。格子解像度の目安はありますか?
壁面近傍では $y^+ < 1$ が理想だけど、圧縮性流れでは衝撃波近傍のメッシュ密度も重要だ。衝撃波厚さ(数平均自由行程)レベルの解像は不要だけど、衝撃波前後で少なくとも5〜10セルは確保したい。Courant数の管理も重要で、陽解法なら $\text{CFL} < 1$ を厳守する必要がある。
時間進行法
時間積分の方法も圧縮性で特別なものがあるんですか?
定常解が欲しいRANSではlocal time steppingやimplicit LU-SGS法が効率的だ。非定常のLES/DESでは、dual time steppingかexplicit Runge-Kutta法(3段または4段)が標準的だよ。
これがdual time steppingの式で、$\tau$ は擬似時間、$\mathbf{R}$ は空間残差だ。物理時間の2次精度を保ちつつ、擬似時間で陰的に収束させるんだ。
なるほど、定常と非定常で使い分けが必要なんですね。実装上の落とし穴はありますか?
一番多い失敗は、圧縮性補正を有効にし忘れることだね。例えばFluent のk-epsilonモデルでは「Compressibility Effects」のチェックボックスがデフォルトでオフになっている。高マッハ数混合層の計算でこれを忘れると、拡散率を大幅に過大予測してしまう。
Morkovin仮説——音速付近で乱流モデルが「化ける」理由
1962年、マーク・モルコビンは「圧縮性乱流でも密度変動が小さければ非圧縮性の乱流モデルをそのまま使えるはず」という大胆な仮説を提唱した。これがMorkovin仮説だ。実際、マッハ5以下ではまあまあ使えるのだが、マッハ5を超えると密度変動が無視できなくなって仮説が崩壊する。現場では「なぜかSSTモデルだけ収束した」という経験談が飛び交うが、それはモデルの本質的な優位性というより、Morkovin仮説が偶然成立している速度域で計算しているせいかもしれない。
圧縮性乱流モデリングの実務適用
実践ガイド
先生、実際に圧縮性乱流の解析を始めるとき、手順を最初から教えてください。
よし、超音速ジェットの混合層解析を例に具体的に説明しよう。
解析フロー(超音速ジェット混合の例)
1. 問題定義: ジェットマッハ数 $M_j = 1.5$、全温 $T_0 = 600$ K、ノズル出口径 $D = 50$ mm
2. 計算領域: 上流 $5D$、下流 $30D$、径方向 $10D$
3. メッシュ: ノズルリップ近傍でせん断層厚さの1/10以下の解像度。六面体主体でO-H型トポロジー
4. 乱流モデル選択: RANS→SST+圧縮性補正、非定常→DES/DDES
5. 境界条件: 入口にpressure-inlet(全圧・全温指定)、出口にpressure-outlet
乱流モデルの選び方の基準ってありますか? RANSとLESの使い分けとか。
乱流モデル選定ガイド
用途別に整理するとこうなる。
| 用途 | 推奨モデル | 理由 |
|---|---|---|
| 設計段階の概略評価 | SST k-omega + 圧縮性補正 | 計算コスト低、十分な精度 |
| ジェットノイズ予測 | DDES or IDDES | 渦の非定常挙動が必要 |
| 衝撃波/乱流干渉 | WMLES or ZDES | 壁面近傍の精度が重要 |
| 燃焼を伴う流れ | Flamelet + LES | 乱流-化学反応の相互作用 |
メッシュの $y^+$ ってどのくらいにすればいいですか? マッハ数によって変わりますか?
壁面を解像する場合は $y^+ \approx 1$ が基本だが、圧縮性流れでは壁面摩擦速度 $u_\tau$ の見積もりが非圧縮のときと異なる。高温壁では粘性が大きくなるので、非圧縮の公式でのまま見積もると $y^+$ が想定より大きくなりがちだ。Van Driest変換を使った壁法則を適用する場合は $y^+ < 50$ 程度でもOKだよ。
初期条件と収束テクニック
高マッハ数の計算って収束が難しいって聞いたんですけど、コツはありますか?
重要なポイントを挙げるよ。
- CFL数のramp-up: 初期はCFL=1から始めて、残差が下がり始めたら徐々にCFL=10〜100まで上げる
- 初期場の設定: 全領域を一様流で初期化するよりも、等エントロピー関係で主流条件を設定した方が収束が速い
- under-relaxation: 密度ベースソルバーではCourant数、圧力ベースソルバーではunder-relaxation factorを慎重に設定
- FMG(Full Multi-Grid)初期化: Fluentで利用可能。粗いメッシュから順に解を補間して初期場を作る
実務で一番ハマりやすいポイントはどこですか?
経験上、一番多いのはfarfield境界条件の反射だね。圧縮性流れでは境界から衝撃波が反射して非物理的な解になることがある。non-reflecting boundary condition(NRBC)やスポンジ層を使うことが重要だよ。
超音速エンジンの乱流モデリング、現場はどう向き合っているか
圧縮性乱流の実務で最もやっかいなのは、「乱流モデルのキャリブレーションが亜音速とそのまま使えない」問題です。マッハ数が上がると圧縮性補正項(Sarkarの補正など)が重要になるのですが、係数をどう設定するかはケースバイケース。ロケットエンジンの燃焼室解析を手がけるエンジニアの話では、補正なしで計算した乱流エネルギーが実験値の2倍近くになったケースもあったとか。「まずは補正オフで走らせて、実験値と比較してから補正を有効にする」というプロセスが現場では定番になっています。
圧縮性乱流モデリングのソフトウェア比較
商用ツールの圧縮性乱流対応
圧縮性乱流を扱えるCFDソフトって、それぞれどんな違いがあるんですか?
主要なCFDソルバーの圧縮性乱流関連機能を比較してみよう。
| 機能 | Ansys Fluent | STAR-CCM+ | OpenFOAM | CFD++ |
|---|---|---|---|---|
| Sarkar圧縮性補正 | 対応 | 対応 | UDF必要 | 対応 |
| SST圧縮性修正 | 対応 | 対応 | 対応 | 対応 |
| DDES/IDDES | 対応 | 対応 | 対応 | 対応 |
| WMLES | 対応(v2024+) | 対応 | 対応 | 限定的 |
| 密度ベースソルバー | 対応 | 結合ソルバー | rhoCentralFoam等 | 標準 |
| AMR(適応格子細分化) | 対応 | 対応 | 限定的 | 対応 |
Fluent とSTAR-CCM+ではどっちが圧縮性乱流に向いてるんですか?
Ansys Fluent での設定
Fluentでは密度ベースソルバー(density-based solver)を選択するのが圧縮性流れの基本だ。設定のポイントは以下のとおり。
- Solver: Density-Based, Implicit
- Flux Type: Roe-FDS または AUSM
- Gradient: Green-Gauss Node Based(精度向上)
- Turbulence: SST k-omega → Compressibility Effects をONに
- DDES使用時: SSTベースでDES optionを有効化、Shield Function = yes
OpenFOAMで圧縮性乱流を扱う場合はどのソルバーを使えばいいですか?
OpenFOAM での実装
OpenFOAMには圧縮性流れ用のソルバーが複数用意されている。
- rhoCentralFoam: 中心差分ベース、KNP(Kurganov-Noelle-Petrova)スキーム。衝撃波捕獲に適している
- rhoSimpleFoam: 定常圧縮性RANS。SIMPLE系アルゴリズム
- rhoPimpleFoam: 非定常圧縮性。PIMPLE(PISO+SIMPLE)アルゴリズム。DES/LESに使用
- sonicFoam: 遷音速〜超音速向け陽解法ソルバー
圧縮性補正はturbulencePropertiesの辞書ファイルで設定する。例えばSarkar補正を使う場合、kEpsilonモデルのcoeffsサブ辞書に alphaK1 1.0; のような係数を追加するか、カスタムのturbulence modelクラスを作成する必要がある。
NASAとか研究機関ではどんなコードが使われてるんですか?
NASAではFUN3D(非構造格子)やOVERFLOW(重合格子)が広く使われている。JAXAではFaSTAR(非構造格子圧縮性ソルバー)が開発されているよ。これらは高マッハ数での精度検証が徹底されているという強みがある。
商用と研究コード、どう使い分ければいいですか?
設計業務では商用ツールのGUIとサポートが生産性に直結する。一方、研究レベルの精度が必要な場合や、新しい乱流モデルの実装・検証には研究コードやOpenFOAMが柔軟性で優れている。両方使いこなせるのが理想だね。
商用ツールの「圧縮性乱流オプション」、実は全部同じじゃない
FluentとCFD++とOpenFOAMで「k-ω SSTに圧縮性補正を加えて計算」しても、同じ結果にはならないのが実情です。各ソルバーが採用している補正項の実装方法(Wilcox補正かSarkar補正かZeman補正か)が微妙に違うからです。特にマッハ数が1.5を超えるような超音速ジェット解析では、ソルバー間の差が衝撃波後の乱流強度で10〜20%になることも。ツール選定では「どの補正モデルを実装しているか」を仕様書レベルで確認する癖をつけておくと、あとで痛い目に遭いません。
圧縮性乱流モデリングの先端研究
先端トピック
圧縮性乱流の研究って今どんな方向に進んでるんですか?
大きく3つの方向性があるよ。DNS(直接数値シミュレーション)による物理解明、機械学習を活用した乱流モデル改良、そして壁モデルLES(WMLES)の高精度化だ。
DNS による圧縮性乱流の理解
近年のスパコンの発展で、圧縮性乱流チャネル流れの $Re_\tau \sim 1000$、$M_{bulk} \sim 4$ のDNSが可能になった。これにより、Morkovinの仮説(密度変動が乱流構造に直接影響しないという近似)の適用限界が明らかになりつつある。
DNSの結果、$M > 3$ 程度でこの仮説が破綻し始めることが分かっている。つまり高マッハ数壁乱流では、従来の圧縮性変換(Van Driest変換)だけでは不十分なんだ。
そうなると、壁法則も修正が必要になるんですか?
そのとおり。最近提案されたTrettel-Larsson変換は、温度変動と密度変動を考慮した改良版で、$M \sim 5$ まで有効とされている。
機械学習による乱流モデル改良
最近は何でもAIですけど、乱流モデルにも使えるんですか?
Physics-Informed Neural Network(PINN)やNeural ODE を使って、RANSモデルの圧縮性補正項を学習させる研究が活発だ。DNSデータから直接Reynolds応力テンソルの異方性を学習させるアプローチ(Tensor Basis Neural Network, TBNN)もある。
ただし課題もある。学習データの範囲外への汎化性能や、物理的な実現可能性条件(Schumann三角形の制約)を満たすかどうかの保証が難しい。現時点では「モデル係数のチューニング支援」レベルが最も実用的だね。
壁モデルLES(WMLES)
高レイノルズ数の圧縮性壁乱流を解く場合、LESの格子コストは $Re^{13/7}$ にスケールする。これは工学的な $Re \sim 10^7$ では現実的ではない。そこでWMLESが重要になる。
WMLESって壁の近くをモデルで補うってことですよね?
そう。壁面近傍($y^+ < 50$ 程度)を代数的壁モデルやODE壁モデルで置き換えて、外層のみLESで解く。圧縮性WMLESでは壁面摩擦の温度依存性と圧力勾配効果の両方を考慮する必要がある。最近のiWMLES(integrated WMLES)では、壁面応力を壁法則からではなくRANS方程式の薄層近似から求めるアプローチが有望とされている。
この分野、まだまだ発展途上なんですね。5年後くらいにはもっと使いやすくなりますか?
GPUコンピューティングの発展とモデルの改良で、2030年頃にはWMLESが設計ツールとして実用的になると期待されているよ。NASAの「CFD Vision 2030」でもWMLESの実用化が重要目標に掲げられているんだ。
圧縮性乱流の「Favre平均」——なぜわざわざ密度重み付けするのか
通常のRANSはレイノルズ平均(単純時間平均)を使うが、圧縮性流れでは密度が変動するため、速度の時間平均を取るだけでは方程式が恐ろしく複雑な相関項まみれになる。そこでFlavio Favre(フランスの研究者)が1965年に提案したのが「密度で重み付けした平均」つまりFavre平均だ。これを使うと方程式が格段にシンプルになる。物理的な意味は「質量流束を基準にした平均」と解釈できる。超音速・極超音速のCFDコードではFavre平均が標準になっているが、後処理で速度場を可視化するとき、レイノルズ平均と微妙に違うことに気づいて混乱するエンジニアが後を絶たない。
圧縮性乱流モデリングのトラブル対応
トラブルシューティング
先生、圧縮性乱流の計算でよくハマるトラブルを教えてください。
実務でよく遭遇する問題と対策を整理しよう。
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以上のメッシュで計算すると、壁面近傍の乱流生成項が正しく計算されず、延々と残差が下がらない状態になる。
関連トピック
なった
詳しく
報告