乱流モデルの曲率・回転補正

カテゴリ: 流体解析(CFD) | 統合版 2026-04-06
CAE visualization for curvature correction theory - technical simulation diagram
乱流モデルの曲率・回転補正

乱流モデルの曲率・回転補正の理論基礎

概要

🧑‍🎓

先生! 旋回流のシミュレーションが実験と合わないんですが、曲率・回転補正ってやつで直りますか?


🎓

いい着眼点だね。標準的な渦粘性モデル(k-epsilon、k-omega SST、SA)は等方的な渦粘性を仮定しているから、流線の曲率や系の回転による乱流増減を正しく捉えられないんだ。曲率・回転補正(Curvature Correction, CC)は、その欠点を修正するための追加項だよ。


🧑‍🎓

具体的にはどんな流れで問題になるんですか?


🎓

代表的にはこういう流れだね。

  • サイクロン分離器やスワールバーナ等の旋回流
  • タービン翼列間の二次流れ
  • U字管内の曲がり流れ
  • 回転機械(ファン、圧縮機)のケーシング内流れ

凹面側では遠心力不安定により乱流が増大し、凸面側では安定化して乱流が抑制される。標準モデルはこの非対称性を予測できない。


支配方程式

🧑‍🎓

補正って、モデルの方程式をどう変えるんですか?


🎓

Spalart-Shur回転・曲率補正(SA-RC、SST-RCで利用)では、生成項にかかる乗数 $f_{rotation}$ を導入する。


$$ f_{rotation} = (1 + c_{r1}) \frac{2 r^*}{1 + r^*} \left[1 - c_{r3} \tan^{-1}(c_{r2} \tilde{r})\right] - c_{r1} $$

ここで $r^*$ と $\tilde{r}$ はそれぞれ、ひずみ速度テンソル $S_{ij}$ と回転速度テンソル $\Omega_{ij}$ から構成される無次元パラメータだ。


$$ r^* = \frac{S}{\Omega}, \quad \tilde{r} = 2\Omega_{ik}S_{jk}\frac{D S_{ij}}{D t}\frac{1}{\Omega D^2} $$

定数は $c_{r1}=1.0$、$c_{r2}=12.0$、$c_{r3}=1.0$ が標準値。最終的に $f_{rotation}$ はクリッピングされる。


$$ f_{rot} = \max\left(\min(f_{rotation},\; 1.25),\; 0\right) $$

🧑‍🎓

生成項に掛け算するだけなんですか?


🎓

そう。SST-RCの場合、k方程式の生成項 $P_k$ を $\tilde{P}_k = P_k \cdot f_{rot}$ に置き換える。凸面壁では $f_{rot}<1$ となって乱流生成が抑制され、凹面壁では $f_{rot}>1$ で増大する。Spalart-Allmarasモデルの場合も同様にSA方程式の生成項を修正する。


🧑‍🎓

これで旋回流の予測が良くなるんですね。


🎓

改善はするが万能ではない。補正は局所量のみから計算するため、回転の効果が非局所的に蓄積するようなケース(例: 長い渦管)では限界がある。RSM(Reynolds Stress Model)のように各応力成分を個別に輸送する方がより物理的に正確だが、計算コストは大きい。


Coffee Break よもやま話

曲率補正乱流モデル——「曲がった流れはまっすぐより乱れにくい」理由

流線が曲がる流れ(曲線管・旋回流)では壁面曲率が乱流構造を強く変調する。凸面側(遠心力で安定化)では乱流は抑制され、凹面側(不安定化)では促進される。Taylor-Görtler渦(縦渦)が凹面側に発生するのもこの不安定性の表れだ。標準k-εやk-ω SSTはスカラー輸送方程式にこの曲率効果を陽に考慮しないため、旋回流・湾曲管・サイクロンの予測精度が低い。Speziale(1987)やRothe/Spalart(1997)が曲率補正を提案し、曲率リチャードソン数を乱流モデルに組み込む修正が現在の主流となっている。

乱流モデルの曲率・回転補正の数値計算手法

数値実装の詳細

🧑‍🎓

曲率補正をソルバーに実装するとき、数値的に気をつけることってありますか?


🎓

