浮力駆動流れのCFDシミュレーション
理論と物理
浮力駆動流れとは
先生、浮力駆動流れってお風呂のお湯が上に行くやつですか?
そう、まさにそれだ。温度差によって流体の密度が変わり、重力場の中で軽い(高温の)流体が上昇し、重い(低温の)流体が下降する。これが浮力駆動流れ、つまり自然対流の本質だ。
お風呂のお湯だけじゃなく、もっと大きなスケールでも起きるんですか?
スケールは本当に幅広いよ。工学的に重要な応用例を挙げると:
- 建築の自然換気 — 室内の温度差で気流が生まれ、窓や換気口から排熱する。パッシブハウスの換気塔設計の基盤
- 電子筐体の自然空冷 — ファンなしでICチップの発熱を放散する。IoT機器やLED照明の設計で必須
- 原子炉の緊急冷却 — 電源喪失時に自然循環だけで炉心冷却を維持する受動安全系(ECCS)
- データセンターの熱管理 — サーバーラック間の熱成層と空調気流の相互作用
- 地球物理 — マントル対流、大気の対流セル(ハドレー循環)、海洋の熱塩循環
えっ、原子炉まで! ポンプが止まっても冷却できるって、浮力の力だけでってことですか?
その通り。福島第一事故以降、受動安全系の設計検証がより厳格になった。炉心で加熱された冷却水が上昇し、蒸気発生器で冷却されて下降する自然循環ループを形成する。この流れをCFDで正確に予測することが安全評価の要だ。
Boussinesq近似
浮力駆動流れをCFDで解くとき、密度が温度で変わるのを全部正確に計算するんですか? それだと大変そう...
いい質問だ。そこで登場するのがBoussinesq近似(ブシネスク近似)。1903年にJoseph Boussinesqが提唱した、自然対流CFDの最も標準的なアプローチだよ。
考え方はシンプルで、密度の変化は浮力項(体積力項)だけで考慮し、それ以外の項(質量保存式の連続の式、運動量式の慣性項)では密度を一定 $\rho_0$ と見なす。
ここで $\beta$ は体膨張係数 [1/K]、$T_0$ は基準温度、$\rho_0$ は基準温度における密度である。
なるほど、密度変化が小さいときだけ使えるってことですか?
その通り。適用条件は $\beta \cdot \Delta T \ll 1$(目安として $\beta \Delta T < 0.1$ 程度)。例えば空気($\beta \approx 1/300$ K$^{-1}$ at 300K)なら温度差30K程度までは十分精度が出る。でも燃焼場($\Delta T \sim 1000$K以上)や極低温流体ではBoussinesq近似は破綻するので、完全圧縮性のアプローチか、密度を温度の関数として直接計算する「非Boussinesq」モデルが必要になる。
Boussinesq近似の適用限界と代替手法
- 体膨張係数 $\beta$:理想気体では $\beta = 1/T$(絶対温度の逆数)。液体では温度依存性があり、水は4$^\circ$Cで $\beta=0$(密度最大)となる特異な挙動を示す。
- 非Boussinesqモデル:密度を状態方程式 $\rho = \rho(T, p)$ から直接計算する。大温度差問題($\beta \Delta T > 0.1$)では必須。Ansys Fluentでは「Incompressible Ideal Gas」モデルを使う。
- 完全圧縮性解法:音速スケールの圧力変動も考慮。火災シミュレーション(FDS等)で使用。計算コストは最大だが適用範囲が広い。
無次元数 — Gr, Ra, Pr, Nu
自然対流を特徴づける無次元数ってたくさんあるんですか? レイノルズ数みたいなやつですか?
強制対流ではレイノルズ数 $Re$ が支配パラメータだけど、自然対流では外部から流速を与えないので $Re$ が定義できない。代わりに浮力の強さを表す無次元数が主役になる。
Grashof数 — 浮力と粘性力の比:
Prandtl数 — 運動量拡散と温度拡散の比:
Rayleigh数 — 自然対流の支配パラメータ:
Nusselt数 — 対流による熱伝達の強さ(伝導のみの場合との比):
Ra = Gr $\times$ Prってことは、Rayleigh数が大きいほど対流が激しいんですか?
そういうことだ。Rayleigh数は「浮力が温度拡散(熱伝導)に勝るかどうか」を表す。Ra が小さいと熱は伝導だけで移動する(Nu $\approx$ 1)。Ra が大きくなると対流が支配的になって、Nu がどんどん大きくなる。実際の数値感覚はこうだ:
- $\mathrm{Ra} < 10^3$:対流なし(純粋熱伝導)、Nu $\approx$ 1
- $10^3 < \mathrm{Ra} < 10^9$:層流自然対流
- $\mathrm{Ra} > 10^9$:乱流遷移
代表的な流体のPrandtl数
| 流体 | Pr(常温常圧) | 特徴 |
|---|---|---|
| 空気 | 0.71 | 温度・速度境界層がほぼ同厚 |
| 水 | 7.0 (20$^\circ$C) | 温度境界層 $<$ 速度境界層 |
| エンジンオイル | $\sim$1000 | 温度境界層が非常に薄い |
| 液体金属(Na) | 0.004〜0.01 | 温度境界層 $\gg$ 速度境界層 |
支配方程式の完全形
じゃあ、Boussinesq近似を使った支配方程式を全部見せてもらえますか?
Boussinesq近似下の非圧縮性Navier-Stokes方程式とエネルギー方程式の組だ。この3つの方程式を連立して解くのがCFDの基本になる。
連続の式(質量保存):
運動量保存式(Navier-Stokes方程式 + 浮力項):
ここで $p' = p - \rho_0 \mathbf{g} \cdot \mathbf{x}$ は修正圧力(静水圧成分を除去したもの)。右辺の最終項が浮力項で、Boussinesq近似の核心部分である。
エネルギー方程式:
運動量方程式の最後にある $\rho_0 \beta (T - T_0) \mathbf{g}$ が浮力項ですよね。温度が高い ($T > T_0$) ところでは上向きの力が生まれる、と。
完璧に理解しているね。この浮力項がなければ、流体は温度差があっても動かない。つまり浮力項こそが自然対流の駆動力なんだ。そしてこの項を通じて運動量方程式とエネルギー方程式が双方向に連成する。温度場が速度場を駆動し、速度場が温度場を輸送する——この非線形連成が自然対流CFDの面白さであり難しさだ。
Nu数相関式
CFDの結果を検証するとき、Nu数の理論値みたいなものはあるんですか?
実験データに基づく経験的相関式がいくつかある。CFDの妥当性確認で真っ先にチェックする式を紹介しよう。
鉛直平板の層流自然対流(Churchill-Chu式、全Ra域):
水平加熱板(上面):
密閉キャビティ(垂直壁面加熱・冷却、de Vahl Davis の基準解):
| Ra | Nu (基準解) | 用途 |
|---|---|---|
| $10^3$ | 1.118 | コード検証(V&V) |
| $10^4$ | 2.243 | コード検証 |
| $10^5$ | 4.519 | コード検証 |
| $10^6$ | 8.800 | コード検証 |
de Vahl Davisのベンチマーク、CFDの教科書でよく見ます! 自分のコードがこの値に合うか確認するわけですね。
その通り。1983年に発表されたこの基準解は、いまだに自然対流CFDコードの「リトマス試験紙」として使われている。メッシュ収束性の確認と合わせて、まずはこの正方キャビティ問題でソルバーの妥当性を確認するのが定石だよ。
乱流遷移とRa数の閾値
さっき Ra $> 10^9$ で乱流って言ってましたけど、強制対流の Re > 2300 みたいな話ですか?
概念は同じだね。ただし遷移Rayleigh数は形状に依存する:
- 鉛直平板:$\mathrm{Ra}_\mathrm{crit} \approx 10^9$(Gr $\approx 10^9$)
- 水平加熱板(上面):$\mathrm{Ra}_\mathrm{crit} \approx 10^7$
- 密閉キャビティ:$\mathrm{Ra}_\mathrm{crit} \approx 10^8$(アスペクト比による)
乱流遷移後はRANS、LES、またはDNSが必要になる。特にデータセンターや大空間の空調CFDでは Ra が $10^{10}$ 以上になることも珍しくないから、乱流モデルの選択が結果の精度を大きく左右する。
Rayleigh-Benard対流と美しいパターン
下面加熱・上面冷却の水平流体層では、Rayleigh数がある臨界値($\mathrm{Ra}_c = 1708$)を超えると突然規則的な対流セル(Benardセル)が現れる。1900年にHenri Benardが実験で発見し、1916年にLord Rayleighが理論的に解明した。この臨界Ra数の導出は流体力学の安定性理論の古典的名問題であり、現在でもCFDの検証問題として広く使われている。自然は最小のRa数で最も美しい六角形パターンを選ぶ。
数値解法と実装
有限体積法による離散化
浮力駆動流れのCFDって、有限要素法と有限体積法のどっちが主流なんですか?
CFDでは有限体積法(FVM)が圧倒的主流だ。Ansys Fluent、STAR-CCM+、OpenFOAM、いずれもFVMベースのソルバー。理由は単純で、FVMは保存則(質量、運動量、エネルギー)を離散レベルで厳密に満たすからだ。
FVMでは支配方程式をセル体積 $V$ で積分し、ガウスの発散定理で面積分に変換する:
ここで $\phi$ は汎用スカラー(速度成分、温度等)、$\Gamma$ は拡散係数、$S_\phi$ は生成項である。浮力駆動流れでは運動量方程式の $S_\phi$ に浮力項 $\rho_0 \beta (T - T_0) g_i$ が入る。
対流項の離散化で注意すべきことってありますか? 自然対流特有の問題とか。
いい着眼点だ。自然対流の流速は強制対流に比べて低いので、セルPeclet数が O(1) のオーダーになることが多い。この領域では:
- 1次風上差分(UDS)は数値拡散が大きすぎて、温度境界層をぼやけさせる
- 中心差分(CDS)は精度は高いが振動が出やすい
- 2次風上(SOU)やQUICKスキームがバランスがよい
実務では2次精度以上のスキームを使わないと、Nu数が2〜3割過小評価されることがある。これは自然対流CFDで最もよくあるミスの一つだ。
圧力-速度連成
非圧縮性のNavier-Stokes方程式って、圧力の方程式がないから特殊な解法が必要なんですよね?
そうだ。非圧縮性流れでは密度が一定だから状態方程式がなく、圧力と密度を直接結びつけられない。そこで連続の式($\nabla \cdot \mathbf{u} = 0$)を制約条件として圧力を決定する。代表的な手法:
- SIMPLE(Semi-Implicit Method for Pressure-Linked Equations):分離型(Segregated)ソルバーの標準。定常計算に適する。
- SIMPLEC:SIMPLEの修正版。圧力補正の緩和が不要で収束が速いことがある。
- PISO:非定常計算に適する。1タイムステップあたり複数の補正ステップで精度向上。
- Coupled Solver:圧力と速度を同時に解く。メモリは多いが自然対流の収束が劇的に改善される。
自然対流ではどれがおすすめですか?
実務ではCoupled Solverを強く推奨する。理由は、自然対流では圧力場と速度場の連成が非常に強く、分離型ソルバー(SIMPLE系)だと収束に数千反復かかることがある。Coupled Solverなら数百反復で済む場合が多い。ただしメモリ使用量は1.5〜2倍になるので、大規模問題ではそのトレードオフを考える必要がある。
乱流モデルの選択
Ra $> 10^9$ の乱流自然対流では、どの乱流モデルが適切なんですか?
ここは非常に重要なポイントだ。自然対流の乱流は強制対流とは性格が異なるため、モデル選択を間違えると大きな誤差が出る。
| モデル | 自然対流への適合性 | メッシュ要件 | 備考 |
|---|---|---|---|
| 標準k-$\varepsilon$ | 不適切 | $y^+ \sim 30$ | 壁面近傍の浮力効果を過小評価。自然対流には使わない |
| RNG k-$\varepsilon$ | やや改善 | $y^+ \sim 30$ | 低Re域の補正あり。限定的に使用可 |
| k-$\omega$ SST | 推奨 | $y^+ < 1$ | 壁面近傍をk-$\omega$で解くため自然対流に適する |
| Low-Re k-$\varepsilon$ | 良好 | $y^+ < 1$ | Lam-Bremhorst, AKN等の減衰関数で壁面を処理 |
| RSM | 高精度 | $y^+ < 1$ | 浮力による乱流異方性を捉えるが計算コスト大 |
| LES | 最高精度 | 壁面解像 | 研究用途。壁面近傍にサブグリッドモデルが必要 |
標準k-$\varepsilon$が使えないって、強制対流の定番なのに意外です!
標準k-$\varepsilon$は壁関数(Wall Function)を使うのが前提で、壁面近傍の粘性底層を飛ばしてしまう。ところが自然対流では、壁面の温度境界層内で浮力が流れを駆動しているから、まさに壁関数で飛ばす領域に物理の本質がある。だから壁面を直接解像する(Resolve)モデル——k-$\omega$ SSTやLow-Re k-$\varepsilon$——が必須になるんだ。
乱流の浮力生成項
乱流運動エネルギー $k$ の輸送方程式には、浮力による乱流生成項 $G_b$ を追加する必要がある:
$$ G_b = -g_i \frac{\mu_t}{\rho \mathrm{Pr}_t} \frac{\partial \rho}{\partial x_i} \approx g_i \beta \frac{\mu_t}{\mathrm{Pr}_t} \frac{\partial T}{\partial x_i} $$安定成層(温度が上方で高い)では $G_b < 0$ で乱流を抑制し、不安定成層(下方加熱)では $G_b > 0$ で乱流を増幅する。多くのソルバーではこの項のON/OFFを設定できるが、自然対流では必ずONにすること。
収束戦略
自然対流のCFDって収束が難しいってよく聞くんですけど、コツはありますか?
自然対流CFDの収束が難しい根本原因は、速度場と温度場の強い非線形連成にある。温度が速度を駆動し、速度が温度を輸送する——このフィードバックループがソルバーを不安定にする。実務で使えるテクニックを紹介しよう:
- 初期条件を工夫する:速度場はゼロ、温度場は加熱壁と冷却壁の間で線形分布を与える。いきなりゼロ温度場から始めると浮力項が爆発的に作用して発散しやすい。
- パラメータ継続法:低Ra数(例:$10^3$)で収束させた解を初期条件にして、段階的にRaを上げていく。
- 緩和係数(Under-Relaxation Factor)を下げる:SIMPLE系なら圧力 0.2〜0.3、運動量 0.3〜0.5、エネルギー 0.8〜1.0 が目安。
- 擬似非定常法:定常解が欲しい場合でも、十分小さい時間刻みの非定常計算で追って定常状態に漸近させる方が安定な場合がある。
パラメータ継続法ってなるほど... 一気に高Raを解こうとせず、徐々に温度差を上げていくイメージですか?
まさにそれだ。山登りで一気に山頂を目指すんじゃなく、ベースキャンプを設営しながら少しずつ高度を上げるイメージ。各段階の収束解が次の段階の「良い初期値」になるから、ソルバーが安定する。高Ra($10^{10}$ 以上)の問題では、この方法を使わないとほぼ確実に発散するよ。
実践ガイド
メッシュ設計
自然対流のメッシュ設計って、強制対流と何か違いはありますか?
決定的に違う点がある。自然対流では壁面の温度境界層が流れの駆動源だから、ここの解像度が結果の精度を支配する。強制対流で「だいたい壁関数でOK」というノリは通用しない。
温度境界層の厚さの見積もり(層流、鉛直平板):
例えば $L = 1$ m、$\mathrm{Ra} = 10^8$ なら $\delta_T \sim 10$ mm。この薄い境界層内に最低10層のメッシュが必要だ。
| 項目 | 推奨値 | 根拠 |
|---|---|---|
| 壁面第1セル $y^+$ | $< 1$ | 壁面を直接解像(Low-Re乱流モデル使用時) |
| 壁面垂直方向の層数 | $\geq$ 15層 | 温度境界層内を十分解像 |
| 壁面方向の膨張率 | 1.1〜1.2 | 急激な要素サイズ変化は数値拡散を増大させる |
| コア領域のメッシュ | やや粗くてOK | 浮力駆動流れの物理はほぼ壁面近傍に集中 |
| 角部・端部 | 局所的に細分化 | 境界層の衝突・剥離が発生する領域 |
壁面の第1セルの $y^+$ が1未満って、結構メッシュ数が増えそうですね...
その通りだけど、自然対流の流速は低い(典型的に0.01〜1 m/s)ので、強制対流ほど $y^+$ を小さくするのは難しくない。$y^+ < 1$ を達成するための第1セル高さは:
自然対流の $u_\tau$ は小さいので、実際の $\Delta y_1$ は 0.1〜1 mm 程度になることが多い。
境界条件の設定
自然対流特有の境界条件設定で気をつけることってありますか?
いくつか重要なポイントがある:
- 熱壁面:等温条件(Dirichlet: $T = T_w$)か等熱流束条件(Neumann: $q = q_w$)かを物理に基づいて選択。例えば電子部品は等熱流束、恒温槽は等温が適切。
- 開放境界:室内空気の流出入がある問題では、pressure-outlet に静水圧プロファイル $p = p_0 - \rho_0 g y$ を設定する。一様圧力だと非物理的な流入が発生する。
- 対称面:使える場合は計算コスト半減。ただし自然対流は対称性を破る場合があるので注意(例:Ra $> 10^7$ の正方キャビティで非対称解が存在)。
- 断熱壁:$q = 0$ の Neumann 条件。実際の壁面は完全断熱ではないが、主対流壁面以外は断熱近似で十分なことが多い。
開放境界に静水圧プロファイルを設定するって、地味だけど重要そうですね。
これを忘れると、開放境界全面から一様に吸い込み/吹き出しが起きて、解が全く物理的にならない。実務で最もよく見るミスの一つだから、覚えておいてほしい。Ansys Fluentでは「Operating Density」を適切に設定して、Boussinesq近似の基準密度と整合させることも重要だ。
解析ワークフロー
浮力駆動流れのCFDを最初から最後までやる場合、どんな手順になりますか?
典型的なワークフローを整理しよう:
- 物理の把握:Ra数を概算して層流/乱流を判断。$\mathrm{Ra} = g \beta \Delta T L^3 / (\nu \alpha)$ を手計算で見積もる
- 形状・メッシュ:CADから流体領域を抽出。加熱壁・冷却壁近傍にプリズム層(Inflation Layer)を配置。$y^+ < 1$ を目標設計
- 物性値の設定:密度をBoussinesq近似に設定。$\beta$, $\mu$, $k$, $c_p$ を膜温度 $T_f = (T_h + T_c)/2$ で評価
- ソルバー設定:Coupled Solver推奨。2次精度の離散化。浮力項の有効化。重力ベクトルの向き確認
- 初期条件・収束:ゼロ速度 + 線形温度分布で初期化。残差 $< 10^{-5}$、かつ壁面Nu数のモニタリングで定常性を確認
- 後処理・検証:壁面平均Nu数を相関式と比較。温度・速度場の物理的妥当性を目視確認
検証ベンチマーク
de Vahl Davis以外にも有名なベンチマーク問題ってありますか?
いくつか挙げよう:
| ベンチマーク | 概要 | Ra範囲 | 用途 |
|---|---|---|---|
| de Vahl Davis (1983) | 2D正方キャビティ、垂直壁面加熱/冷却 | $10^3$〜$10^6$ | コード検証の定番 |
| Le Quere (1991) | de Vahl Davisの高精度拡張 | $10^3$〜$10^8$ | 高Ra域の検証 |
| Rayleigh-Benard | 下面加熱・上面冷却の水平層 | $1708$〜$10^9$ | 臨界Ra検証、セルパターン |
| 鉛直平板の自然対流 | 半無限平板、Ostrach (1953)の相似解 | 層流域 | 境界層プロファイルの検証 |
| 3D密閉キャビティ | Tric et al. (2000) | $10^3$〜$10^7$ | 3D効果の検証 |
まずは de Vahl Davis の $10^3$〜$10^6$ で自分のメッシュとソルバー設定を検証してから実問題に進む、という流れですね。
その通り。これをサボると、複雑な実問題で「結果がおかしいけど原因が分からない」という泥沼にはまる。ベンチマークでNu数が基準解の1%以内に入ることを確認してから本番に行く——これが鉄則だ。
パッシブハウスと浮力換気
ドイツのダルムシュタットで1991年に建設された世界初のパッシブハウスは、浮力駆動の自然換気を熱回収型換気システムと巧みに組み合わせている。換気塔の高さ $H$ は、浮力駆動流速の簡易式 $u \approx \sqrt{2 g \beta \Delta T H}$ から設計される。暖房一次エネルギー消費を 15 kWh/m$^2$/年以下に抑えるこの設計は、まさに浮力駆動流れの工学的応用の好例だ。
ソフトウェア比較
主要ソルバーの浮力モデル
浮力駆動流れをCFDで解くとき、ソルバーによって設定方法って違いますか?
基本的な物理は同じだけど、Boussinesq近似の実装方法と設定の流儀はソルバーごとに異なる。主要なCFDソルバーの特徴を比較しよう。
| ソルバー | 浮力モデル | 設定のポイント | 強み |
|---|---|---|---|
| Ansys Fluent | Boussinesq / Incompressible Ideal Gas / Polynomial density | Operating Density の正確な設定が必須。Models > Energy ON、Cell Zone > Operating Conditions で重力・基準密度を設定 | Coupled Solver が自然対流に強い。Body-Force Weighted スキーム搭載 |
| STAR-CCM+ | Gravity Model + Boussinesq / Polynomial density | Physics Continuum で Gravity を有効化。Boussinesq は Segregated Flow + Boussinesq Model で設定 | ポリヘドラルメッシュの自動生成が優秀。Prism Layer の設定が直感的 |
| OpenFOAM | buoyantBoussinesqSimpleFoam / buoyantBoussinesqPimpleFoam | transportProperties で $\beta$ を設定。p_rgh(修正圧力)を使用 | 無償。カスタマイズ性最高。ソースコードで実装を完全に理解可能 |
| COMSOL | Nonisothermal Flow モジュール(Boussinesq近似あり) | Physics > Gravity を追加。Heat Transfer と Laminar/Turbulent Flow をマルチフィジクス連成 | FEMベースで安定性が高い。GUIでの設定が容易。マルチフィジクス連成が得意 |
Ansys Fluentの「Operating Density」ってよく分からないんですけど、何ですか?
これは非常に重要な設定で、ここを間違えるとまるで違う結果が出る。Boussinesq近似では修正圧力 $p' = p - \rho_\mathrm{op} \mathbf{g} \cdot \mathbf{x}$ を使う。この $\rho_\mathrm{op}$ が Operating Density だ。通常は $\rho_0$(基準温度 $T_0$ での密度)に設定する。Fluentでは「Operating Conditions」パネルで「Specify Operating Density」にチェックを入れて値を入力する。
ありがちなミスは、Operating Density をゼロにしたまま Boussinesq 近似を使うこと。この場合、静水圧が解から差し引かれず、圧力場に巨大なオフセットが乗って収束性が著しく悪化する。
OpenFOAMでの実装
OpenFOAMで浮力駆動流れを解くにはどのソルバーを使えばいいですか?
ケース別に整理しよう:
- buoyantBoussinesqSimpleFoam:定常、層流/RANS乱流。Boussinesq近似。最も基本的
- buoyantBoussinesqPimpleFoam:非定常(PIMPLE法)。時間変動する自然対流や乱流LESに
- buoyantSimpleFoam:定常、密度を温度の関数として直接計算(非Boussinesq)。大温度差問題に
- buoyantPimpleFoam:非定常の非Boussinesq版
OpenFOAMの大きなメリットは、ソースコードを読めば浮力項がどう実装されているか一目瞭然なこと。学習にも最適だ。
データセンターの熱管理とCFD
Future Facilities社(英国、2001年設立)が開発した 6SigmaDCX は、データセンター特化型の熱流体解析ソフトだ。Boussinesq近似を含む圧縮性CFDで空調気流と熱成層を評価できる。Googleが2012年にこのツールを採用してデータセンター設計を最適化し、PUE(Power Usage Effectiveness)を1.12まで低下させた事例は有名だ。サーバーラック間の温度分布は典型的な浮力駆動流れ問題であり、「冷たい空気は下から入り、暖まった空気は上に抜ける」という基本を正確にシミュレーションする必要がある。
先端技術
LES/DNSによる高精度解析
RANSでは精度が足りない場合、LESやDNSを使うことってあるんですか?
研究レベルでは増えている。特に原子力安全や航空宇宙の分野で、RANSモデルの不確かさを許容できない高精度解析のニーズがある。
- DNS(直接数値シミュレーション):乱流のすべてのスケールを解像。$\mathrm{Ra} \sim 10^{10}$ 程度まではスパコンで実現可能。Shishkina & Horn (2016) は $\mathrm{Ra} = 10^{12}$ のRayleigh-Benard対流のDNSを達成
- LES(ラージエディシミュレーション):大スケール渦を直接解き、小スケールはサブグリッドモデルで近似。壁面近傍をどう扱うかが課題(WMLES vs WRLES)
- ハイブリッドRANS-LES(DES, SAS):壁面近傍はRANS、コア領域はLES。実務と研究の架け橋として注目
DNSで $10^{12}$ のRa... 一体メッシュ数はどのくらいになるんですか?
数十億セルオーダーだ。世界トップクラスのスパコンで数ヶ月を要する計算になる。でもこうしたDNSデータが蓄積されることで、RANSモデルの改良やLESのサブグリッドモデルの検証に使えるデータベースが構築されている。実務への波及効果は大きいよ。
共役熱伝達(CHT)
実際の製品設計では、固体の熱伝導と流体の対流を同時に解く必要がありますよね?
まさにそれが共役熱伝達(Conjugate Heat Transfer, CHT)だ。固体内の熱伝導と流体の自然対流を同時に解く。例えば:
- 電子筐体の自然空冷:IC発熱 → 基板内の熱拡散 → 筐体内空気の自然対流 → 筐体外壁からの放熱
- ヒートシンクの設計:フィンの熱伝導とフィン間の自然対流の最適化
- 建築壁体の断熱:壁体内の熱伝導と室内側の自然対流境界層
CHTでは固体-流体界面で温度と熱流束の連続条件($T_s = T_f$, $k_s \partial T_s/\partial n = k_f \partial T_f/\partial n$)を満たす必要があり、主要なCFDソルバーはこの連成を標準的にサポートしている。
機械学習との融合
最近はAIやMLの話題をよく聞きますが、自然対流CFDにも適用されているんですか?
急速に進展している分野だ。主なアプローチ:
- サロゲートモデル:Nu = f(Ra, Pr, 形状パラメータ) のような入出力関係をニューラルネットワークで近似。設計空間探索を数桁高速化
- PINN(Physics-Informed Neural Networks):Navier-Stokes方程式を損失関数に組み込んだニューラルネットワーク。実験データが少ない場合の補間や、逆問題(温度場から熱源位置を推定)に有効
- RANS乱流モデルの補正:DNSデータを学習して、RANSモデルの浮力生成項 $G_b$ の精度を向上させる試み
- 最適設計:自然空冷ヒートシンクのフィン形状最適化に遺伝的アルゴリズム + CFDサロゲートモデルを適用した研究が増加
トラブルシューティング
収束失敗
自然対流CFDの収束失敗って、具体的にどんなパターンがありますか? 先生も徹夜デバッグしたことありますか?
何度もあるよ。自然対流は収束が難しいCFD問題の代表格だからね。よくあるパターンと対策を整理しよう。
| 症状 | 原因 | 対策 |
|---|---|---|
| 残差が発散する | 浮力項の急激な作用、緩和係数が大きすぎる | 運動量の緩和係数を0.3〜0.5に下げる。初期温度場を線形分布にする |
| 残差が振動して収束しない | 定常解が存在しない(物理的に非定常な流れ) | 非定常計算に切り替え、時間平均でNuを評価する |
| 残差は下がるがNu数がふらつく | メッシュが温度境界層を解像できていない | 壁面近傍のメッシュを細分化して$y^+ < 1$を確認 |
| 「Floating point exception」で異常終了 | 速度が発散(非物理的に巨大な値) | CFL数を下げる。時間刻みを1/10にして再開 |
| Coupled Solverでメモリ不足 | 大規模問題でCoupled Solverのメモリ要件 | Segregated SIMPLECに切り替え、収束を待つ |
「定常解が存在しない」って意外ですね。定常計算で解こうとしても、そもそも物理的に定常にならないってことですか?
これは本当によくあるケースだ。$\mathrm{Ra} > 10^8$ くらいから、正方キャビティでも流れが周期的に振動し始める。この場合、定常ソルバーの残差は $10^{-3}$ 付近で振動して、それ以上下がらない。「収束しない」んじゃなく、「定常解が存在しない」のが原因。非定常計算に切り替えて、十分な時間(浮力タイムスケール $t_b = L/\sqrt{g \beta \Delta T L}$ の数十倍以上)にわたる時間平均でNu数を評価するのが正しいアプローチだ。
非物理的な結果
計算は収束したけど結果がおかしい、ってパターンもありますか?
むしろこちらの方が危険だ。収束したから安心してしまうが、結果が物理的に間違っている場合がある:
- 加熱壁側で下降流が生じている:重力ベクトルの向きが逆。$\mathbf{g}$ の符号を確認(OpenFOAMでは $g = (0, 0, -9.81)$ ではなく $(0, -9.81, 0)$ の場合がある)
- Nu数が相関式の半分以下:1次風上差分による過大な数値拡散。2次精度スキームに変更
- 温度が加熱壁温度を超える:エネルギー保存が破れている。メッシュ品質(スキューネス $< 0.85$)を確認
- 対称形状なのに非対称な流れ:高Ra数では物理的に正しい場合がある(対称性の自発的破れ)。低Ra ($10^4$) で対称解が得られることを確認してから判断
- Operating Densityの設定ミス:Ansys Fluentでゼロのまま放置すると、非物理的な圧力場と異常な流れパターンが発生する
ソルバー別エラー集
ソルバー固有のエラーメッセージで困ったときのリファレンスがほしいです!
よく遭遇するエラーをまとめておこう:
Ansys Fluent:
- "Divergence detected in AMG solver":圧力方程式の発散。緩和係数を下げるか、Coupled Solverの CFL 数を下げる
- "Temperature limited to...":温度が非物理的な値に発散している兆候。初期条件とメッシュを見直す
- "Reversed flow in N faces":開放境界での逆流。pressure-outlet の backflow temperature を適切に設定
OpenFOAM:
- "Maximum number of iterations exceeded":SIMPLE/PIMPLEの圧力補正が収束しない。nCorrectors を増やすか、時間刻みを小さくする
- "Floating point exception":通常は速度場の発散。fvSolution の relaxationFactors を下げる(p: 0.2, U: 0.5, T: 0.7)
- "bounding T":温度場にアンダーシュート/オーバーシュートが発生。boundedGauss linearUpwind スキームを使用
STAR-CCM+:
- "Linear solver did not converge":AMGソルバーの反復上限到達。Inner Iterations を増やす
- "Continuity residual is high":圧力-速度連成の問題。URF を調整するか、メッシュ品質を改善
「解析が合わない」と思ったらチェックリスト
- 重力ベクトルの向きと大きさ — $|\mathbf{g}| = 9.81$ m/s$^2$ で向きは正しいか?
- 体膨張係数 $\beta$ の値 — 理想気体なら $\beta = 1/T_0$。手計算のRa数と一致するか?
- Operating Density(Fluent)/ Reference Density(STAR-CCM+)— 基準温度での密度 $\rho_0$ に設定しているか?
- 浮力項の有効化 — ソルバーで「Gravity」「Buoyancy」が有効になっているか?
- 離散化スキーム — 1次精度になっていないか? 最低2次精度を使用
- メッシュ解像度 — 壁面第1セルの $y^+$ を出力して $< 1$ を確認
- 物性値の単位 — SI統一。特に $\mu$ [Pa s] と $\nu$ [m$^2$/s] の混同に注意
なった
詳しく
報告