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

カテゴリ: 流体解析(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)が曲率補正を提案し、曲率リチャードソン数を乱流モデルに組み込む修正が現在の主流となっている。

各項の物理的意味
  • 時間項 $\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$。時間刻みの安定性に直結

数値解法と実装

数値実装の詳細

🧑‍🎓

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


🎓

いくつかポイントがある。まず $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年代の研究方向となっている。

風上差分(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次だが、流れの方向を正しく捕捉するため安定性が高い。

実践ガイド

実践ガイド

🧑‍🎓

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


🎓

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


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

🧑‍🎓

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


🎓

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


  • 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の解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?

初心者が陥りやすい落とし穴

「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。

境界条件の考え方

入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。

ソフトウェア比較

商用ツールでの対応状況

🧑‍🎓

主要な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の実装が完全オープンソースであり、研究者が補正係数を自由に変更して検証できる柔軟性が評価されている。選定はケースの旋回強度と計算コストで決まることが多い。

選定で最も重要な3つの問い

  • 「何を解くか」:乱流モデルの曲率・回転補正に必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
  • 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
  • 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。

先端技術

先端トピック

🧑‍🎓

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


🎓

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


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に切り替えるアプローチも有効だ。

「解析が合わない」と思ったら

  1. まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
  2. 最小再現ケースを作る——乱流モデルの曲率・回転補正の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
  3. 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
  4. 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連シミュレーター

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

シミュレーター一覧

関連する分野

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