いくつかポイントがある。まず $f_{rot}$ の計算には $DS_{ij}/Dt$ というひずみ速度の実質微分が含まれるから、非定常項と移流項の評価が必要だ。定常計算でも擬似時間ステップの情報から近似できるが、精度に影響する。


$f_{rotation}$ の計算手順

🧑‍🎓

具体的なステップを教えてください。


🎓

各セルで以下を計算する。


1. 速度勾配テンソル $\partial u_i / \partial x_j$ からひずみ速度 $S_{ij}$ と回転速度 $\Omega_{ij}$ を算出

2. $S = \sqrt{2S_{ij}S_{ij}}$、$\Omega = \sqrt{2\Omega_{ij}\Omega_{ij}}$ を計算

3. ひずみ速度の実質微分 $DS_{ij}/Dt$ を前タイムステップとの差分で近似

4. 無次元パラメータ $r^*$ と $\tilde{r}$ を算出

5. $f_{rotation}$ を計算し、$[0, 1.25]$ にクリッピング


🧑‍🎓

クリッピングはなぜ必要なんですか?


🎓

$f_{rot}$ が負になると生成項が負(非物理的な乱流の消滅)になり、1.25を超えると過剰な乱流生成で数値不安定を招く。クリッピングは安全装置だ。


離散化スキームとの相性

🧑‍🎓

移流スキームは何を使えばいいですか?


🎓

曲率補正自体は乱流モデルの生成項の修正なので、運動量方程式や乱流方程式の離散化スキームとは独立だ。ただし、旋回流では数値散逸が旋回の減衰を引き起こすため、二次精度以上のスキーム(Bounded Central Difference、LUST等)を使うべきだ。一次風上差分は旋回を過剰に減衰させる。


パラメータ推奨設定備考
運動量の離散化Bounded Central or LUST旋回減衰を抑制
乱流量の離散化二次風上差分安定性と精度のバランス
時間離散化二次後退差分非定常計算時
$f_{rot}$ のクリッピング$[0, 1.25]$数値安定性

OpenFOAMでの実装例

🧑‍🎓

OpenFOAMではどう設定するんですか?


🎓

constant/turbulencePropertiescurvatureCorrection フラグを有効にする。


```

RAS

{

RASModel kOmegaSST;

turbulence on;

curvatureCorrection yes;

printCoeffs on;

}

```


OpenFOAMのkOmegaSSTモデルにはSpalart-Shur補正が組み込まれている。追加のソースファイルは不要だ。


🧑‍🎓

設定一つで有効になるなら手軽ですね。


🎓

ただし、結果が妥当か検証は必須だ。旋回数が実験データと一致するか、壁面摩擦係数の分布がどう変わるかを確認しよう。


Coffee Break よもやま話

曲率補正の数値実装——Spalart-Shur補正係数とβ因子

Spalart-Shur(1997)の曲率補正は、乱流生成項に「補正係数r*とr(系数)」を乗じることで曲率・回転の影響を組み込む。補正係数は流線曲率テンソルと渦度テンソルの比から計算され、凸面(安定)では生成率を下げ、凹面(不安定)では上げる。この補正はk-ω SSTモデルへの適用(SSTcc)として多くの商用CFDに実装されている。ただし補正係数の調整係数(Cr1, Cr2)が物理に基づく普遍定数でなく、ケース依存性があることが課題だ。機械学習(ML)を使った曲率補正係数の「データ駆動型チューニング」が2020年代の研究方向となっている。

乱流モデルの曲率・回転補正の実務適用

実践ガイド

🧑‍🎓

実際のプロジェクトで曲率補正を使うときのワークフローを教えてください。


🎓

まず曲率補正が必要かどうかを判断するところから始めよう。


補正が有効なケースの判定

🧑‍🎓

どういう場合に曲率補正を有効にすべきですか?


🎓

以下のチェックリストで判断できる。


  • Rossby数 $Ro = U/(\Omega L) < 1$:系の回転効果が顕著
  • 旋回数 $Sw = W_{\theta}/(W_{axial}) > 0.5$:旋回成分が卓越
  • 曲率半径 $R/D < 5$:流路の曲率が強い
  • 実験値との乖離でk-omega SSTや標準SAが旋回を過大/過小予測している

一つでも当てはまれば曲率補正を試す価値がある。


メッシュ要件

🧑‍🎓

メッシュで気をつけることは?


🎓

