標準k-ωモデル(Wilcox)
理論と物理
概要
先生! 標準k-ωモデルとSST k-ωってどう違うんですか?
標準k-ωモデルはWilcox (1988, 2006)が開発したもので、SSTのベースとなったモデルだ。乱流の比散逸率(Specific Dissipation Rate)$\omega = \varepsilon/(C_\mu k)$ を輸送変数に使い、壁面近傍での処理がk-εモデルより自然だという利点がある。
壁面に強いってことですか?
そう。ωの壁面境界条件は解析的に定義でき(Dirichlet条件)、εのように壁面で特異性を持たない。壁関数なしで粘性底層まで直接解像できる。ただし自由流の境界条件に対する感度が高いという重大な弱点がある。
支配方程式
方程式を教えてください。
Wilcox (2006)の改訂版k-ω方程式:
k方程式:
ω方程式:
渦粘性: $\mu_t = \rho k / \omega$
モデル定数: $\alpha = 13/25$、$\beta = \beta_0 f_\beta$、$\beta^ = 9/100$、$\sigma = 1/2$、$\sigma^ = 3/5$、$\sigma_d = 1/8$($\nabla k \cdot \nabla \omega > 0$ の場合のみ)。
$\sigma_d$ のクロス拡散項が条件付きなのが面白いですね。
Wilcox 2006版の重要な改良点だ。これにより自由流感度の問題がかなり改善された。1988年版ではこの項がなく、自由流の $\omega$ 値で解が大きく変わるという問題があった。
自由流感度問題
自由流感度って具体的にどういう問題ですか?
自由流(壁から離れた領域)での $\omega$ の境界値を変えると、壁面近傍の解まで変わってしまう。これは物理的に不合理だ。Menterがk-εとのブレンド(SST)を開発した主な動機がこの問題だった。
2006年版のクロス拡散項でかなり改善されたが、完全には解決していない。このため産業CFDではSST k-ωが標準k-ωより圧倒的に多く使われている。
Wilcoxが50年かけてアップデートし続けたモデル
標準k-ωモデルは1988年にDavid C. Wilcoxが提案して以来、1998年版、2006年版、2008年版と継続的に改訂されています。とくに自由流感受性(入口境界のω値に結果が敏感に依存する問題)が長年の弱点として知られており、Wilcox自身が「改善が必要だ」と認識して改訂を重ねてきました。研究者が自分のモデルの欠点を公言して改良し続けるというのは、工学の世界では珍しい誠実さです。使うときはどのバージョンを実装しているかを確認することが重要で、「標準k-ω」と一言で言っても年代によって式が異なります。
各項の物理的意味
- 時間項 $\partial(\rho\phi)/\partial t$:蛇口をひねった瞬間を思い浮かべてください。最初は水がバタバタと不安定に出て、しばらくすると安定した流れになりますよね? この「変化している最中」を記述するのが時間項です。心臓の拍動で血流が脈打つのも、エンジンのバルブが開閉するたびに流れが変動するのも、すべて非定常現象。では定常解析とは? 「十分時間が経って流れが落ち着いた後」だけを見る——つまりこの項をゼロにする。計算コストが大幅に下がるため、まず定常で解いてみるのがCFDの基本戦略です。
- 対流項 $\nabla \cdot (\rho \mathbf{u} \phi)$:川に落ち葉を落としたらどうなりますか? 流れに乗って下流に運ばれますよね。これが「対流」——流体の動きが物を運ぶ効果です。暖房の温風が部屋の端まで届くのも、空気という「運び屋」が熱を対流で輸送しているから。ここが面白いところ——この項は「速度×速度」を含むため非線形です。つまり、流れが速くなるとこの項が急激に強くなり、制御が難しくなる。これが乱流の根本原因です。よくある勘違い:「対流と伝導は同じようなもの」→ 全然違います! 対流は流れが運ぶ、伝導は分子が伝える。桁違いの効率差があります。
- 拡散項 $\nabla \cdot (\Gamma \nabla \phi)$:コーヒーにミルクを入れて放置したことはありますか? かき混ぜなくても、しばらく経つと自然に混ざりますよね。あれが分子拡散です。では次の質問——ハチミツとお水、どちらが流しやすいですか? 当然お水ですよね。ハチミツは粘性($\mu$)が高いから流れにくい。粘性が大きいと拡散項が強くなり、流体は「もったりした」動きになります。レイノルズ数が小さい流れ(ゆっくり、ドロドロ)では拡散が支配的。逆にRe数が大きい流れでは対流が圧倒し、拡散は脇役になります。
- 圧力項 $-\nabla p$:注射器のピストンを押すと、液体が針先から勢いよく出ますよね? なぜでしょう? ピストン側が高圧、針先が低圧——この圧力差が流体を押す力になるからです。ダムの放水も同じ原理。天気図で等圧線がギュッと密になっている場所では? そう、強風が吹きます。「圧力差があるところに流れが生まれる」——これがナビエ-ストークス方程式の圧力項の物理的意味。ここでの勘違いポイント:CFDの「圧力」は絶対圧ではなくゲージ圧のことが多い。圧縮性解析に切り替えたとたんに結果がおかしくなる場合、絶対圧/ゲージ圧の混同が原因かもしれません。
- ソース項 $S_\phi$:暖められた空気が上に昇る——なぜでしょう? 周囲より軽く(密度が低く)なったから、浮力で押し上げられるのです。この浮力はソース項として方程式に追加されます。他にも、ガスコンロの炎で化学反応熱が発生する、工場の電磁ポンプで金属溶湯にローレンツ力がかかる…これらはすべて「外部から流体にエネルギーや力を注入する」作用であり、ソース項で表現します。ソース項を忘れるとどうなるか? 自然対流の解析で浮力を入れ忘れると、流体は一切動かない——冬の部屋で暖房をつけたのに暖かい空気が上に行かない、という物理的にありえない結果になります。
仮定条件と適用限界
- 連続体仮定:クヌッセン数 Kn < 0.01(分子平均自由行程 ≪ 代表長さ)で成立
- ニュートン流体仮定:せん断応力と歪み速度が線形関係(非ニュートン流体では粘度モデルが必要)
- 非圧縮性仮定(Ma < 0.3の場合):密度を一定として扱う。マッハ数0.3以上では圧縮性効果を考慮
- ブシネスク近似(自然対流):密度変化を浮力項のみで考慮し、他の項では一定密度を使用
- 適用外ケース:希薄気体(Kn > 0.1)、超音速・極超音速流れ(衝撃波捕捉が必要)、自由表面流れ(VOF/Level Set等が必要)
次元解析と単位系
| 変数 | SI単位 | 注意点・換算メモ |
|---|---|---|
| 速度 $u$ | m/s | 入口条件で体積流量から換算する際、断面積の単位に注意 |
| 圧力 $p$ | Pa | ゲージ圧と絶対圧の区別。圧縮性解析では絶対圧を使用 |
| 密度 $\rho$ | kg/m³ | 空気: 約1.225 kg/m³@20°C、水: 約998 kg/m³@20°C |
| 粘性係数 $\mu$ | Pa·s | 動粘性係数 $\nu = \mu/\rho$ [m²/s] との混同に注意 |
| レイノルズ数 $Re$ | 無次元 | $Re = \rho u L / \mu$。層流/乱流遷移の判定指標 |
| CFL数 | 無次元 | $CFL = u \Delta t / \Delta x$。時間刻みの安定性に直結 |
数値解法と実装
数値実装
標準k-ωの実装で特有の注意点はありますか?
ωの壁面境界条件が最大のポイントだ。
壁面境界条件
ωの壁面値はどう決めるんですか?
$y^+ \to 0$ の極限で:
これはDirichlet条件で、数値的にはいくつかの実装方法がある:
1. 壁面第1セル中心の値として設定: $\omega_P = \frac{6\nu}{\beta_1 (\Delta y_1)^2}$
2. 壁面Ghost Cellの値として設定: Wilcox推奨
3. 壁関数との切替え: $y^+ > 2.5$ では $\omega = u_\tau / (\sqrt{\beta^*} \kappa y)$
方法1だとメッシュが細かいほどωが大きくなりますよね。
そう。$y^+ = 1$ で $\omega \sim O(10^6)$、$y^+ = 0.1$ で $\omega \sim O(10^8)$ になる。これは行列の対角優位性を維持するのに注意が必要だ。
離散化スキーム
k-ωの離散化で推奨されるスキームは?
| 変数 | 推奨スキーム | 備考 |
|---|---|---|
| k | Second Order Upwind | TVD制限関数付き |
| ω | First/Second Order Upwind | ωは壁面で急激に変化するため一次精度でも許容 |
| 運動量 | Second Order Upwind以上 | |
| クロス拡散項 | Central Difference | 勾配の内積、条件分岐に注意 |
OpenFOAMでの設定
OpenFOAMでの使い方を教えてください。
OpenFOAMにはWilcox 2006版の kOmega が実装されている。
```
RAS
{
RASModel kOmega;
turbulence on;
printCoeffs on;
}
```
ただし実務では kOmegaSST を使うことが圧倒的に多い。kOmega を使うのは、特定のベンチマーク検証やSSTのブレンディングの影響を排除したい場合くらいだ。
収束性の改善
収束が悪いときのテクニックは?
k-ωとy+=1の相性——壁面解像の意外な恩恵
k-ωモデルは壁面近傍でω→∞という境界条件の性質を持ち、壁上でのωの解析解が存在するため、粘性底層を直接解像するy+=1程度の細かいメッシュと非常に相性が良いです。この特性のおかげで遷移流れや低Reynolds数域の境界層計算に強く、航空機翼の境界層解析に長く使われてきた経緯があります。逆に言えば「k-ωを選んだならy+は1以下を目指せ」という実務指針は、このモデルの物理的特性から自然に導かれます。メッシュが細かいほどk-ωの本領が発揮される、というのは実務エンジニアが知っておくべき重要な知識です。
風上差分(Upwind)
1次風上: 数値拡散が大きいが安定。2次風上: 精度向上するが振動のリスク。高レイノルズ数流れでは必須。
中心差分(Central Differencing)
2次精度だが、Pe数 > 2で数値振動が発生。低レイノルズ数の拡散支配流れに適する。
TVDスキーム(MUSCL、QUICK等)
リミッタ関数により数値振動を抑制しつつ高精度を維持。衝撃波や急勾配の捕捉に有効。
有限体積法 vs 有限要素法
FVM: 保存則を自然に満足。CFDの主流。FEM: 複雑形状・マルチフィジックスに有利。SPH等のメッシュフリー法も発展中。
CFL条件(クーラン数)
陽解法: CFL ≤ 1が安定条件。陰解法: CFL > 1でも安定だが、精度と反復回数に影響。LES: CFL ≈ 1を推奨。物理的意味: 1タイムステップで情報が1セル以上進まないこと。
残差モニタリング
連続の式・運動量・エネルギーの各残差が3〜4桁低下で収束と判断。質量保存の残差は特に重要。
緩和係数
圧力: 0.2〜0.3、速度: 0.5〜0.7が一般的な初期値。発散する場合は緩和係数を下げる。収束後は上げて加速。
非定常計算の内部反復
各タイムステップ内で定常解に収束するまで反復。内部反復数: 5〜20回が目安。残差がタイムステップ間で変動する場合は時間刻みを見直す。
SIMPLE法のたとえ
SIMPLE法は「交互に調整する」手法。まず速度を仮に求め(予測ステップ)、その速度で質量保存が満たされるよう圧力を補正し(補正ステップ)、補正された圧力で速度を修正する——このキャッチボールを繰り返して正解に近づく。2人で棚を水平にする作業に似ている:片方が高さを合わせ、もう片方がバランスを取り、これを交互に繰り返す。
風上差分のたとえ
風上差分は「川の流れに立って上流の情報を重視する」手法。川の中にいる人が下流を見ても水の出所は分からない——上流の情報が下流を決めるという物理を反映した離散化手法。精度は1次だが、流れの方向を正しく捕捉するため安定性が高い。
実践ガイド
実践ガイド
標準k-ωを使うべき場面はあるんですか? SSTがあるなら不要では?
ほとんどの場合SSTで良いが、以下のケースでは標準k-ωが使われることがある。
使用が正当化されるケース
| ケース | 理由 |
|---|---|
| Wilcox論文との比較検証 | 同じモデルで再現する必要がある |
| 壁面主導の境界層流れ | 自由流の影響が小さい場合、SSTと同等の精度 |
| SSTのブレンディング影響の排除 | 研究用途でブレンディングの効果を切り分けたい |
| 旧来のバリデーション資産 | 過去の検証データがk-ωベースの場合 |
SST vs 標準k-ωの比較
具体的にどう違うんですか?
| 特性 | 標準k-ω | SST k-ω |
|---|---|---|
| 壁面近傍の精度 | 高 | 高(同等) |
| 自由流感度 | 中(2006版で改善) | 低(k-εブレンド) |
| 逆圧力勾配の剥離 | 過小予測傾向 | 改善(SSTリミッター) |
| 淀み点問題 | あり | Production Limiterで緩和 |
| DES/DDES化 | 可能だが稀 | 標準的 |
入口境界条件
入口のω値はどう設定しますか?
一般的な変換式:
または乱流粘性比から:
| パラメータ | 外部流れ | 内部流れ |
|---|---|---|
| 乱流強度 $I$ | 0.1-1% | 5-10% |
| 長さスケール $l_t$ | $0.01 L_{ref}$ | $0.07 D_h$ |
| 粘性比 $\mu_t/\mu$ | 1-10 | 10-100 |
自由流感度を考慮して、$\omega$ の入口値は感度解析で確認すべきだ。特に1988年版では結果が大きく変わりうる。
やはり実務ではSSTを使うのが安全そうですね。
そうだね。標準k-ωの存在意義はSSTの理解を深めるための基礎知識として重要ということだ。
宇宙機の熱防護解析でk-ωが使われる理由
再突入カプセルや超音速ミサイルの空力加熱解析では、k-ωモデルが標準的に使用されます。これは衝撃波後の高温境界層や壁面付近の熱流束予測でk-ωが比較的良好な精度を示すためです。JAXAやNASAの技術レポートでも超音速・極超音速の壁面熱流束評価にk-ωを用いた事例が多く見られます。「宇宙開発でも使われているモデルを普通の配管解析に使っている」というのは、k-ωの守備範囲の広さを示す面白いギャップです。
解析フローのたとえ
CFDの解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?
初心者が陥りやすい落とし穴
「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。
境界条件の考え方
入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。
ソフトウェア比較
商用ツールでの対応
各ソルバーで標準k-ωはどう扱われていますか?
| ソルバー | 実装バージョン | 備考 |
|---|---|---|
| Ansys Fluent | Wilcox 1998版相当 | Low-Re補正、せん断流補正オプションあり |
| Ansys CFX | Wilcox版 | SSTを強く推奨。k-ωは後方互換性のため |
| STAR-CCM+ | Wilcox 2006版 | |
| OpenFOAM | Wilcox 2006版 | kOmega クラス |
Fluentでの注意点
Fluentの標準k-ωにはどんなオプションがありますか?
Fluent の k-omega (Standard) には:
- Low-Reynolds Corrections: 遷移領域での減衰関数
- Shear Flow Corrections: せん断流での拡散項修正
- Transitional Flows: Free shear layer での補正
これらはデフォルトでOFFなので必要に応じて有効にする。ただしFluentのマニュアルでもSSTの使用が推奨されている。
実装バージョンの違い
1988版と2006版で大きく違うんですか?
| 特性 | 1988版 | 2006版 |
|---|---|---|
| クロス拡散項 | なし | $\sigma_d/\omega (\nabla k \cdot \nabla \omega)$(条件付き) |
| 自由流感度 | 大きい | 改善 |
| $\beta$ | 定数 | $f_\beta$ で変動(渦伸張効果) |
| Realizability | なし | ストレスリミッター追加 |
2006版のクロス拡散項はSSTのクロス拡散項と形式は似ているが、ブレンディング関数を使わない点が異なる。
結局、標準k-ωを選ぶ合理的な理由は限られるということですね。
そうだ。学術的な比較研究、過去のバリデーションとの整合性確保、教育目的以外では、SSTを使うのが実務的に正しい選択だ。
「Wilcox 1988 vs 2006」——ソルバーのバージョン迷宮
同じ「標準k-ω」でも、ANSYS Fluent・STAR-CCM+・OpenFOAMでどのWilcox年代版を実装しているかが異なります。例えばOpenFOAMのkOmega辞書はWilcox 2006ベースですが、Fluent旧来バージョンは1988年式に近いものを使っていました。プロジェクト間でソルバーを変えると「同じ設定のはずなのに結果が違う」が起きやすく、チームで解析を引き継いだときにはソルバーのリリースノートを確認してモデル方程式の差異を把握することが欠かせません。
選定で最も重要な3つの問い
- 「何を解くか」:標準k-ωモデル(Wilcox)に必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
先端トピック
標準k-ωの研究的な発展はありますか?
Wilcox自身が2006年版以降も改良を続けている。
Wilcox 2006版の位置づけ
2006年版でどのくらい改善されたんですか?
Wilcoxは著書 "Turbulence Modeling for CFD" (2006, 3rd ed.) で大幅な改良を行った。主要な改善:
1. クロス拡散項: 自由流感度を大幅に低減
2. Stress Limiter: $\mu_t = \min\left(\frac{\rho k}{\omega}, \frac{\rho a_1 k}{\Omega F_2}\right)$ に類似したリミッター
3. 渦伸張補正: $\beta$ に渦度テンソルの不変量を含める
これらの改良によりSSTとの性能差は縮小したが、SSTの実績と普及度の前では巻き返しは難しい。
ω方程式の理論的意味
なぜ $\varepsilon$ じゃなくて $\omega$ を使うんですか?
歴史的には、Kolmogorov (1942) が最初に $\omega$(「乱れの周波数」)を提案した。$\omega = \varepsilon/(C_\mu k)$ は乱流の時間スケール $\tau = 1/\omega$ の逆数であり、壁面で有限値をとる($\varepsilon$ は壁面で特異)。
物理的解釈:
- $k$: 乱流エネルギーの「大きさ」
- $\omega$: 乱流エネルギーの「散逸速度」(乱流の回転周波数)
- $\varepsilon$: 乱流エネルギーの「散逸量」
$\omega$ は壁面での振る舞いが $\varepsilon$ より好ましいが、自由流では $\varepsilon$ の方が安定。SSTはこの両者の良いところ取りだ。
圧縮性への拡張
超音速流れでk-ωは使えますか?
Wilcoxは圧縮性補正を提案している。高マッハ数での乱流圧縮性効果(dilatation dissipation):
$M_t = \sqrt{2k}/a$ は乱流マッハ数、$a$ は音速。$M_t > M_{t0} \approx 0.25$ で圧縮性効果が発現する。超音速混合層の拡がり率抑制などに効果がある。
k-ωの歴史的・理論的な背景を知っておくとSSTの理解も深まりますね。
その通り。SSTの各項の意味を正しく理解するにはk-ωとk-εの両方の知識が必要だ。
k-ωの自由流感受性——悩ましい「無限遠の影響」
標準k-ωの最も知られた弱点は「自由流感受性」です。入口境界でのω(比消散率)の値をわずかに変えるだけで、離れた位置の境界層解への影響が出てしまう。これは物理的にはおかしい話で、「無限遠の静止した流体の乱流特性が壁面近傍に影響する」という非現実的な特性です。Wilcoxが1998年と2006年の改訂でこの問題を修正しようとしましたが、完全には解決していません。SSTモデルが生まれた動機の一つもこの問題を避けることで、k-ωの歴史的弱点がSSTという傑作を生んだとも言えます。
トラブルシューティング
トラブルシューティング
標準k-ωで特有の問題はありますか?
SSTと共通するものも多いが、標準k-ω特有の問題がある。
1. 自由流感度(1988版)
入口のω値を変えたら結果が大きく変わりました。
原因: 1988版のk-ωは自由流の $\omega$ 境界値に敏感。$\omega_{inlet}$ を10倍に変えると壁面Cf が20%以上変わることがある。
対策:
- 2006版に切り替える(クロス拡散項で改善)
- SSTに切り替える(根本的解決)
- どうしても1988版を使う場合、$\omega$ の感度解析を実施し結果の不確かさを評価
2. 遷移のない全乱流仮定
低Reynolds数の流れで層流領域が計算されません。
原因: k-ωは全乱流を仮定している。Low-Re修正を使っても自然遷移の予測は不十分。
対策:
- γ-Reθ遷移モデル(Transition SST)を使用
- 層流領域を手動で指定(乱流粘性をゼロに固定)
- 層流-乱流の領域を分けてメッシュを作成
3. 後流域での過剰拡散
円柱後流のカルマン渦が早く消えてしまいます。
原因: 定常RANSの限界。渦粘性が後流域で過大になり渦を拡散させる。k-ωもSSTも同じ問題を持つ。
対策:
4. ωの初期値設定
ωの初期値をどう設定すればいいかわかりません。
以下の手順で推定する。
1. 乱流強度 $I$ と長さスケール $l_t$ を仮定
2. $k = \frac{3}{2}(U I)^2$
3. $\omega = \frac{k^{0.5}}{C_\mu^{0.25} l_t}$ または $\omega = \frac{\rho k}{\mu \cdot (\mu_t/\mu)}$
粘性比 $\mu_t/\mu$ は外部流れで1-10、内部流れで10-100が目安。ωが小さすぎる($\mu_t$ が大きすぎる)と初期の発散、大きすぎる($\mu_t$ が小さすぎる)と乱流効果が弱くなる。
標準k-ωのトラブルは自由流感度に起因するものが多いんですね。
そう。SSTが広く使われる最大の理由がこの自由流感度の解消だ。
壁上でのω→∞問題——初期値設定の悩み
k-ωモデルの実装で初学者が困るのが「壁面でのωが理論上無限大になる」という問題です。実際の数値計算では無限大は扱えないため、壁から最初のセルでのωに対して解析解に基づく近似値を設定します。この値が大きすぎると数値的に不安定になり、小さすぎると境界層が正しく解けません。OpenFOAMのomegaWallFunctionが実は非常に繊細な実装で、バージョンによって振る舞いが変わった歴史があります。「壁面ωの初期化に丸一日悩んだ」という経験談は、k-ωユーザーの間でよく聞く話です。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——標準k-ωモデル(Wilcox)の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告