Smagorinskyモデル -- 理論と支配方程式
理論と物理
Smagorinskyモデルの概要
先生、Smagorinskyモデルって一番基本的なSGSモデルなんですよね?
そうだよ。1963年にJoseph Smagorinskyが大気循環モデルのために提案したもので、LESにおけるSGSモデルの元祖と言える存在だ。考え方はシンプルで、SGS渦粘性を局所の歪み速度の大きさとフィルタ幅から算出するんだ。
基本式の導出
具体的な数式はどうなりますか?
Smagorinskyモデルでは、SGS渦粘性 $\nu_{sgs}$ を以下のように定義する。
ここで $C_s$ はSmagorinsky定数、$\Delta$ はフィルタ幅、$|\bar{S}|$ はフィルタ済み歪み速度テンソルの大きさだ。
次元解析的にも辻褄が合いますね。$\nu_{sgs}$ は $[長さ^2/時間]$ で、$(C_s \Delta)^2$ は $[長さ^2]$、$|\bar{S}|$ は $[1/時間]$ だから。
いいところに気がついた。実はこのモデルは混合長理論のLES版とも解釈できる。RANSのPrandtl混合長理論で $\nu_t = l_m^2 |S|$ としたのと同じ構造で、混合長 $l_m$ をフィルタ幅 $C_s \Delta$ に置き換えたものなんだ。
Smagorinsky定数 $C_s$ の値
$C_s$ の値はどうやって決めるんですか?
Lillyの理論解析(1967年)によると、等方性乱流を仮定してKolmogorovのエネルギースペクトル $E(k) = C_K \varepsilon^{2/3} k^{-5/3}$ と整合させると、
となる($C_K \approx 1.6$)。ただし実用上は $C_s = 0.1$ 〜 $0.2$ の範囲で使われることが多い。
流れによって最適な値が変わるってことですか?
そうなんだ。等方性乱流では $C_s \approx 0.17$ が適切だけど、せん断流れでは $C_s \approx 0.1$ 程度にしないと過大な散逸が生じる。壁面近傍ではさらに小さい値が必要で、Van Driest減衰関数を使って壁面で $C_s \to 0$ とする処理が一般的だ。
ここで $A^+ \approx 25$ だ。この「$C_s$ を流れに応じて調整しないといけない」という欠点が、動的Smagorinskyモデルの開発動機になったんだ。
Smagorinskyモデルの長所と短所
長所と短所を整理してもらえますか?
| 長所 | 短所 | ||
|---|---|---|---|
| 実装が極めて簡単 | $C_s$ が問題依存のパラメータ | ||
| 計算コストが低い | 壁面近傍で過大な散逸(Van Driest減衰が必要) | ||
| 数値的に安定(常に $\nu_{sgs} \geq 0$) | 層流/遷移領域でも散逸を発生($ | \bar{S} | \neq 0$ なら $\nu_{sgs} > 0$) |
| 歴史が長く検証事例が豊富 | 逆エネルギーカスケード(backscatter)を表現不可 |
Smagorinskyモデルが生まれた理由——気象予報の計算コスト問題
1963年にJoseph Smagorinskyが発表した論文は、もともと数値天気予報のための研究でした。当時、大気大循環モデルのグリッドより細かいスケールの乱流を全部解くのは計算機的に不可能。そこで「小スケールの効果は局所的な渦粘性で代表させてしまえ」という発想が生まれた。Smagorinsky定数 $C_s \approx 0.17$ は大気境界層のデータからキャリブレーションされた値であり、エンジンやビルの風環境に流用するのは本来ちょっと乱暴な話なのです。
各項の物理的意味
- 時間項 $\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$。時間刻みの安定性に直結 |
数値解法と実装
実装の詳細
Smagorinskyモデルをコードに実装するとき、具体的にはどういう手順になりますか?
各タイムステップ、各セルで以下を計算する。
1. フィルタ済み速度勾配 $\partial \bar{u}_i / \partial x_j$ を計算
2. 歪み速度テンソル $\bar{S}_{ij}$ を計算
3. $|\bar{S}| = \sqrt{2\bar{S}_{ij}\bar{S}_{ij}}$ を計算
4. フィルタ幅 $\Delta$ を計算(セル体積の立方根など)
5. SGS渦粘性 $\nu_{sgs} = (C_s \Delta)^2 |\bar{S}|$ を算出
6. 実効粘性 $\nu_{eff} = \nu + \nu_{sgs}$ として運動量方程式の拡散項に反映
SGSモデルの追加的な輸送方程式は一切不要なので、実装は非常にシンプルだ。
フィルタ幅の計算方法
フィルタ幅 $\Delta$ の計算方法にはいくつか種類があるんですよね?
そうだ。代表的なフィルタ幅の定義は以下の通り。
| 定義 | 式 | 特徴 |
|---|---|---|
| 体積ベース | $\Delta = V_{cell}^{1/3}$ | 最も一般的、非構造格子向き |
| 最大辺長 | $\Delta = \max(\Delta x, \Delta y, \Delta z)$ | 保守的、アスペクト比大で過大 |
| 幾何平均 | $\Delta = (\Delta x \cdot \Delta y \cdot \Delta z)^{1/3}$ | 構造格子で使用 |
アスペクト比の大きいセル(壁面近傍のプリズム層など)では、フィルタ幅の定義が結果に大きく影響するんだ。
OpenFOAMでの実装
OpenFOAMでSmagorinskyモデルを使うにはどう設定しますか?
constant/turbulencePropertiesに以下のように記述する。
```
simulationType LES;
{
LESModel Smagorinsky;
turbulence on;
printCoeffs on;
delta cubeRootVol;
SmagorinskyCoeffs
{
Ck 0.094;
Ce 1.048;
}
}
```
OpenFOAMでは $C_s$ ではなく $C_k$ と $C_e$ で定義されていて、$C_s = C_k^{3/4}/\pi$ の関係があるよ。
Ansys Fluentでの設定
Fluentではどうですか?
Fluent ではViscous ModelダイアログでLESを選択し、SGSモデルとしてSmagorinsky-Lilly Modelを選ぶ。Smagorinsky定数はデフォルトで $C_s = 0.1$ が設定されていて、必要に応じて変更できる。壁面近傍のVan Driest減衰は自動的に適用されるから、特別な設定は不要だ。
数値安定性の考慮
Smagorinskyモデルで数値的に注意することはありますか?
Smagorinskyモデルは $\nu_{sgs} \geq 0$ が常に保証されるので、数値的には非常に安定だ。これは大きなメリットで、特に初心者がLESを始める際には安心して使える。ただし、逆に言うとエネルギーの逆カスケード(小スケールから大スケールへのエネルギー移動)を一切表現できないという物理的な制約でもある。
安定性と物理的正確さのトレードオフがあるんですね。
その通り。実務でSmagorinskyモデルを使うときは、$C_s$ の値を慎重に選び、壁面減衰を適切に設定すれば、多くの工業的な問題で十分な精度が得られるよ。
「わずか5行」のSGSモデル実装
Smagorinskyモデルの実装は驚くほどシンプルです。歪み速度テンソル $\bar{S}_{ij}$ を計算し、その第二不変量 $|\bar{S}|$ を求め、$(C_s \Delta)^2 |\bar{S}|$ を渦粘性として拡散項に加えるだけ。OpenFOAMのソースコードを見ると確かに数十行で完結しています。それでも「単純すぎる」批判を受けながら60年以上現役であり続けるのは、計算コストの低さと実装の容易さという圧倒的な実用性があるから。シンプルさは強さです。
風上差分(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次だが、流れの方向を正しく捕捉するため安定性が高い。
実践ガイド
適用場面の判断
Smagorinskyモデルはどんな場面で使うのが適切ですか?
以下のような場面で有効だ。
- 完全乱流の自由せん断流れ: 混合層、噴流、後流など。$C_s \approx 0.1$ 〜 $0.17$
- 粗い格子でのテスト計算: まず Smagorinskyで動作確認してから高度なモデルに移行
- 数値安定性が最優先の場合: 発散しやすい複雑形状などで安定に回す必要がある場合
逆に以下の場面では他のモデルを検討すべき。
- 遷移流れ: 層流からの遷移を扱う場合、Smagorinskyは過大な散逸で遷移を遅延させる
- 壁面近傍が重要な流れ: Van Driest減衰なしでは壁面で過大な粘性
- 回転・曲率の強い流れ: 純粋せん断でも散逸を発生するため不適切
$C_s$ の感度分析
$C_s$ の値を変えると、結果にどの程度影響しますか?
$C_s$ を0.065から0.20まで変化させたチャネル流LESの研究では、以下のような傾向が報告されている。
| $C_s$ | 平均速度プロファイル | 乱流強度 | 壁面摩擦 |
|---|---|---|---|
| 0.065 | DNS/実験に近い | やや過大 | やや過大 |
| 0.10 | 良好 | 良好 | 良好 |
| 0.15 | 対数層が過大予測 | 過小 | 過小 |
| 0.20 | 大きくずれる | 大幅に過小 | 大幅に過小 |
$C_s$ が大きいほどSGS粘性が増加し、乱流変動が抑制されて層流的な解に近づくんだ。
ベンチマーク問題での検証
Smagorinskyモデルの検証に使えるベンチマーク問題はありますか?
古典的なベンチマーク問題をいくつか紹介しよう。
- チャネル流れ($Re_\tau = 180, 395, 590$): Kim, Moin & MoserのDNSデータと比較
- 等方性乱流の減衰: CBCデータセットとの比較
- 後方ステップ流れ: 再付着点位置で検証
- 円柱周り流れ($Re = 3900$): 抗力係数、Strouhal数、後流プロファイルで比較
これらの問題で系統的に検証することで、使用するコードとメッシュの妥当性を確認できるよ。
まずはチャネル流で自分のコードの設定を検証してから、本番計算に進むのが良さそうですね。
その通り。特にLES初学者は、まずチャネル流 $Re_\tau = 180$ のような十分にデータのある問題で練習することを強く勧める。格子解像度の影響、$C_s$ の感度、統計サンプリングの手順など、基本的なスキルを身につけてから実問題に取り組むべきだよ。
$C_s = 0.1$ か $0.17$ か——定数論争のリアル
Smagorinskyモデルで最初にぶつかる壁が「$C_s$ の値をいくつにするか」問題です。教科書には「大気境界層では0.17、チャンネル流れには0.1が良い」と書いてあるが、では自分の問題は? 実務では燃焼室に0.1、建物周りの風環境に0.12などが使われますが、根拠は経験則にすぎません。「定数をチューニングしてたら精度が上がった」という話は、実はモデルを検証しているのではなく定数をフィッティングしているだけ——というのが研究者からの指摘です。
解析フローのたとえ
CFDの解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?
初心者が陥りやすい落とし穴
「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。
境界条件の考え方
入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。
ソフトウェア比較
各ソルバーでのSmagorinskyモデルの実装差異
Smagorinskyモデルはどのソルバーでも同じように動くんですか?
基本式は同じだけど、実装の詳細に違いがあるんだ。
| 項目 | Ansys Fluent | STAR-CCM+ | OpenFOAM |
|---|---|---|---|
| デフォルト$C_s$ | 0.1 | 0.1 | 0.094 ($C_k$ベース) |
| Van Driest減衰 | 自動適用 | 自動適用 | 手動設定が必要な場合あり |
| フィルタ幅定義 | セル体積の立方根 | セル体積の立方根 | cubeRootVol等を選択 |
| 壁面処理 | Wall-Adapting対応 | Wall-Adapting対応 | nutkWallFunctionなど |
$C_s$ のデフォルト値がソルバーによって微妙に違うんですね。
OpenFOAMでは歴史的に $C_k$ と $C_e$ という係数体系を使っている。$C_k = 0.094$, $C_e = 1.048$ がデフォルトで、これはSmagorinsky定数に換算すると $C_s \approx 0.167$ に相当する。Fluent やSTAR-CCM+の $C_s = 0.1$ とは異なるので、ソルバー間で結果を比較する際は注意が必要だよ。
ソルバー選定のポイント
SmagorinskyモデルでLESをやる場合のソルバー選定はどう考えればいいですか?
Smagorinskyモデル自体はどのソルバーにも実装されているので、ソルバー選定はモデル以外の要素で判断する。
- Fluent: GUIで直感的に設定可能。NIT Aによる高速化が魅力
- STAR-CCM+: ポリヘドラルメッシュとの相性が良い。自動メッシュ機能が充実
- OpenFOAM: $C_s$ や $\Delta$ の定義を自由にカスタマイズ可能。大規模並列計算のコストメリット
結局、Smagorinskyモデルは「LESの入門」として最適なモデルという位置づけですか?
そうだね。基本を学ぶにも、まず動かしてみるにも最適だ。ただし、その限界を理解した上で使うことが大切で、より高精度が必要な場面ではDynamic SmagorinskyやWALEモデルへのステップアップを検討すべきだよ。
なぜ商用ソルバーはSmagorinskyをデフォルトにしないのか
ANSYSやSimcenterなど主要な商用ソルバーのLESデフォルト設定を見ると、古典Smagorinskyではなく動的Smagorinskyやワールモデル系が選ばれていることが多いです。理由はシンプルで「デフォルト設定のまま回して変な結果が出たとき、ベンダーがサポートしにくいから」。定数チューニングが必要な古典Smagorinskyは責任の所在が曖昧になる。商用ツールの設計には、純粋な精度だけでなくサポートのしやすさという視点も入っているのです。
選定で最も重要な3つの問い
- 「何を解くか」:Smagorinskyモデルに必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
Smagorinskyモデルの改良の歴史
Smagorinskyモデルの欠点を克服するために、どんな改良が行われてきたんですか?
Smagorinskyモデルの歴史は、そのまま SGSモデリングの発展史でもある。主要な発展を時系列で見てみよう。
| 年 | 発展 | 研究者 |
|---|---|---|
| 1963 | オリジナルSmagorinskyモデル | Smagorinsky |
| 1967 | Lillyによる$C_s$の理論的導出 | Lilly |
| 1975 | Van Driest壁面減衰関数の導入 | Moin & Kim |
| 1991 | 動的Smagorinskyモデル(Germano手続き) | Germano et al. |
| 1992 | Lillyによる動的モデルの改良 | Lilly |
| 1999 | Lagrangian動的モデル | Meneveau et al. |
| 2000 | WALEモデル | Nicoud & Ducros |
構造モデルとの比較
渦粘性型以外のSGSモデルもあるんですか?
あるよ。構造モデル(structural model)と呼ばれるカテゴリで、SGS応力テンソルの構造そのものをモデル化する。代表的なのはBardina のスケール類似モデル(scale-similarity model)で、
テストフィルタ $\hat{\cdot}$ を使って近似する。このモデルはSGS応力の構造を正確に捉えられるが、十分な散逸を提供しないため単独では不安定になる。そこでSmagorinskyモデルと混合した混合モデル(mixed model)が実用的に使われることが多いんだ。
最新の研究動向
Smagorinskyモデル関連で最近の研究動向はどうなっていますか?
2020年代の研究では、機械学習を使ってSmagorinskyモデルの係数を最適化する試みが注目されている。DNSデータから最適な局所的 $C_s(\mathbf{x}, t)$ を学習させ、従来の動的モデルよりも高い精度を実現するアプローチだ。また、$C_s$ を定数ではなく確率変数として扱うstochastic SGSモデルも研究されていて、backscatterの統計的表現を可能にするものだ。
60年以上前のモデルが今も研究の基盤になっているなんて、Smagorinskyモデルの影響力はすごいですね。
そうだね。シンプルさと物理的直観の明確さが、このモデルの最大の強みだ。新しいモデルの性能を評価する際の基準としても、常にSmagorinskyモデルとの比較が行われるんだよ。
「過剰散逸」問題——Smagorinskyモデルの根本的な欠点
Smagorinskyモデルの最大の弱点は、エネルギーカスケードを常に「正方向(大→小スケール)」にしか流せないことです。現実の乱流にはバックスキャッタ(小スケールから大スケールへのエネルギー逆流)が存在しますが、古典Smagorinskyではこれをモデル化できません。その結果、特に遷移域や剪断層で過剰な散逸が生じ、乱流の発達が遅れる現象が報告されています。この問題を解決しようとして生まれたのが動的モデルやADM(近似逆フィルタ)なのです。
トラブルシューティング
Smagorinskyモデル特有の問題と対策
Smagorinskyモデルを使ったLESで遭遇しやすい問題を教えてください。
Smagorinskyモデル特有の問題をいくつか取り上げよう。
1. 乱流強度の過小予測
速度変動の RMS値が実験やDNSよりずっと小さいんですが。
$C_s$ が大きすぎる可能性が高い。$C_s = 0.2$ などの値を使っている場合、$C_s = 0.1$ に下げてみよう。また、メッシュが粗い場合も同様の症状が出る。SGS粘性と分子粘性の比 $\nu_{sgs}/\nu$ をモニタして、その値が $O(100)$ を超えるようならメッシュが粗すぎる可能性がある。
2. 壁面近傍で層流的な解になる
壁面近傍の速度プロファイルが層流のパラボラ分布に近いんですが。
Van Driest減衰が正しく機能していない可能性がある。チェックポイントは以下の通り。
- 壁面からの距離 $y$ が正しく計算されているか
- $y^+$ の値が適切な範囲にあるか
- 減衰関数の定数 $A^+ = 25$ が適用されているか
FluentやSTAR-CCM+では自動適用されるが、OpenFOAMではdeltaコーディネートの設定に注意が必要だ。
3. 遷移が正しく捕捉できない
層流から乱流への遷移が実験より大幅に遅れるんですが。
これはSmagorinskyモデルの本質的な限界だ。層流領域でも $|\bar{S}| \neq 0$ であれば $\nu_{sgs} > 0$ となるため、乱流変動が人工的に抑制される。対策としては以下がある。
- 動的Smagorinskyモデルに切り替え: 層流域では$C_s \to 0$ が自動的に実現される
- WALEモデルに切り替え: 壁面近傍で$\nu_{sgs} \propto y^3$ の正しい漸近挙動を示す
- $C_s$ を小さくする: 暫定対策としては $C_s = 0.065$ 程度にする
4. $C_s$ の設定指針
結局、$C_s$ はどうやって決めればいいんですか? 万能な値はありますか?
万能な値は存在しない。だからこそ動的モデルが開発されたんだ。実務的なガイドラインとしては以下を参考にしてほしい。
| 流れのタイプ | 推奨 $C_s$ |
|---|---|
| 等方性乱流 | 0.17 |
| チャネル流・管内流 | 0.10 |
| 混合層・噴流 | 0.10 - 0.13 |
| 円柱後流 | 0.10 |
| 初期テスト | 0.10(まずここから) |
まずは$C_s = 0.1$で試して、結果を見ながら調整していくのが現実的ですね。
そういうことだ。もし$C_s$の感度が大きいようなら、動的モデルへの切り替えを真剣に検討すべきサインだよ。
Smagorinskyで壁面付近が「熱くなりすぎる」問題
Smagorinskyモデルを壁面近傍に適用すると、壁近くでも渦粘性が消えずに残る過剰散逸が起きます。物理的には壁のごく近くでは乱流が抑制されるはずなのに、モデルは余計なエネルギー散逸を加え続ける。これが壁面せん断応力や熱伝達率の過大評価につながる。対策はvan Driest減衰関数を加えることですが、これもまた一つの経験的なパッチ。「モデルに貼り紙をしてどんどん重くなる」という構造は、Smagorinskyモデルの宿命的な課題です。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——Smagorinskyモデルの問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告