実在気体効果 — トラブルシューティングガイド
より充実した内容を real-gas-effects.html でご覧いただけます。
よくあるトラブルと対処法
実在気体を使った計算で頻繁に起きるトラブルを教えてください。
実在気体特有の問題パターンを見ていこう。
1. 非物理的な負圧力・負温度
症状: PR-EOS計算で温度や圧力が負になり発散
これはよくあるんですか?
非常によくある。PR-EOSは低温・低密度領域で非物理的な圧力を返すことがある。特にvan der Waalsループ内(気液共存域)では圧力が負になりうる。
対策:
- テーブル法に切り替える(テーブルで非物理領域をカバーしない)
- 温度と圧力のクリッピング下限を設定(Fluentの
temperature-limits) - 初期条件を慎重に設定(低温領域を避ける)
- 初期解を理想気体で作ってから実在気体に切り替える
2. 擬臨界遷移での発散
症状: 超臨界流体が擬臨界温度を横切る領域で残差が増大
物性が急変する領域ですね。
そう。$c_p$ が10倍に跳ね上がり、密度が急変するから数値スキームが不安定になる。
対策:
- テーブルの解像度を上げる(擬臨界線付近で0.1 K刻み)
- 擬似時間刻みを小さくする(Under-Relaxation Factorを0.3以下に)
- Pressure-Based Coupledソルバーを使用(SIMPLE系より安定)
- 人工拡散(数値粘性)を少し追加(精度は落ちるが安定化)
3. RGPテーブルの範囲外エラー
症状: Temperature/Pressure out of table range エラーで停止
計算中に条件がテーブルの範囲を超えてしまうんですね。
初期過渡や局所的な膨張/圧縮で温度・圧力が予想範囲を超えることがある。
対策:
- テーブルの範囲を計算条件より20-30%広く取る
- テーブル外挿を許可する設定にする(FluentのRGPオプション)
- 初期条件を計算条件の中心値に設定して過渡の振れ幅を小さくする
4. 輸送係数の不整合
症状: 物性テーブルの密度は正しいが、粘性や熱伝導率が不連続
密度のEOSは正しくても輸送係数がおかしいケースですか。
FluentでPR-EOSを使うとき、粘性にSutherlandの式をそのまま使う人がいるが、超臨界域ではSutherland式は全く不正確だ。
対策:
- 粘性・熱伝導率もRGPテーブルに含める(REFPROP出力で4列テーブルにする)
- Chung et al.の相関式(高圧域用)を使う
- 超臨界CO₂の場合、Fenghourの相関式が推奨される
5. 混合物のEOSパラメータ
多成分混合物で二元相互作用パラメータ $k_{ij}$ はどう決めるんですか?
$k_{ij}$ はPR-EOSの混合則に入るパラメータで、気液平衡データにフィッティングして決める。文献値を使うのが基本だが、データがない系では $k_{ij} = 0$ にするしかない。
確認すべきこと:
- DDB(Dortmund Data Bank)やNIST TDEで $k_{ij}$ の文献値を調査
- $k_{ij}$ の感度分析を行う($\pm$0.05の変動で結果がどう変わるか)
- 可能なら相平衡実験データと照合してEOSの予測精度を確認
実在気体のトラブルシューティングは、数値手法と熱力学の両方の知識が必要なんですね。
そう。CFDの設定だけでなく、状態方程式の適用範囲や物性データの品質を理解していないと、一見もっともらしいが誤った結果を出してしまう危険がある。
実在気体計算の「音速が負になる」バグはなぜ起きるか
実在気体モデルを使った計算でたまに見るのが「音速が虚数(負の値の平方根)になって計算が落ちる」というエラーです。理想気体なら音速 $a = \sqrt{\gamma RT}$ は常に正ですが、実在気体では状態方程式の偏微分から音速を求めるため、数値的に$(\partial P/\partial \rho)_s$が負になってしまうケースがあります。多くはテーブルの補間範囲外にはみ出したか、初期条件が状態方程式の「物理的に意味のない領域」に入ってしまったことが原因です。対策としては状態テーブルの範囲を広げるか、初期条件を相図で確認して気液二相領域を避けることが有効です。
関連トピック
なった
詳しく
報告