LESの基礎理論 -- 理論と支配方程式
LESの基礎理論 -- 理論と支配方程式の理論基礎
LES(Large Eddy Simulation)とは
先生、LESってRANSとDNSの中間みたいな手法って聞いたんですけど、具体的にはどういう考え方なんですか?
いい質問だね。乱流にはさまざまなスケールの渦が含まれているけれど、LESでは空間フィルタリングによって大きなスケールの渦を直接計算し、フィルタ幅より小さいスケールの渦(サブグリッドスケール、SGS)はモデルで近似するという手法なんだ。
なるほど、大きい渦は直接解いて、小さい渦だけモデル化するんですね。DNSとの違いは?
DNSはKolmogorovスケール $\eta_K$ まで全ての渦を解像するので、格子点数が $N \sim Re^{9/4}$ のオーダーで必要になる。実用的なReynolds数の工業問題では到底計算できない。LESはフィルタ幅 $\Delta$ をKolmogorovスケールより大きく取ることで、計算コストを大幅に削減するんだ。
空間フィルタリングの数学的定義
フィルタリングって、具体的にはどんな数学操作なんですか?
任意の物理量 $\phi(\mathbf{x}, t)$ に対して、フィルタ操作は畳み込み積分で定義される。
ここで $G$ はフィルタカーネル、$\Delta$ はフィルタ幅だよ。代表的なフィルタにはBox(トップハット)フィルタ、Gaussianフィルタ、Sharp spectral(カットオフ)フィルタがある。
実際のCFDコードでは、どのフィルタが使われてるんですか?
有限体積法ベースのコード(Fluent、STAR-CCM+、OpenFOAMなど)では、セル体積による暗黙的フィルタリング(implicit filtering)が一般的だ。フィルタ幅はセルの代表長さとして $\Delta = V_{cell}^{1/3}$ や $\Delta = (\Delta x \cdot \Delta y \cdot \Delta z)^{1/3}$ で定義されることが多い。
フィルタされたNavier-Stokes方程式
フィルタリングをNavier-Stokes方程式に適用すると、どうなるんですか?
非圧縮性流体の場合、フィルタされた連続の式と運動量方程式はこうなる。
ここで重要なのは、非線形項 $\overline{u_i u_j}$ をフィルタ済み速度の積 $\bar{u}_i \bar{u}_j$ で近似できないため、SGS応力テンソルが生じることだ。
この $\tau_{ij}^{sgs}$ がモデル化の対象になるわけですね。
その通り。SGS応力テンソルを閉じるためのモデルがSGSモデル(subgrid-scale model)で、Smagorinskyモデル、動的Smagorinskyモデル、WALEモデルなど、さまざまなモデルが提案されているんだ。
渦粘性仮説
SGSモデルの多くが「渦粘性」という概念を使っているみたいですが、これはどういうものですか?
Boussinesq仮説を小スケールの渦に適用して、SGS応力テンソルの偏差成分を歪み速度テンソルに比例させるんだ。
ここで $\bar{S}_{ij} = \frac{1}{2}\left(\frac{\partial \bar{u}_i}{\partial x_j} + \frac{\partial \bar{u}_j}{\partial x_i}\right)$ はフィルタ済み歪み速度テンソル、$\nu_{sgs}$ はSGS渦粘性係数だ。各SGSモデルの違いは、この $\nu_{sgs}$ をどう評価するかにある。
RANSの渦粘性と似たような考え方なんですね。でもLESの場合は局所的・瞬時的な値として計算するところが違うわけですか。
その通り。RANSでは時間平均的な渦粘性を使うけど、LESではフィルタ操作後の瞬時場に対する局所的な渦粘性を評価するんだ。この違いは物理的に非常に大きい。
「フィルタ」という名前が生まれた経緯
LESの「空間フィルタリング」という概念を最初に体系化したのは気象学者のJoseph Smagorinskyです。1963年の論文での発想はシンプルで「大気の大スケール運動だけを解いて、小スケールの乱流効果は平均化してパラメタライズしよう」というものでした。CFD界隈で当たり前に使う「フィルタ幅 $\Delta$」という言葉も、もともとは気象モデルのグリッド間隔が起源。風の予報モデルのアイデアが、いまエンジンの燃焼シミュレーションに転用されているって、なかなか面白い旅路ですよね。
LESの基礎理論 -- 理論と支配方程式の数値計算手法
LESの空間離散化
LESを実装するとき、空間離散化で気をつけることはありますか?
LESではフィルタ幅以上のスケールの渦構造を正確に解像する必要があるため、数値散逸の小さいスキームが求められる。2次精度の中心差分が最低ラインで、理想的には高次の中心差分やcompact差分を使いたい。
上流差分はダメなんですか?
1次精度の上流差分は絶対に使ってはいけない。数値散逸がSGSモデルの散逸を大きく上回り、渦構造が人工的に消されてしまう。2次上流差分でも注意が必要で、blendingスキーム(例えば中心差分と上流差分の混合)を使う場合は中心差分の割合を十分高くすべきだ。OpenFOAMのlinearUpwindやFluent の Bounded Central Differencingは実務的な妥協点になるけれど、中心差分の割合が低すぎるとLESの意味がなくなるよ。
時間積分スキーム
時間の離散化はどうすればいいですか?
LESは本質的に非定常計算だから、時間積分の精度も重要だ。最低でも2次精度が必要で、代表的な選択肢は以下の通り。
| スキーム | 精度 | 特徴 |
|---|---|---|
| 2次後退差分(BDF2) | 2次 | 陰的、安定、OpenFOAMのbackward |
| Crank-Nicolson | 2次 | 陰的、振動的になり得る |
| Adams-Bashforth 2次 | 2次 | 陽的、CFL制限あり |
| Runge-Kutta 3/4次 | 3-4次 | 陽的、高精度、spectralコードで一般的 |
時間刻みの決め方に目安はありますか?
CFL数(Courant-Friedrichs-Lewy数)で管理する。陽的スキームでは $CFL < 1$ が安定条件だけど、LESの精度確保のためには陰的スキームでも $CFL \sim 1$ 程度に抑えるのが望ましい。CFL数は $CFL = \frac{u \Delta t}{\Delta x}$ で定義される。
圧力-速度連成
非圧縮LESの圧力-速度連成はどう処理するんですか?
PISO(Pressure Implicit with Splitting of Operators)法が最も一般的だ。各時間ステップ内で1回の予測子ステップと2回以上の修正子ステップを行う。OpenFOAMではpimpleFoamソルバーがPIMPLE(PISO+SIMPLE)アルゴリズムを採用していて、LESに広く使われている。FluentではNon-Iterative Time Advancement (NITA) + fractional step法の組み合わせが推奨されるよ。
格子解像度の要件
LESのメッシュはどれくらい細かくすれば良いんですか? RANSとは全然違いそうですね。
壁面解像LES(wall-resolved LES, WRLES)の場合、壁面近傍の格子解像度は非常に厳しい要件がある。
| 方向 | 要件(壁面単位) | 備考 |
|---|---|---|
| 壁面垂直方向 $\Delta y^+$ | < 1 (第一セル) | 粘性底層を解像 |
| 流れ方向 $\Delta x^+$ | 50 - 100 | ストリーク構造を解像 |
| スパン方向 $\Delta z^+$ | 15 - 40 | 縦渦対を解像 |
ここで壁面単位は $y^+ = y u_\tau / \nu$、$u_\tau = \sqrt{\tau_w/\rho}$ だ。
そんなに細かくしないといけないんですか。計算コストが膨大になりそうですね。
そうなんだ。壁面解像LESの格子点数は $N \sim Re^{13/7}$ のオーダーで増加するので、高Reynolds数の実機問題では非常に高コストになる。そこで壁面モデルLES(WMLES)やDES/IDDESといったハイブリッド手法が重要になってくるんだ。
LESの「数値粘性」との長い戦い
LESの離散化スキームを選ぶとき、なぜわざわざ2次精度の中心差分にこだわるか知っていますか? 高次精度スキームを使っても、数値拡散(数値粘性)が物理的なSGSモデルを圧倒してしまうと意味がないんです。1990年代にPiomelli らが示したのは「2次中心差分 + 適切なSGSモデル」の組み合わせが数値粘性をSGSより小さく抑えられるという事実。実装するときは「数値粘性もSGSの一部として機能している」という意識を忘れずに。
LESの基礎理論 -- 理論と支配方程式の実務適用
LES解析の全体フロー
LES解析を実際にやるときの手順を教えてください。
LESはRANSとは根本的に考え方が違うから、フローもかなり異なるよ。
1. 前処理: 十分に細かいメッシュ生成(特に壁面近傍と渦発生領域)。入口で乱流変動を与えるための手法選定
2. 初期場の生成: RANS解からの初期化、または一様場からの助走計算
3. 助走計算(wash-out): 統計的に定常な状態に達するまで計算を流す。初期の非物理的な過渡状態のデータは統計から除外する
4. 統計サンプリング: 十分な時間サンプルを蓄積して時間平均と変動量の統計を計算
5. 後処理: 瞬時場の可視化、時間平均場・RMS場の解析、スペクトル解析、2点相関解析など
流入境界条件
LESの入口境界で乱流変動を与えるにはどうするんですか? 一様流を入れたらダメですよね?
一様流やRANSの平均プロファイルだけでは、下流の渦が全く発達しない。乱流変動を含む入口条件を与える必要があるんだ。主な手法は以下の通り。
| 手法 | 概要 | 精度 | コスト |
|---|---|---|---|
| 周期境界からのリサイクリング | 別途周期チャネル計算を実施し入口にマッピング | 高 | 高 |
| Synthetic Eddy Method (SEM) | 仮想渦を配置して乱流変動を合成 | 中〜高 | 低 |
| Vortex Method | 渦輪を入口に配置 | 中 | 低 |
| Digital Filter法 | 指定した乱流統計量を満たすランダム変動を生成 | 中 | 低 |
| Precursor simulation | 完全に発達した乱流場を別計算で生成 | 最高 | 最高 |
商用ソルバーではどれが使えるんですか?
Fluent にはVortex MethodとSpectral Synthesizer法が組み込まれている。STAR-CCM+にはSynthetic Eddy法がある。OpenFOAMではturbulentDFSEMInletが使えて、これはSEMベースの手法だ。実務的にはSEMやDigital Filter法が精度とコストのバランスが良いよ。
統計サンプリングと品質評価
どれくらいの時間サンプリングすれば統計が収束するんですか?
対象の流れ場の特徴的な時間スケール $T_{conv} = L/U$($L$ は代表長さ、$U$ は代表速度)の少なくとも10〜20倍はサンプリングしたい。例えば円柱後流では、渦放出周期の50〜100周期分くらいが望ましいね。
LESの結果が本当にLESとして妥当かどうか、チェックする方法はありますか?
重要な品質指標がいくつかある。
- LES Index of Quality (LES_IQ): 分解されたエネルギーの全エネルギーに対する比率。$M(x,t) = \frac{k_{resolved}}{k_{resolved} + k_{sgs}}$ で定義され、0.8以上が望ましい
- 2点相関の解析: 相関長さがメッシュ間隔の数倍以上であること
- エネルギースペクトル: 慣性小領域で $-5/3$ 乗則が観察されること
- SGS粘性比: $\nu_{sgs}/\nu$ が過大でないこと(理想的には $O(1)$ 〜 $O(10)$)
なるほど、LESは計算して終わりじゃなくて、結果の品質チェックも含めて初めて完結するんですね。
「LESは計算時間が読めない」問題の実態
LESを実務で回すと、「計算終わるのいつ?」という問いへの答えが難しいことに気づきます。RANSなら収束履歴で「あと数百ステップ」と読めますが、LESは「統計が収束するまで流す」という性質上、どこで打ち切るかが属人的になりがち。ベテランエンジニアは $T_{avg} \geq 10 \cdot L/U$ 以上の流体通過時間を確保するという経験則を使い、さらに1回分をスロー・ウォッシュアウト(初期過渡)として除くのが定番のやり方です。
LESの基礎理論 -- 理論と支配方程式のソフトウェア比較
LES対応のCFDソルバー比較
LESをやるのに使えるソフトって、どんなものがありますか?
主要なソルバーとLES関連の機能を比較してみよう。
| ソルバー | SGSモデル | 入口変動生成 | スキーム特徴 |
|---|---|---|---|
| Ansys Fluent | Smagorinsky, Dynamic, WALE, WMLES | Vortex Method, Spectral Synthesizer | Bounded Central Differencing推奨 |
| STAR-CCM+ | Smagorinsky, Dynamic, WALE, sigma | Synthetic Eddy Method | Central + upwind blending |
| OpenFOAM | Smagorinsky, Dynamic k-eq, WALE, sigma等 | turbulentDFSEMInlet | 自由にスキーム選択可能 |
| Ansys CFX | Smagorinsky, Dynamic | 制限あり | 高次スキーム利用可 |
OpenFOAMは自由度が高そうですね。
OpenFOAMは研究用途で非常に強力だ。SGSモデルの追加やカスタマイズが容易で、新しいモデルの実装も比較的簡単にできる。ただし、GUIがないためセットアップにはある程度の知識が必要になる。
Ansys Fluent
FluentでLESをやるときのコツを教えてください。
Fluent でLESを設定する際の要点は以下の通り。
- Viscous ModelでLESを選択し、SGSモデルを指定
- Spatial DiscretizationではBounded Central Differencingを運動量方程式に適用
- Transient FormulationはBounded Second Order Implicit
- Non-Iterative Time Advancement(NITA)を有効化するとタイムステップあたりの反復が不要になり高速化
- Pressure-Velocity CouplingはFractional Step法を使用
OpenFOAM
OpenFOAMのLES設定はどうなりますか?
OpenFOAMではturbulencePropertiesでLESを指定し、fvSchemesで数値スキームを設定する。
- ソルバー:
pimpleFoam(非圧縮LES用) - SGSモデル:
turbulencePropertiesでsimulationType LES;、LESブロックでモデル名指定 - 対流スキーム:
filteredLinearやLUST(Linear Upwind Stabilised Transport)が推奨 - 時間スキーム:
backward(BDF2)が一般的 pimpleFoamの外側ループは2-3回で十分なことが多い
ライセンスとコストの考慮
LESは長時間の非定常計算だから、ライセンスコストも馬鹿にならなさそうですね。
その通り。LESは数百万〜数千万セルの格子を数十万タイムステップ回すので、計算リソースとライセンスの両方でコストがかかる。
| 観点 | 商用(Fluent/STAR-CCM+) | OSS(OpenFOAM) |
|---|---|---|
| ライセンス費用 | HPCトークン制(コア数比例) | 無料 |
| 並列効率 | 高い(最適化済み) | 高い(MPIベース) |
| サポート | 公式テクニカルサポート | コミュニティ/有償コンサル |
| カスタマイズ性 | UDF/マクロで制限的 | ソースコード完全公開 |
大規模LESだとOpenFOAMのライセンス無料は魅力的ですね。
そうだね。研究機関ではOpenFOAMが広く使われている理由の一つだ。一方、商用ソルバーはGUIによるセットアップの容易さやテクニカルサポートの充実というメリットがある。プロジェクトの要件に応じて選択するのが大切だよ。
「LESを売れるか?」という商用ソルバーの葛藤
2000年代初頭、商用CFDベンダーはLESをどう売り込むか頭を抱えていました。精度は高いがRANSの10倍以上の計算時間がかかり、セットアップも難しい。そこで各社がとった戦略が「LESをウィザードに隠す」こと。FluentのSASやStarCCM+のDES設定が「乱流モデル選択のドロップダウン一つ」に収められているのは、その歴史の名残です。便利な反面、中身を知らずに使うと痛い目に遭う典型でもあります。
LESの基礎理論 -- 理論と支配方程式の先端研究
陰的LES(Implicit LES / ILES)
SGSモデルを使わないLESがあるって聞いたんですけど、本当ですか?
陰的LES(ILES, Implicit LES)のことだね。数値スキームの持つ数値散逸をSGSモデルの代わりとして利用する手法だ。MONOTONE(単調性保存)スキームやFlux-Corrected Transport(FCT)の散逸がSGSモデルの役割を果たすという考え方で、Borisらが提唱した。
SGSモデルが不要なら便利そうですけど、問題点はないんですか?
数値散逸の大きさがスキームとメッシュに依存するため、解の品質保証が難しいことが最大の課題だ。どの程度の散逸がSGSとして適切かを制御できない。とはいえ、高解像度計算では実質的にILESに近い状態になることも多く、実用上は有用な場面もある。
圧縮性LES
圧縮性流れのLESはどうなるんですか? ジェットエンジンとか超音速流とか。
圧縮性LESではFavre平均(密度重み付きフィルタリング)を使う。Favre filtered量を $\tilde{\phi} = \overline{\rho \phi}/\bar{\rho}$ と定義して、圧縮性のフィルタ済みNavier-Stokes方程式を導出するんだ。SGSエネルギー方程式やSGS熱流束のモデルも必要になるから、非圧縮の場合よりも定式化が複雑になる。
実際にはどんな応用がありますか?
航空宇宙分野ではジェット騒音予測が代表的だね。NASAやJAXAでは圧縮性LESによるジェット騒音の予測研究が盛んに行われている。また、燃焼分野ではガスタービン燃焼器のLES(反応性LES)が実用レベルに達しつつある。
LESの品質評価の最新動向
先ほどLES_IQの話がありましたが、他にも品質評価の手法はありますか?
最近の研究ではより厳密な品質評価手法が提案されている。
- Pope基準: 分解された乱流エネルギーが全体の80%以上($M > 0.8$)であること
- Celikの LES_IQ: $LES\_IQ = \frac{1}{1 + 0.05(\nu_{eff}/\nu)^{0.53}}$ で計算する指標
- Richardson外挿による格子収束評価: 系統的な格子細分化による不確かさ定量化
- 構造関数によるスケール解析: 2次構造関数 $D_{LL}(r) = \langle (u(x+r) - u(x))^2 \rangle$ の解析
機械学習とLES
最近のAI/MLブームはLESにも影響しているんですか?
大きく影響している。特に注目されているのはニューラルネットワークによるSGSモデリングだ。DNSデータを教師データとして、従来のSGSモデルよりも高精度なクロージャーモデルを学習させる研究が活発に行われている。他にも、
- Physics-Informed Neural Networks (PINN): 支配方程式を損失関数に組み込んだ学習
- 超解像(Super-Resolution): 粗いLES結果からDNS相当の詳細を復元
- 壁面モデルへのML適用: 壁面応力の予測にニューラルネットワークを使用
などの研究が進んでいるよ。ただし、学習データの範囲外への汎化性能(generalizability)が最大の課題として残っているんだ。
計算流体力学もAIの波が来ているんですね。今後が楽しみです。
うん。ただし、物理的な理解なしにブラックボックスで使うと痛い目を見る可能性がある。基礎理論をしっかり理解した上で、新しいツールとして活用していくことが大切だよ。
機械学習SGSモデルの「暗黙知」問題
近年、CNNやGANを使ってDNSデータからSGSモデルをデータ駆動で学習させる研究が盛んです。精度は従来モデルを上回ることも多いのですが、実務への普及には壁があります。「なぜその渦粘性値を出したのか説明できない」という点が航空・原子力などの認証が必要な分野で受け入れられにくい。Interpretable MLとLES理論を橋渡しする研究が、いま最もホットな先端課題の一つです。
LESの基礎理論 -- 理論と支配方程式のトラブル対応
LESでよくある問題と対策
LESの計算で困ったときの対処法を教えてください。
LES特有の問題をいくつか見ていこう。RANSとは性質が異なる問題が多いんだ。
1. 渦構造が全く発達しない
LESを回しているのに、結果がRANSと変わらないように見えるんですが。
考えられる原因と対策:
- 数値散逸が大きすぎる: 1次上流差分を使っていないか確認。運動量方程式には中心差分系のスキームを使うこと
- メッシュが粗すぎる: LES_IQを確認して0.8未満なら格子を細分化
- 入口で乱流変動を与えていない: SEM等の変動生成法を適用すること
- SGS粘性が過大: Smagorinskyモデルの定数 $C_s$ が大きすぎないか確認
2. 計算が発散する
LESで計算が飛んでしまうことがよくあるんですが。
対策:
- CFL数の確認: 最大CFL数が1.0を超えていないか。局所的に高CFL領域がないかチェック
- 初期過渡の取り扱い: RANS解から初期化した直後は残差が大きく発散しやすい。最初の数百ステップは時間刻みを小さくするか、PIMPLE外側ループの反復回数を増やす
- メッシュ品質: 非直交性やスキューネスが大きいセルが存在すると不安定化する。特に非直交補正(non-orthogonal corrector)の回数を増やすこと
- 中心差分の不安定性: 純粋な中心差分で不安定な場合は、微量のblending(5-10%程度の上流差分成分)を加える
3. 統計が収束しない
時間平均を取っても値がどんどん変わるんですが、どれくらい回せばいいんですか?
サンプリング時間が不十分な場合がほとんどだ。以下をチェックしてほしい。
- 流れ場が統計的に定常な状態(statistically stationary)に達してからサンプリングを開始しているか
- サンプリング時間が主要な渦の特徴的時間スケールの10倍以上あるか
- 低周波数の変動(流れの首振りなど)がある場合、さらに長いサンプリングが必要
4. 壁面せん断応力が合わない
壁面の摩擦係数が実験値と合わないんですが。
壁面解像LESで壁面が合わない場合は、
- 壁面垂直方向の格子解像度: 第一セルの $y^+$ が1.0以下か確認
- スパン方向解像度: $\Delta z^+ < 40$ を満たしているか。壁面近傍の縦渦対を解像するために不可欠
- 流れ方向解像度: $\Delta x^+ < 100$ を満たしているか
- 壁面接線方向の等方性: 壁面近傍で過度にアスペクト比が大きいセルは避ける
WMLESを使っている場合は、マッチング位置の $y_{match}$ が適切かを確認しよう。
5. 計算コストが大きすぎる
計算が全然終わらないんですが、コストを下げる方法はありますか?
decomposeParでscotchやhierarchical法を試すLESのトラブルシューティングは、RANSとはかなり違うんですね。数値スキームやメッシュの要件がより厳しいと感じました。
その通り。LESは「ゴミを入れてゴミを出す(garbage in, garbage out)」の原則がRANS以上に顕著だ。設定の一つ一つが結果に直結するので、丁寧なセットアップと品質評価を心がけてほしい。
LESの「発散地獄」——最初の壁
LESを始めたばかりのエンジニアが必ずぶつかる洗礼が「計算が発散する」問題です。RANSと同じ感覚でタイムステップを設定すると、CFL数が1を超えた瞬間に速度場が爆発します。ベテランが口をそろえて言う経験則は「最初はタイムステップを想定の1/10にして、流れが確立してから徐々に上げろ」。焦って大きなΔtで突っ込むより、小さいΔtで安定した流れを作ってから調整する方が結果的に速いのです。
関連トピック
なった
詳しく
報告