旋回流の場合、周方向のメッシュ解像度が重要だ。


領域推奨解像度理由
壁面境界層$y^+ \approx 1$(SST-RC)壁面せん断応力の正確な予測
旋回コア半径方向に20セル以上旋回速度分布の解像
周方向最低60分割/360度数値散逸による旋回減衰の抑制
アスペクト比< 10(旋回コア内)非等方メッシュによる誤差抑制
🧑‍🎓

周方向の解像度って普通のRANSよりかなり細かいですね。


🎓

そうだ。旋回流は接線方向の速度勾配が大きいので、粗いメッシュでは数値散逸で旋回が消えてしまう。補正を入れてもメッシュが粗ければ意味がない。


検証手順

🧑‍🎓

結果の妥当性はどう確認しますか?


🎓

以下の手順で検証する。

1. 補正なしで計算 → ベースライン結果を記録

2. 補正ありで計算 → 同条件で比較

3. 実験データとの比較: 接線速度分布、軸方向速度分布、圧力降下

4. 旋回数の下流方向変化: 補正により旋回の減衰が改善されているか

5. 壁面せん断応力: 凹面/凸面での非対称性が表現されているか


🧑‍🎓

補正で悪化するケースもあるんですか?


🎓

ある。例えばほぼ直線的な流れに曲率補正を適用すると、$r^*$ や $\tilde{r}$ がゼロ除算に近い値になり不安定化することがある。使うべきでない領域では無効にするのが良い。


Coffee Break よもやま話

「サイクロン分離機のCFD精度向上」——曲率補正の現場適用事例

化学プラントのサイクロン分離機は強い旋回流(接線速度が数十m/s)を使って粒子分離するが、標準k-εでは旋回減衰が速すぎ(旋回速度が実測より30〜50%低くなる)、分離効率予測が大きく外れる。曲率補正モデル(SSTcc)または非線形乱流モデル(RSM)を使うと旋回速度分布と圧力損失が実測に近づく。産業ユーザの選択肢はRSM(精度◎・計算コスト高)vs SSTcc(精度○・計算コスト低)で、サイクロン径が大きくなるほどRSMの優位性が増す傾向がある。設計最適化(直径・入口角度)には計算速度のSSTccが有利だ。

乱流モデルの曲率・回転補正のソフトウェア比較

商用ツールでの対応状況

🧑‍🎓

主要なCFDソフトでの曲率補正の対応状況を教えてください。


🎓

各ソフトで実装が異なるから整理しよう。


ソルバー対応モデル設定方法備考
Ansys FluentSA-RC, SST-RCViscous Model設定で「Curvature Correction」チェックSpalart-Shur型。デフォルト定数変更可能
Ansys CFXSST-CCTurbulence Model設定で「Curvature Correction」有効化CFX独自の実装あり
STAR-CCM+SA-RC, SST-RCPhysics → Turbulence → Optional ModelsSpalart-Shur型
OpenFOAMkOmegaSST-RC, SA-RCturbulencePropertiesでcurvatureCorrection yesソースコード改変も容易

Ansys Fluentでの設定

🧑‍🎓

Fluentでの具体的な手順は?


🎓

1. Models → Viscous → k-omega SST(またはSpalart-Allmaras)を選択

2. 「Curvature Correction」チェックボックスをON

3. 定数 $c_{r1}$、$c_{r2}$、$c_{r3}$ はデフォルトのまま(通常変更不要)

4. Production Limiterも併用推奨($P_k \leq 10 \cdot \beta^* \rho k \omega$)


FluentのJournalファイルでは:

```

/define/models/viscous/turbulence-expert/curvature-correction? yes

```


STAR-CCM+での設定

🧑‍🎓

STAR-CCM+ではどうですか?


🎓

Physics Continuum → Models → Turbulence → SST k-omega → Optional Models → Curvature Correction を有効にする。STAR-CCM+のレポート機能で $f_{rot}$ の場をスカラーとして出力でき、どの領域で補正が効いているか可視化できるのが便利だ。


各ソルバーの実装差異

🧑‍🎓

ソルバーによって結果が変わることってありますか?


🎓

