標準k-εモデル
標準k-εの理論基礎
概要
先生、標準k-εモデルって乱流の世界では一番有名なモデルですよね? 改めて基礎から教えてもらえますか?
LaunderとSpalding(1974)が提案した2方程式乱流モデルだ。乱流エネルギー $k$ とその散逸率 $\varepsilon$ の輸送方程式を解く。工業CFDで最も広く使われてきた歴史がある。
2方程式モデルっていうのは、$k$ と $\varepsilon$ の2つの方程式を解くからですか?
その通り。渦粘性仮説(Boussinesq仮説)に基づいて、レイノルズ応力テンソルを渦粘性係数 $\mu_t$ で近似する。つまりこういう形だ。
輸送方程式
$k$ と $\varepsilon$ それぞれの輸送方程式はどんな形になるんですか?
まず乱流エネルギー $k$ の方程式だ。
次に散逸率 $\varepsilon$ の方程式だ。
ここで渦粘性は以下で定義される。
生成項 $P_k$ は平均ひずみ速度テンソル $S_{ij}$ を使って次のように書く。
モデル定数
各定数の標準値を教えてください。
標準k-εモデルの定数は以下の通りだ。これらはLaunder-Spaldingが一様等方乱流の減衰データや対数則などから決定した値だ。
| 定数 | 値 | 決定根拠 |
|---|---|---|
| $C_\mu$ | 0.09 | 対数則領域での整合性 |
| $C_{\varepsilon 1}$ | 1.44 | 一様せん断流の実験 |
| $C_{\varepsilon 2}$ | 1.92 | 格子乱流の減衰実験 |
| $\sigma_k$ | 1.0 | 乱流拡散の経験値 |
| $\sigma_\varepsilon$ | 1.3 | 乱流拡散の経験値 |
これらの定数って変えちゃダメなんですか?
原則として変更しないのが基本だ。ただし、$C_{\varepsilon 1}$ はラウンドジェットの拡がり率を合わせるために1.60に変更する「ラウンドジェット補正」が知られている。この辺は実務でも時々使う知識だ。
強みと弱み
標準k-εの得意・不得意を整理してもらえますか?
強み:
- ロバストで収束しやすい
- 工業的な内部流れ(配管、ダクト)で実績豊富
- 計算コストが低い
- 初期条件の設定が容易(乱流強度とスケールから $k$, $\varepsilon$ を算出)
弱み:
- 旋回流・曲率の強い流れで乱流エネルギーを過大予測
- 逆圧力勾配下の剥離を正確に捉えられない
- 壁面近傍では壁関数が必要(標準モデルは高Reynolds数型)
- 等方渦粘性仮説の限界で強い異方性乱流に不向き
旋回流で過大予測するのはなぜですか?
$C_\mu$ が定数0.09に固定されているからだ。旋回や曲率が強い領域では実効的な $C_\mu$ はもっと小さくなるべきなんだが、標準モデルではそれを反映できない。これがRealizable k-εモデルで改良された点だ。
C_μ=0.09という数字の重み——LaunderとSpalding の執念
標準k-εモデルの定数C_μ=0.09は、1972年にBrian LaunderとD. B. Spaldingが発表した論文で提案された値です。この数字は理論的に導出されたわけではなく、管内乱流・境界層・後向きステップなど複数の実験データに対して地道にフィッティングして決められました。当時はスパコンも存在せず、数値計算はパンチカードのバッチ処理。何日も待って返ってきた結果を見ながら定数を微調整した、という話が残っています。この執念のキャリブレーション作業があったからこそ、半世紀後の今も「まずk-ε」と言われる信頼感が生まれたわけです。
標準k-εの数値計算手法
有限体積法による離散化
標準k-εの輸送方程式をCFDソルバーでどうやって解くのか教えてください。
CFDでは有限体積法(FVM)が標準だ。$k$ と $\varepsilon$ の輸送方程式をセル体積で積分し、Gaussの発散定理でフェイス上のフラックスに変換する。一般的な離散化スキームの選択はこうなる。
| 項 | 推奨スキーム | 備考 |
|---|---|---|
| 対流項 | 2次風上(Second Order Upwind) | 数値拡散を抑制 |
| 拡散項 | 中心差分 | 2次精度が標準 |
| 時間項(非定常) | 2次陰解法 | 安定性と精度の両立 |
1次風上じゃダメなんですか?
1次風上は数値拡散が大きく、乱流場の予測精度が著しく低下する。特に剥離領域やせん断層で問題になる。ただし収束が難しい場合に初期数イテレーションだけ1次風上で回してから2次に切り替える手法は実務でよく使う。
SIMPLE系アルゴリズムとの連成
圧力-速度連成とk-ε方程式の関係はどうなってますか?
SIMPLE、SIMPLEC、PISO等の圧力ベースソルバーでは、1反復の中で以下の順序で解く。
1. 運動量方程式を解く(速度場の仮更新)
2. 圧力補正方程式を解く
3. 速度・圧力を補正
4. $k$ 方程式を解く
5. $\varepsilon$ 方程式を解く
6. $\mu_t$ を更新
7. 収束判定 → 未収束なら1へ戻る
$k$ と $\varepsilon$ は分離解法(segregated)で順に解くのが標準だ。密度ベースソルバー(coupled)では全変数を同時に解くこともある。
緩和係数の設定
緩和係数って重要ですか?
非常に重要だ。標準k-εモデルでの推奨Under-Relaxation Factor(URF)はこんな感じだ。
| 変数 | 推奨URF(定常) | 備考 |
|---|---|---|
| 圧力 | 0.3 | 収束が遅ければ0.2に下げる |
| 運動量 | 0.7 | |
| $k$ | 0.8 | |
| $\varepsilon$ | 0.8 | |
| 乱流粘性比 | 1.0 | 通常変更不要 |
$k$ や $\varepsilon$ の緩和を下げすぎるとどうなりますか?
収束が極端に遅くなる。また $\mu_t$ の更新が遅れるので、速度場との整合がとれず振動することがある。どうしても発散する場合は $\varepsilon$ のURFだけ0.5程度に下げるのが一つの手だ。
境界条件
入口の乱流境界条件はどう設定するんですか?
乱流強度 $I$ と乱流長さスケール $l$ (または水力直径 $D_H$)から算出するのが一般的だ。
配管内部流れなら乱流強度 $I = 5\%$ 程度が目安。外部流れのファーフィールドでは $I = 0.1\sim1\%$ と小さめにとる。乱流粘性比 $\mu_t/\mu$ を直接指定する方法もある(一般的に1〜10)。
壁近傍のy+管理——現場エンジニアが最初にハマる罠
k-εモデルの数値実装で新人エンジニアが必ずつまずくのが、壁近傍メッシュのy+管理です。標準k-εは壁関数を前提とするため、最初のセルが粘性底層に入り込むと(y+<30)結果が大きく狂います。筆者の知人は自動車エンジンルームの熱流体解析で、y+=5のメッシュを使って散々な結果を出したあと、壁関数の適用範囲を調べ直してやり直した、という苦い経験を持っています。「k-εを使うならy+は30〜300に収める」——これは実務での鉄則です。
標準k-εの実務適用
適用場面の選定
標準k-εモデルが本当に向いている問題って具体的にどういうものですか?
以下のような場面で信頼性が高い。
逆に避けるべきケースは以下だ。
- 翼型の剥離予測 → SST k-ωを使う
- サイクロン・旋回バーナー → Realizable k-εかRSM
- 壁面熱伝達の精密評価 → 低Re型モデルか壁面解像メッシュ
メッシュ要件
標準k-εモデルではメッシュをどう作ればいいですか?
壁関数を前提とするので、壁面第1セルの $y^+$ を30〜300の範囲に入れる必要がある。これが最も重要なポイントだ。
| $y^+$ 範囲 | 状態 | 対処 |
|---|---|---|
| < 11.2 | 粘性底層に入っている | メッシュが細かすぎ。Enhanced Wall Treatmentに切替えるか、メッシュを粗くする |
| 30〜300 | 対数則領域 | 適切。標準壁関数が有効 |
| > 300 | 対数則の外 | メッシュが粗すぎ。壁面を細分化 |
壁面以外のメッシュ密度はどのくらい必要ですか?
せん断層や再循環領域の近傍は十分な解像度が必要だ。メッシュ独立性を確認するために、粗・中・密の少なくとも3水準でGCI(Grid Convergence Index)を評価するのが望ましい。
初期条件と収束テクニック
計算がなかなか収束しないとき、どうすればいいですか?
実務でよく使うテクニックを整理しよう。
1. 段階的立ち上げ: まず1次風上で100〜200反復回して安定させてから2次風上に切り替える
2. 初期場: $k$ と $\varepsilon$ の初期値を適切に設定。$\mu_t/\mu \approx 10$ を目安にする
3. Courant数制限: 圧力ベースでは200程度、発散気味なら下げる
4. $\varepsilon$ の下限: $\varepsilon$ が0や負になるとクラッシュする。最低値リミッターを確認
非定常計算のときはどうですか?
非定常の場合、時間刻みが重要だ。CFL数を主流域で1以下にするのが安全。各時間ステップ内で20〜30サブイテレーションを回し、残差が2〜3桁落ちることを確認する。
「とりあえずk-ε」が通じる理由——工場設備解析の現場から
プラント配管の流体解析を専門とするある設計事務所では、毎年100件以上の解析を受注しますが、そのほぼ全件に標準k-εを使います。「SST使えばいいのでは?」と若手が提案しても、「客先に検証実績を示せるか?」と返ってくる。標準k-εはANSYS、OpenFOAM、STARいずれでも20年以上の産業事例があり、計算コストも低い。結果の説明責任を持つ実務では「信頼の実績」が最優先で、モデル精度の微差よりもはるかに重要視されることがあります。
標準k-εのソフトウェア比較
Ansys Fluent
Fluentで標準k-εモデルを設定する手順を教えてください。
Fluent GUIでの設定手順はこうだ。
1. Models → Viscous → k-epsilon (2 eqn) を選択
2. k-epsilon Model で Standard を選ぶ
3. Near-Wall Treatment で Standard Wall Functions を選ぶ
4. Model Constants はデフォルト値のまま($C_\mu=0.09$, $C_{\varepsilon 1}=1.44$, $C_{\varepsilon 2}=1.92$)
TUIコマンドなら以下だ。
```
/define/models/viscous/ke-standard yes
/define/models/viscous/near-wall-treatment/standard-wall-fn yes
```
Fluentの壁関数オプションの違いは何ですか?
Fluentでは3種類ある。
| 壁関数 | $y^+$ 要件 | 特徴 |
|---|---|---|
| Standard Wall Functions | 30〜300 | Launder-Spalding。最も基本 |
| Scalable Wall Functions | 任意 | $y^+<11.2$ の場合に補正 |
| Enhanced Wall Treatment | $y^+ \approx 1$ | 2層モデル。壁面解像メッシュが必要 |
Ansys CFX
CFXではどう設定しますか?
CFX-Preで Domain → Fluid Models → Turbulence → k-Epsilon を選択する。CFXはデフォルトでScalable Wall Functionを使うので、$y^+$ が小さくなっても自動対応する。CCLで書くとこうだ。
```
TURBULENCE MODEL:
Option = k-Epsilon
END
```
OpenFOAM
OpenFOAMでの設定方法は?
constant/turbulenceProperties に以下を記述する。
```
simulationType RAS;
RAS
{
RASModel kEpsilon;
turbulence on;
printCoeffs on;
}
```
壁面境界条件は 0/ ディレクトリで各変数に設定する。
```
// 0/k の壁面パッチ
wall
{
type kqRWallFunction;
value uniform 0.1;
}
// 0/epsilon の壁面パッチ
wall
{
type epsilonWallFunction;
value uniform 10;
}
// 0/nut の壁面パッチ
wall
{
type nutkWallFunction;
value uniform 0;
}
```
STAR-CCM+
STAR-CCM+ではどうですか?
Physics Continuum で以下を選択する。
1. Turbulent → RANS
2. K-Epsilon Turbulence → Standard K-Epsilon
3. Wall Treatment → High y+ Wall Treatment(壁関数使用時)
STAR-CCM+ではAll y+ Wall Treatmentも選べる。これは $y^+$ の値に応じて壁関数と壁面解像を自動的にブレンドする。
同じk-εでも結果が違う——ソルバー移行の落とし穴
あるメーカーがFluent解析をSTAR-CCM+に切り替えたとき、同じ「標準k-εモデル」を選んだはずなのに圧力損失の計算値が10%以上ずれた、という事例があります。調べると、壁関数の実装(enhanced wall treatmentの有無)と低Reynolds数補正フラグの初期値が異なっていた。ソルバー間のk-εは「名前は同じでも中身が少し違う」ことが多く、移行時には同一ジオメトリ・同一境界条件で結果を比較検証するステップが欠かせません。
標準k-εの先端研究
k-εモデルファミリーの比較
標準k-εの改良版にはどんなものがありますか?
k-εファミリーの主要3モデルを比較しよう。
| 項目 | Standard | RNG | Realizable |
|---|---|---|---|
| $C_\mu$ | 0.09(定数) | 0.0845(RNG導出) | 可変 $C_\mu(S,\Omega)$ |
| $\varepsilon$ 方程式 | 標準形 | $R$ 項追加 | 新しい $\varepsilon$ 方程式 |
| 旋回流 | 不得意 | やや改善 | 大幅に改善 |
| 低Re効果 | なし | 微分粘性モデル | なし |
| 現在の推奨度 | 低 | 中 | 高 |
標準k-εってもう使わない方がいいんですか?
既存のバリデーション結果や過去の計算との一貫性を保つ場合には使う意味がある。新規の解析なら、Realizable k-εかSST k-ωを第一選択にすることを勧める。
乱流粘性比のリミッター
$\mu_t/\mu$ が異常に大きくなることがあると聞きましたが。
k-εモデルでは $\mu_t = \rho C_\mu k^2/\varepsilon$ なので、$\varepsilon$ が小さくなると $\mu_t$ が爆発的に増加する。多くのソルバーでは $\mu_t/\mu$ に上限リミッター(デフォルトで $10^5$ 程度)を設けている。
FluentではTUIで確認・変更できる。
```
/define/models/viscous/turbulence-expert/turb-viscosity-ratio-limit
```
k-εモデルのPINN/機械学習による補正
最近の研究動向はどうなっていますか?
データ駆動型の乱流モデル補正が盛んに研究されている。k-εモデルの枠組みを維持しつつ、以下のようなアプローチが試みられている。
- フィールド反転と機械学習(FIML): DNS/LESデータから $\beta$ 補正場を学習し、$P_k$ を $\beta \cdot P_k$ に置き換える
- テンソル基底ニューラルネットワーク(TBNN): レイノルズ応力の非線形項を不変量とテンソル基底の関数として学習
- $C_\mu$ の局所適応化: 流れ場の特徴量に基づいて $C_\mu$ を局所的に変化させる
これらは商用ソルバーで使えますか?
現時点ではまだ研究段階のものが多い。ただしFluent 2024以降ではUDF経由でカスタム乱流モデルの組み込みが容易になっているし、OpenFOAMならソースコード修正で直接実装できる。
k-εの「変形体」はなぜこれほど多いのか
標準k-εを起点に、RNG k-ε、Realizable k-ε、AKN、Yang-Shih、Chienなど派生モデルは数十種類にのぼります。ある乱流モデルの研究者は「k-εは"変形のベースキャラ"だ」と表現しました。基本形が単純で理解しやすいため、特定の欠点を直したい研究者が独自改良を加え、それがまた別の研究者に改良される、という連鎖が止まらない。逆に言えば、標準k-εの欠点(曲率・旋回・逆圧力勾配での過大評価)が明確だからこそ、改善の方向性が見えやすかったとも言えます。
標準k-εのトラブル対応
よくある問題と対策
標準k-εで計算していてハマりやすいポイントを教えてください。
1. 発散(Divergence)
症状: 残差が増大し計算が停止。"Floating point exception" 等のエラー。
原因と対策:
- $\varepsilon$ が0に近づく: 初期条件で $\varepsilon$ が小さすぎる → $\mu_t/\mu = 1\sim10$ になるように初期値を設定
- メッシュ品質不良: 高アスペクト比セルや負体積 → メッシュ品質チェック(skewness < 0.95, orthogonality > 0.1)
- 急激な形状変化: 段差や急拡大部 → 緩和係数を下げ、1次風上で初期化してから2次へ切替え
2. 壁面y+が範囲外
$y^+$ が30未満になっている壁面があるとどうなりますか?
標準壁関数が不適切になり、壁面摩擦係数や熱伝達率が不正確になる。対策は3つ。
1. メッシュを粗くする: Inflation層の第1層高さを大きくする
2. Scalable Wall Functionに切替え: $y^+ = \max(y^+, 11.2)$ として計算するので安全
3. Enhanced Wall Treatmentに変更: この場合は $y^+ \approx 1$ にメッシュを細分化する
3. 剥離位置がずれる
後方ステップ流れの再付着長さが実験と合わないんですが。
標準k-εの典型的な問題だ。$P_k$ の過大評価により再循環領域が短くなりがちだ。
対策:
- Realizable k-εに切替え: $C_\mu$ の可変化により改善
- SST k-ωに切替え: 剥離流の予測では最も信頼性が高い
- $P_k$ のリミッター: Kato-Launder修正($P_k = \mu_t S \Omega$)を有効にする。FluentではTUIで設定可能
4. 非物理的な乱流値
淀み点付近で乱流エネルギーが異常に高くなるのはなぜですか?
Stagnation point anomalyと呼ばれる問題だ。淀み点では法線方向のひずみ速度が大きいため、$P_k = \mu_t S^2$ が過大になる。
対策:
- Kato-Launder修正: 渦度 $\Omega$ をひずみ速度 $S$ と組み合わせて生成項を修正
- 生成項リミッター: $P_k \leq c \cdot \rho \varepsilon$($c = 10$ 程度)で打ち切り
- Fluent:
/define/models/viscous/turbulence-expert/kato-launder yes
他のモデルに乗り換えた方が早い場合もありますか?
もちろんある。これらの問題が解析の主要な関心事に影響する場合は、SST k-ωやRealizable k-εへの切替えを迷わず検討すべきだ。モデル変更は数分の作業だが、メッシュ修正やパラメータチューニングは何時間もかかる。
「発散した」は乱流モデルのせいではないことが多い
k-εで計算が発散すると「モデルが悪い」と思いがちですが、現場の経験では発散原因の8割以上がメッシュ品質か境界条件の設定ミスです。特に入口境界での乱流強度を0%にしてしまい、kが初期値0のままεがゼロ除算を起こすケースは定番のトラブル。「乱流強度1〜5%、乱流長さスケールを代表長さの10%」を入口の暫定値として入れるだけで、発散が収束に変わった例を何度も見てきました。まずモデルを疑う前に境界条件を確認しましょう。
関連トピック
なった
詳しく
報告