Smagorinskyモデル -- 理論と支配方程式

カテゴリ: 流体解析(CFD) | 統合版 2026-04-06
CAE visualization for smagorinsky model theory - technical simulation diagram
Smagorinskyモデル -- 理論と支配方程式

Smagorinskyモデル -- 理論と支配方程式の理論基礎

Smagorinskyモデルの概要

🧑‍🎓

先生、Smagorinskyモデルって一番基本的なSGSモデルなんですよね?


🎓

そうだよ。1963年にJoseph Smagorinskyが大気循環モデルのために提案したもので、LESにおけるSGSモデルの元祖と言える存在だ。考え方はシンプルで、SGS渦粘性を局所の歪み速度の大きさとフィルタ幅から算出するんだ。


基本式の導出

🧑‍🎓

具体的な数式はどうなりますか?


🎓

Smagorinskyモデルでは、SGS渦粘性 $\nu_{sgs}$ を以下のように定義する。


$$ \nu_{sgs} = (C_s \Delta)^2 |\bar{S}| $$

ここで $C_s$ はSmagorinsky定数、$\Delta$ はフィルタ幅、$|\bar{S}|$ はフィルタ済み歪み速度テンソルの大きさだ。


$$ |\bar{S}| = \sqrt{2\bar{S}_{ij}\bar{S}_{ij}} $$

$$ \bar{S}_{ij} = \frac{1}{2}\left(\frac{\partial \bar{u}_i}{\partial x_j} + \frac{\partial \bar{u}_j}{\partial x_i}\right) $$

🧑‍🎓

次元解析的にも辻褄が合いますね。$\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_s = \frac{1}{\pi}\left(\frac{2}{3C_K}\right)^{3/4} \approx 0.17 $$