実装の細部が異なるため同じ補正でも若干結果が変わる。


  • $DS_{ij}/Dt$ の近似方法: 陽的計算 vs. 前ステップとの差分
  • クリッピング範囲: $[0, 1.25]$ が標準だが一部ソルバーは $[-0.5, 1.5]$ など異なる
  • ベースモデルとの相互作用: SSTのリミッター定式化との組み合わせ方

ソルバー間で5-10%程度の差は出ることがある。ベンチマーク問題での検証を推奨する。


Coffee Break よもやま話

曲率補正CFDツール——Ansys Fluent vs STAR-CCM+ vs OpenFOAM

曲率補正乱流モデルの実装はAnsys Fluent(SSTcc:Rotation Curvature option)、STAR-CCM+(SSTcc built-in)、OpenFOAM(kOmegaSSTCC)が主要ツールだ。Fluentは2020年以降デフォルトでSSTcc選択肢を持ち、旋回流・後退翼の精度向上が確認されている。STAR-CCM+はRSMやElliptic Blending RSMを合わせた多モデル選択肢が豊富で、サイクロン・スワーラーなど強旋回流の産業案件に強い。OpenFOAMはkOmegaSSTCCの実装が完全オープンソースであり、研究者が補正係数を自由に変更して検証できる柔軟性が評価されている。選定はケースの旋回強度と計算コストで決まることが多い。

乱流モデルの曲率・回転補正の先端研究

先端トピック

🧑‍🎓

曲率補正の分野で最近の研究動向を教えてください。


🎓

いくつかの方向性がある。


Spalart-Shur補正の拡張

🧑‍🎓

標準の補正を超える手法はあるんですか?


🎓

まずYork et al. (2009)によるSST-RCの改良版がある。標準のSpalart-Shur補正は $f_{rot}$ を $k$ 方程式の生成項のみに適用するが、$\omega$ 方程式の生成項にも適用するバリエーションがある。


また、Smirnov & Menter (2009)は感度係数 $c_{r1}$ を流れ場に応じて動的に変化させる「Sensitized RANS」アプローチを提案している。


$$ c_{r1} = c_{r1,0} \cdot g(Ri_{rot}) $$

ここで $Ri_{rot}$ は回転リチャードソン数で、曲率の強さを表す。


回転系での補正

🧑‍🎓

回転座標系で計算する場合は何か特別な配慮が要りますか?


🎓

SRF(Single Reference Frame)やMRF(Multiple Reference Frame)で計算する場合、コリオリ力と遠心力が運動量方程式に追加されるが、乱流方程式にはデフォルトで回転効果が反映されない。曲率補正は絶対速度場から計算される $S_{ij}$ と $\Omega_{ij}$ を使うため、回転系でも適用可能だが、相対速度ベースのモデルとの整合性に注意が必要だ。


機械学習による補正

🧑‍🎓

最近流行りのAI/ML系の話はありますか?


🎓

Physics-Informed Neural Network (PINN) やデータ駆動型乱流モデリングで、曲率効果を含む補正を学習させる研究が進んでいる。


  • Field Inversion and Machine Learning (FIML): DNSデータから $f_{rot}$ のような補正場を逆推定し、ニューラルネットワークでモデル化
  • テンソル基底ニューラルネット (TBNN): Pope (1975) の一般的渦粘性仮説のテンソル基底を使い、曲率効果を含む異方性を表現

これらは従来の代数的補正よりも柔軟だが、学習データの質と汎化性能が課題だ。


ハイブリッドRANS/LESとの関係

🧑‍🎓

DESやDDESでも曲率補正は使えますか?


🎓

DDESのベースモデルがSA-RCやSST-RCの場合、RANS領域では曲率補正が活性化される。LES領域ではSGSモデルが働くため曲率補正は不要だ。DDESでは切替え関数 $f_d$ の挙動が曲率補正で変わりうるので、検証が必要だ。


Coffee Break よもやま話

高精度曲率補正——データ駆動型乱流モデルのフレームワーク

機械学習(ML)を乱流モデルに組み込む「データ駆動型乱流モデリング(Field Inversion Machine Learning, FIML)」は2020年代の乱流CFD研究の主流の一つだ。DNSやLESデータから乱流応力テンソルの「不確かさ(モデル誤差)」を機械学習で学習し、RANS計算を補正する。曲率補正はFIMLの典型的な応用問題で、旋回流・湾曲チャネルのDNSデータで訓練したニューラルネットがSpalart-Shur補正係数を動的に調整する。OpenFOAMのSANNモデルやFluentのUDFベースMLインターフェースを使った研究が活発で、2030年代の実用化が期待されている。

