DDES(Delayed Detached Eddy Simulation)—
理論と物理
概要
先生、DESとDDESって何が違うんですか? なんで改良が必要だったんでしょう?
DES(Detached Eddy Simulation)は「境界層内はRANS、剥離した後流領域はLES」として使うハイブリッド乱流モデルだ。でも元のDES97には深刻な弱点があった——メッシュが細かすぎると境界層内でもLESモードに切り替わってしまい、RANSモデルと比べて乱流粘性が減って「Modeled Stress Depletion(MSD)」という問題が起きる。DDESはこれを防ぐためにDelaying関数で境界層を「守る」仕組みを追加した改良版だよ。2006年にSpalartらが提案した。
MSDって具体的にどんな症状が出るんですか?
境界層が薄くなりすぎて早期剥離が起きる。例えば翼や車体側面に沿う境界層で乱流粘性が下がると、本来剥離しないはずの領域で流れが剥離してしまい、抗力が過大評価される。特にメッシュを細かくしてレイノルズ数が高い場合に顕著に出る。
DDESはどのくらいの問題規模に使われているんですか? RANSより格段に重くなりますか?
コストはRANSの20〜50倍程度で、フルLESの1/10〜1/100というのが相場だ。典型的な自動車外部空力解析(Re ≈ 10⁷)では、RANS定常解析が数時間で終わるのに対し、DDES非定常解析では数日〜数週間かかる。HPC環境(1000コア以上)が実質必須。コストを考えるとRANSでは予測困難な「剥離渦・後流非定常性が重要な問題」に使うのが正解だよ。
DESの問題点:MSD現象
MSDはどういうメカニズムで起きるんですか?
DES97 では $k-\omega$ SST や S-A ベースで、乱流長さスケールの判定式を使ってRANS/LES切り替えを行う:
$d_w$ は壁面距離、$\Delta$ はメッシュ幅。問題は $C_{DES} \Delta < d_w$ のとき(メッシュが細かい)に境界層内でLESモードになること。WMLES(壁面モデルLES)として使うなら意図的だが、車体解析などで意図せずにこれが起きると計算が崩れる。
つまりメッシュを細かくすると逆に精度が落ちる可能性があるということですか?
DES97ではそうなる。境界層内を「均一に」細かくすると $C_{DES}\Delta$ が全体的に小さくなり、境界層内部でもLESモードが発動してしまう。これは非常にトリッキーで、初心者が「より精細なメッシュ = より良い結果」と思ってハマる落とし穴だ。DDESはDelaying関数によりこの問題を回避している。
DDES定式化
DDESではどうやって境界層を守るんですか?
Delaying関数 $f_d$ を導入するんだ:
$r_d = \frac{\nu_t + \nu}{\sqrt{U_{i,j}U_{i,j}} \kappa^2 d_w^2}$(乱流粘性比と速度勾配の比)。$r_d \approx 1$ が境界層内(RANS優位)の目安。これにより境界層内では $f_d \approx 0$ となって $\tilde{d}_{DDES} \approx d_w$ のRANSモードを維持し、剥離後流では $f_d \approx 1$ でLESモードに移行する。
$r_d$ の分子の $\nu_t + \nu$ というのはなぜ粘性の合計を使うんですか?
粘性底層(viscous sublayer)でも正しく境界層を識別するためだ。粘性底層では $\nu_t \ll \nu$ なので分子は $\nu$ が支配的になる。純粋に $\nu_t$ だけを使うと粘性底層でほぼゼロになり、$r_d$ が誤ってゼロに近づいてLESモードと誤判定してしまう。両方を足すことで粘性底層から対数層まで一貫してRANSとして認識できる。
数値解法と実装
LES領域の数値設定
DDES使うときに数値スキームで気をつけることはありますか?
LES領域では低数値拡散のスキームが必須だよ。
- 移流スキーム:RANS領域はUpwindでOKだが、LES領域では中心差分(Linear)か混合スキーム(Bounded Central Differencing)を使う。
- 時間積分:非定常解析が前提。2次精度以上の時間スキーム(Crank-Nicolson、2nd-order backward)を使用。
- 時間刻み:LES領域での Courant 数を0.5〜1.0以下に維持。
- メッシュ切り替え領域:RANS→LES遷移領域が粗すぎると「グレーゾーン問題」が発生。SSTベースDDESではこの領域でランダム変動を人工的に追加するITM(Improved Delayed DES)が提案されている。
Bounded Central DifferencingってOpenFOAMでどう書くんですか? Linearとの違いは?
OpenFOAMのfvSchemesでは:
divSchemes
{
div(phi,U) Gauss linearUpwindV grad(U); // RANS領域に安全
// または
div(phi,U) Gauss LUST grad(U); // LES/DES推奨(Linear-Upwind Stabilised Transport)
}
LUSTスキームは中心差分(精度重視)と25%の1次upwindを混合し、LES領域で低拡散を保ちながら非物理的発散を防ぐ。DDESの標準推奨スキームとして広く使われている。
SST k-ωベースのDDES定式化
S-AベースとSST k-ωベースのDDES、どちらを使えばいいですか?
実務ではSST k-ωベースが現在の主流だよ。S-Aベースは航空宇宙(翼まわり)に特化しているのに対し、SST-DDESはより汎用的だ。SST-DDESでの乱流長さスケール:
乱流輸送方程式のk方程式の消散項 $D_k$ を:
と置き換えることでRANS/LESの切り替えが実現される。S-AとSSTの主な違いはSSTが独立した $k$ 方程式を持つため、後流領域でのLES SGSエネルギーを含めた乱流エネルギー輸送をより自然に扱えること。
以下の表でDDES実装におけるスキームの選択基準をまとめる。
| 設定項目 | RANS領域 | LES領域 | 理由 |
|---|---|---|---|
| 移流スキーム | 1次Upwind / linearUpwind | Linear / LUST | LES領域での数値拡散を最小化 |
| 時間スキーム | 1st-order backward | 2nd-order backward / CrankNicolson | 時間精度の確保 |
| Courant数 | 10以下でOK | ≤1(理想は0.5) | LES分解能の維持 |
| メッシュ成長率 | 1.3まで許容 | ≤1.2 | RANS→LES遷移の滑らか化 |
実践ガイド
自動車空力解析
自動車の空力解析でDDESを使うときのポイントを教えてください。
自動車外部空力はDDESが最もよく使われる用途の一つだよ。
- 境界層メッシュ:y+ ≈ 1(RANS領域)の細かいプリズム層。剥離するA-pillar、ドアミラー、テールエンドには特に細かく。
- 後流領域:十分な等方性メッシュ(自動車長の10〜20倍まで)。LES分解能には最短波長の1/10以下の格子が目安。
- RANS→DDES継続計算:最初にRANSで定常解を求め、それを初期値にDDESの非定常計算を開始する「warm up」が標準的。
- 統計処理:平均・変動量を取得するため、十分な流れ時間(通常 $5L/U$ 以上)を蓄積する。
統計処理のために「流れ時間 $5L/U$ 以上」というのはどういう意味ですか? 実時間で何秒くらいになりますか?
$L$ は自動車の全長(例:4.5m)、$U$ は主流速(例:33m/s = 120km/h)とすると、$L/U \approx 0.14$s。これの5倍で約0.7sの流れ時間が必要。DDESのタイムステップは典型的に $\Delta t = 5\times10^{-5}$〜$10^{-4}$sなので、統計収集だけで7000〜14000ステップかかる。ウォームアップ期間(過渡が抜けるまで)を加えると計算ステップ数は倍増する。これが自動車DDES解析がHPCでも時間がかかる理由だ。
実践チェックリスト
- 境界層 y+ ≈ 1、プリズム層15〜20層確認
- 後流領域に等方性メッシュ(アスペクト比 ≤ 5)を配置
- RANS定常解で初期場を生成してからDDES開始
- LES領域の移流スキームをLUSTまたはLinearに変更
- LES領域のCourant数 ≤ 1 を確認
- $f_d$ フィールドを可視化して境界層内が0(RANS)になっているか確認
- 統計収集期間は $5L/U$ 以上、ウォームアップ期間は $2L/U$ 以上
- 平均CD・CL値が収束するまで統計を継続
ソフトウェア比較
DDESを使えるツールと設定方法を教えてください。
主要ツールの比較を見てみよう。
| ツール | DDES実装 | 設定方法 | 特徴 |
|---|---|---|---|
| Ansys Fluent | SST-DDES, S-A DDES | Viscous Model GUI | IDDESも搭載、自動スイッチング可視化 |
| OpenFOAM | kOmegaSSTDDES | turbulenceProperties | OpenFOAM 4.0以降で標準搭載、カスタマイズ自由 |
| Simcenter STAR-CCM+ | DDES(SST/S-A) | Continua > Physics | DES検出関数の可視化が容易、後処理が充実 |
| SU2 | SST-DDES | cfg設定ファイル | オープンソース、航空宇宙分野で人気 |
| Ansys CFX | SST-DES(DDES相当) | CFX-Pre > Fluid Models | Ansys Fluentと同じモデル係数を共有 |
OpenFOAMでDDESの設定ファイルはどう書けばいいですか?
constant/turbulencePropertiesの典型的な設定はこうなる:
simulationType LESModel;
LESModel kOmegaSSTDDES;
kOmegaSSTDDESCoeffs
{
CDES 0.65; // S-Aベースは0.65、SSTベースは0.61
kappa 0.41; // von Karman定数
}
加えてfvSchemesでLES領域向けのLUSTスキームを設定し、fvSolutionで非定常スキームを2nd-order backwardに指定する。
先端技術
DDESを超えた最新の発展はどんなものがありますか?
DDESの発展系が幾つかある。
- IDDES(Improved DDES):壁面モデルLES(WMLES)機能をDDESに統合。RANS→LES遷移時に乱流変動を人工的に追加して「グレーゾーン問題」を軽減。2008年にShurらが提案。現在最も多用される。
- DDES with STG:Stochastic Turbulence Generator(確率的乱流生成器)をRANS→LES遷移領域に追加。グレーゾーン内でランダムな速度変動をソース項として注入する。
- 機械学習ベースのRANS/LES混合:DDESのスイッチング関数をニューラルネットワークで置き換え、より滑らかな遷移を実現する研究が活発。
- 量子乱流モデル:まだ研究段階だが量子コンピュータ上のDNSデータを機械学習で圧縮しDDESのモデル定数に反映するアプローチ。
IDDESとDDESの使い分けはどうすればいいですか?
実務的な判断基準としては:
- DDES推奨:主に分離後流の精密予測が目的で、境界層のRANS→LES遷移領域が重要でない場合(大型分離流れ、ブラフボディ後流など)
- IDDES推奨:薄い境界層でのWMLES機能が必要、または遷移領域で非定常変動を正確に予測したい場合(高Re数翼周り、乗り物の側面境界層など)
計算コストはほぼ同等。実装がある場合は IDDESを選んでおくのが現在のベストプラクティスだ。
F1カーとDDES
Formula 1チームは車体空力設計の9割以上をCFDで行っており、DDESおよびIDDESは後流・ウエイク解析の標準ツールになっている。ただし規制でCFD計算時間に上限が設けられており(2024年規則では週単位で計算時間が制限される)、計算効率とモデル精度のトレードオフが各チームの競争優位に直結している。Mercedis・Red Bull・Ferrariがどのモデルを使っているかは企業秘密だが、学術論文のトレンドを見る限りIDDESが主流と見られる。
トラブルシューティング
DDESを使っているのに境界層が早期剥離してしまいます。何が問題でしょうか?
DDESのDelaying関数が正しく動いているか確認してほしい。$f_d$ の分布を可視化して、境界層内が $f_d \approx 0$(RANS)になっているかチェック。
| 症状 | 主な原因 | 対策 |
|---|---|---|
| 境界層の早期剥離 | MSD:境界層内でf_d≠0(LESモード発動) | f_d分布を可視化、境界層メッシュのアスペクト比を確認(>5は危険) |
| 後流が非定常にならない | グレーゾーン問題・移流スキームの数値拡散過大 | 移流スキームをLUSTへ変更、LES領域メッシュを細化 |
| CD値が振動・収束しない | 統計収集時間不足、非定常発達が完了していない | 統計前に5L/U以上のウォームアップ、さらに10L/U以上の収集 |
| 計算が発散する | LES領域のCourant数が過大 | タイムステップを1/2〜1/5に縮小、まずRANSで安定化 |
| 結果がRANSと変わらない | 後流メッシュが粗すぎてLESモードが実質機能しない | 後流域の最大セルサイズ≤0.05L(車体長比)を確認 |
MSD、早期剥離、グレーゾーン問題、LES領域での数値拡散など詳細解説