強制対流のCFD解析 — 熱伝達予測のトラブルシューティング
より充実した内容を forced-convection-cfd.html でご覧いただけます。
Nu数がDittus-Boelterと合わない
管内流れのCFDでNu数を計算したら、Dittus-Boelter式より30%も高いです。
まずメッシュと流れの状態を確認しよう。完全発達しているか? 入口から十分な助走距離(乱流なら $L > 10D$ 程度)をとっているか? 助走区間ではNu数が発達値より高くなるのは正常だ。
発達区間で比較してます。
次に壁面処理を確認しよう。壁面関数を使っていて $y^+$ が5〜30の「バッファ層」に入っていないか? バッファ層は壁面関数の適用範囲外で、熱伝達の予測精度が悪化する。Fluentなら$y^+$のコンター図を確認して、30以上(壁面関数用)か1以下(Low-Re用)のどちらかに統一すべきだ。
温度分布に非対称性が出る
軸対称のはずの管内流れで温度分布が非対称になります。
メッシュの非対称性が原因であることが多い。テトラメッシュでは面の向きがランダムなので、粗いメッシュだと非対称な数値拡散が生じる。ヘキサメッシュに変更するか、メッシュを十分に細かくすれば改善する。また、Second Order Upwindを使っているか確認しよう。First Orderだと数値拡散が大きく非対称になりやすい。
物性値の温度依存性
冷却水の物性値って温度依存性を入れるべきですか?
温度差が大きい場合($\Delta T > 20$度C程度)は入れるべきだ。特に粘度 $\mu$ は温度依存性が大きく、壁面近傍の速度勾配ひいてはNu数に直結する。Fluentではmaterial propertiesでpolynomialやpiecewise-linearで温度依存性を入力できる。OpenFOAMではtransportProperties内のtransportModelをSutherlandやpolynomialに設定する。
理想気体近似はどこまで使えますか?
空気や窒素を冷媒とする場合、Ma数が0.3以下(圧縮性効果が5%以下)なら非圧縮性近似で十分。ただし大きな温度差がある場合はBoussinesq近似ではなく理想気体として密度の温度依存性を扱ったほうがよい。FluentのIncompressible Ideal Gas設定がこの用途に適している。
強制対流CFDで「Nu数が実験の半分」になるよくある理由
強制対流CFDの検証で「Nusselt数が実験値の半分しか出ない」というトラブルは珍しくない。原因として多い順番に挙げると:(1) 流入境界条件の乱流強度の設定漏れ、(2) 温度境界条件を断熱にしたまま熱流束を別途入れた二重設定、(3) 流れが十分に発達する前の位置で熱伝達係数を評価している——の3パターンだ。特に(1)は「乱流モデルを使えば乱流が自動的に生まれる」という誤解から来る。乱流は入口で「種を蒔く」必要があります。
トラブル解決の考え方
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——強制対流のCFD解析の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
関連トピック
なった
詳しく
報告