となる($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$ とする処理が一般的だ。


$$ C_s \to C_s \left(1 - e^{-y^+/A^+}\right) $$

ここで $A^+ \approx 25$ だ。この「$C_s$ を流れに応じて調整しないといけない」という欠点が、動的Smagorinskyモデルの開発動機になったんだ。


Smagorinskyモデルの長所と短所

🧑‍🎓

長所と短所を整理してもらえますか?


🎓
長所短所
実装が極めて簡単$C_s$ が問題依存のパラメータ
計算コストが低い壁面近傍で過大な散逸(Van Driest減衰が必要)
数値的に安定(常に $\nu_{sgs} \geq 0$)層流/遷移領域でも散逸を発生($\bar{S}\neq 0$ なら $\nu_{sgs} > 0$)
歴史が長く検証事例が豊富逆エネルギーカスケード(backscatter)を表現不可
Coffee Break よもやま話

Smagorinskyモデルが生まれた理由——気象予報の計算コスト問題

1963年にJoseph Smagorinskyが発表した論文は、もともと数値天気予報のための研究でした。当時、大気大循環モデルのグリッドより細かいスケールの乱流を全部解くのは計算機的に不可能。そこで「小スケールの効果は局所的な渦粘性で代表させてしまえ」という発想が生まれた。Smagorinsky定数 $C_s \approx 0.17$ は大気境界層のデータからキャリブレーションされた値であり、エンジンやビルの風環境に流用するのは本来ちょっと乱暴な話なのです。

Smagorinskyモデル -- 理論と支配方程式の数値計算手法

実装の詳細

🧑‍🎓

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;

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$ の値を慎重に選び、壁面減衰を適切に設定すれば、多くの工業的な問題で十分な精度が得られるよ。


Coffee Break よもやま話

「わずか5行」のSGSモデル実装

Smagorinskyモデルの実装は驚くほどシンプルです。歪み速度テンソル $\bar{S}_{ij}$ を計算し、その第二不変量 $|\bar{S}|$ を求め、$(C_s \Delta)^2 |\bar{S}|$ を渦粘性として拡散項に加えるだけ。OpenFOAMのソースコードを見ると確かに数十行で完結しています。それでも「単純すぎる」批判を受けながら60年以上現役であり続けるのは、計算コストの低さと実装の容易さという圧倒的な実用性があるから。シンプルさは強さです。

Smagorinskyモデル -- 理論と支配方程式の実務適用

適用場面の判断

🧑‍🎓

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.065DNS/実験に近いやや過大やや過大
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$ の感度、統計サンプリングの手順など、基本的なスキルを身につけてから実問題に取り組むべきだよ。


Coffee Break よもやま話

$C_s = 0.1$ か $0.17$ か——定数論争のリアル

Smagorinskyモデルで最初にぶつかる壁が「$C_s$ の値をいくつにするか」問題です。教科書には「大気境界層では0.17、チャンネル流れには0.1が良い」と書いてあるが、では自分の問題は? 実務では燃焼室に0.1、建物周りの風環境に0.12などが使われますが、根拠は経験則にすぎません。「定数をチューニングしてたら精度が上がった」という話は、実はモデルを検証しているのではなく定数をフィッティングしているだけ——というのが研究者からの指摘です。

Smagorinskyモデル -- 理論と支配方程式のソフトウェア比較

各ソルバーでのSmagorinskyモデルの実装差異

🧑‍🎓

Smagorinskyモデルはどのソルバーでも同じように動くんですか?


🎓

基本式は同じだけど、実装の詳細に違いがあるんだ。


項目Ansys FluentSTAR-CCM+OpenFOAM
デフォルト$C_s$0.10.10.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モデルへのステップアップを検討すべきだよ。


Coffee Break よもやま話

なぜ商用ソルバーはSmagorinskyをデフォルトにしないのか

ANSYSやSimcenterなど主要な商用ソルバーのLESデフォルト設定を見ると、古典Smagorinskyではなく動的Smagorinskyやワールモデル系が選ばれていることが多いです。理由はシンプルで「デフォルト設定のまま回して変な結果が出たとき、ベンダーがサポートしにくいから」。定数チューニングが必要な古典Smagorinskyは責任の所在が曖昧になる。商用ツールの設計には、純粋な精度だけでなくサポートのしやすさという視点も入っているのです。

Smagorinskyモデル -- 理論と支配方程式の先端研究

Smagorinskyモデルの改良の歴史

🧑‍🎓

Smagorinskyモデルの欠点を克服するために、どんな改良が行われてきたんですか?


🎓

Smagorinskyモデルの歴史は、そのまま SGSモデリングの発展史でもある。主要な発展を時系列で見てみよう。


発展研究者
1963オリジナルSmagorinskyモデルSmagorinsky
1967Lillyによる$C_s$の理論的導出Lilly
1975Van Driest壁面減衰関数の導入Moin & Kim
1991動的Smagorinskyモデル(Germano手続き)Germano et al.
1992Lillyによる動的モデルの改良Lilly
1999Lagrangian動的モデルMeneveau et al.
2000WALEモデルNicoud & Ducros

構造モデルとの比較

🧑‍🎓

渦粘性型以外のSGSモデルもあるんですか?


🎓

あるよ。構造モデル(structural model)と呼ばれるカテゴリで、SGS応力テンソルの構造そのものをモデル化する。代表的なのはBardina のスケール類似モデル(scale-similarity model)で、


$$ \tau_{ij}^{sgs} \approx C_R (\widehat{\bar{u}_i \bar{u}_j} - \hat{\bar{u}}_i \hat{\bar{u}}_j) $$

テストフィルタ $\hat{\cdot}$ を使って近似する。このモデルはSGS応力の構造を正確に捉えられるが、十分な散逸を提供しないため単独では不安定になる。そこでSmagorinskyモデルと混合した混合モデル(mixed model)が実用的に使われることが多いんだ。


最新の研究動向

🧑‍🎓

Smagorinskyモデル関連で最近の研究動向はどうなっていますか?


🎓

2020年代の研究では、機械学習を使ってSmagorinskyモデルの係数を最適化する試みが注目されている。DNSデータから最適な局所的 $C_s(\mathbf{x}, t)$ を学習させ、従来の動的モデルよりも高い精度を実現するアプローチだ。また、$C_s$ を定数ではなく確率変数として扱うstochastic SGSモデルも研究されていて、backscatterの統計的表現を可能にするものだ。


🧑‍🎓

60年以上前のモデルが今も研究の基盤になっているなんて、Smagorinskyモデルの影響力はすごいですね。


🎓

そうだね。シンプルさと物理的直観の明確さが、このモデルの最大の強みだ。新しいモデルの性能を評価する際の基準としても、常にSmagorinskyモデルとの比較が行われるんだよ。


Coffee Break よもやま話

「過剰散逸」問題——Smagorinskyモデルの根本的な欠点

Smagorinskyモデルの最大の弱点は、エネルギーカスケードを常に「正方向(大→小スケール)」にしか流せないことです。現実の乱流にはバックスキャッタ(小スケールから大スケールへのエネルギー逆流)が存在しますが、古典Smagorinskyではこれをモデル化できません。その結果、特に遷移域や剪断層で過剰な散逸が生じ、乱流の発達が遅れる現象が報告されています。この問題を解決しようとして生まれたのが動的モデルやADM(近似逆フィルタ)なのです。

Smagorinskyモデル -- 理論と支配方程式のトラブル対応

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$の感度が大きいようなら、動的モデルへの切り替えを真剣に検討すべきサインだよ。


Coffee Break よもやま話

Smagorinskyで壁面付近が「熱くなりすぎる」問題

Smagorinskyモデルを壁面近傍に適用すると、壁近くでも渦粘性が消えずに残る過剰散逸が起きます。物理的には壁のごく近くでは乱流が抑制されるはずなのに、モデルは余計なエネルギー散逸を加え続ける。これが壁面せん断応力や熱伝達率の過大評価につながる。対策はvan Driest減衰関数を加えることですが、これもまた一つの経験的なパッチ。「モデルに貼り紙をしてどんどん重くなる」という構造は、Smagorinskyモデルの宿命的な課題です。

関連シミュレーター

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

シミュレーター一覧

関連する分野

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