乱流モデルの曲率・回転補正のトラブル対応

トラブルシューティング

🧑‍🎓

曲率補正を入れたら計算が不安定になったんですが、何が原因ですか?


🎓

よくあるケースを整理しよう。


1. 収束性の悪化

🧑‍🎓

残差が振動して収束しません。


🎓

原因: $f_{rot}$ が反復ごとに大きく変動している可能性がある。特に初期の流れ場が未発達な段階では $r^*$ や $\tilde{r}$ の計算が不安定になりやすい。


対策:

  • 補正なしでまず収束させ、その後補正を有効にして再計算
  • Fluentでは Under-Relaxation Factor を乱流量について 0.5-0.7 に下げる
  • $f_{rot}$ の変化を緩和するために内部で時間平均を取る(一部ソルバーは自動で実施)
  • 擬似時間ステップを小さくする

2. 旋回流の過小予測が改善しない

🧑‍🎓

補正を入れたのに実験と合いません。


🎓

原因と対策:

  • メッシュ不足: 周方向・半径方向の解像度を2倍にして再計算。数値散逸による旋回減衰はモデル補正では直せない
  • 離散化スキーム: 一次風上差分は旋回を消す。Bounded Central Difference やQUICKに切り替え
  • 乱流強度の初期条件: 入口の乱流強度が高すぎると旋回コアが早期に拡散する。実験値に合わせる
  • 補正の限界: 強旋回流($Sw > 2$)ではRANS+補正では限界がある。RSMかDDES/LESを検討

3. 非物理的な乱流粘性

🧑‍🎓

渦粘性比($\mu_t/\mu$)が局所的に10万を超えるセルがあります。


🎓

原因: $f_{rot} > 1$ の領域で乱流生成が過剰に増強されている。


対策:

  • Production Limiter($P_k \leq C_{lim} \cdot \rho \varepsilon$ や $P_k \leq 10 \beta^* \rho k \omega$)を有効にする
  • $f_{rot}$ の上限を1.25から1.0に変更して試す
  • 該当セルのメッシュ品質を確認(高スキューネスが原因の場合あり)

4. 定常計算での振動

🧑‍🎓

定常解析なのにモニター値が周期的に振動します。


🎓

原因: 旋回流やカルマン渦列のような本質的に非定常な流れを定常解析で計算している。曲率補正により物理的な不安定性がより顕在化した。


対策:

  • 非定常解析(URANS)に切り替え
  • 時間平均量で比較
  • 定常解析のままにする場合は残差の振動幅が十分小さいことを確認し、平均値を使用

🧑‍🎓

問題の切り分けが大事なんですね。補正の問題なのかメッシュの問題なのか、まず補正なしで確認するのがポイントだ。


🎓

その通り。補正なしでベースラインを確立し、補正の効果を差分で評価する。二つの変数を同時に変えないのがデバッグの鉄則だ。


Coffee Break よもやま話

「曲率補正モデルで計算が発散した」——数値的不安定性の診断

曲率補正乱流モデル(SSTcc等)は標準SSTよりも数値的に不安定になることがある。補正係数r*が急変する領域(剥離・再付着点付近)で生成率が急増・急減し、k方程式が非物理的な解に飛ぶことがある。診断手順:①補正係数r*の空間分布を可視化して急変領域を特定、②補正係数の上限クリップ(多くの実装でr*∈[0, 1.25]に制限)を確認、③緩和係数を下げてより保守的な収束を促す。OpenFOAMではSSTccのソースコードを確認してリミッターの設定を調整することで安定性を改善できる。標準SSTで先に収束させてからSSTccに切り替えるアプローチも有効だ。

関連シミュレーター

この分野のインタラクティブシミュレーターで理論を体感しよう

シミュレーター一覧

関連する分野

熱解析V&V・品質保証構造解析
この記事の評価
ご回答ありがとうございます!
参考に
なった
もっと
詳しく
誤りを
報告
参考になった
0
もっと詳しく
0
誤りを報告
0
Written by NovaSolver Contributors
Anonymous Engineers & AI — サイトマップ
プロフィールを見る