実在気体効果
実在気体効果の理論基礎
概要
先生、「実在気体効果」ってつまり理想気体の仮定が成り立たないケースですよね? どういう状況で問題になるんですか?
大きく分けて2つの状況がある。一つは 高温 で気体分子が振動励起・解離・電離する場合(極超音速再突入、プラズマ等)。もう一つは 高圧・低温 で分子間力や分子体積が無視できなくなる場合(超臨界CO₂サイクル、LNGプロセス等)。どちらも $pv = RT$ の理想気体状態方程式からのずれが本質的だ。
圧縮性因子 $Z$ でずれを測るんですよね?
その通り。圧縮性因子は
で定義され、理想気体なら $Z = 1$ だ。高圧の天然ガスでは $Z \approx 0.8$、超臨界CO₂では $Z$ が0.2-0.5まで下がることもある。
状態方程式(EOS)
理想気体の代わりにどんな状態方程式を使うんですか?
代表的なEOS(Equation of State)を見てみよう。
van der Waals方程式:
ここで $a$ は分子間引力、$b$ は排除体積を表す。これは歴史的に重要だが精度は限定的だ。実用ではPeng-Robinson(PR)やSoave-Redlich-Kwong(SRK)が広く使われる。
Peng-Robinson EOS:
ここで $\kappa = 0.37464 + 1.54226\omega - 0.26992\omega^2$、$\omega$ は離心因子だ。
臨界温度 $T_c$ と臨界圧力 $p_c$ と離心因子 $\omega$ があれば任意の物質に使えるんですね。
そう。CO₂なら $T_c = 304.1$ K, $p_c = 7.38$ MPa, $\omega = 0.225$ だ。ただしPR-EOSは液相密度を5-15%過小評価する傾向がある。これを補正するPeneloux体積補正項を入れることもある。
高温空気の熱化学モデル
高温側の実在気体効果はどうモデル化するんですか?
空気の場合、温度に応じて以下の現象が順に発生する。
| 温度範囲 | 現象 | 影響 |
|---|---|---|
| < 800 K | 理想気体的 | $\gamma \approx 1.4$ |
| 800-2500 K | O₂の振動励起 | $\gamma$ が低下 |
| 2500-4000 K | O₂の解離 | O原子の生成 |
| 4000-9000 K | N₂の解離 | N原子の生成 |
| > 9000 K | 電離 | e⁻, N⁺, O⁺ の生成 |
化学平衡を仮定する場合、Gibbs自由エネルギーの最小化で各化学種の組成を求める。有限速度反応モデルでは各反応のArrheniusパラメータを指定する。
比熱比 $\gamma$ が温度で変化するのは大きな影響がありそうですね。
まさにそう。衝撃波後の温度が3000 Kを超えると $\gamma$ は1.4から1.1-1.2まで下がる。すると衝撃波角や密度比が理想気体の予測と大きく異なるんだ。
van der Waalsが1873年に気づいたこと——分子は「大きさ」を持つ
実在気体の理論的基礎を作ったのはオランダの物理学者Johannes van der Waalsです。1873年の博士論文で彼は「気体分子には有限の大きさがあり、分子間に引力が働く」という、当時としては革命的なアイデアを提案しました。そこから導かれたvan der Waals状態方程式は、高圧・低温領域での気体挙動を記述できる最初の実用的なモデルです。現代の工学で使うPeng-RobinsonやRedlich-Kwong方程式も、このvan der Waalsの考え方を洗練させたもの。150年前の博士論文が、今日の圧縮性CFDの状態方程式選択に直接影響しているわけです。
実在気体効果の数値計算手法
EOSの数値実装
実在気体EOSをCFDに組み込むとき、計算上の問題はありますか?
いくつか重要なポイントがある。理想気体では保存変数($\rho, \rho\mathbf{u}, \rho E$)から温度や圧力への変換が解析的にできるが、PR-EOSなどでは反復計算が必要になる。
具体的には、内部エネルギー $e$ と密度 $\rho$ が与えられたとき、温度 $T$ を
からNewton法で求める。ここで $e_{departure}$ はEOSから導出される出発関数(departure function)で、PR-EOSでは
となる。この反復計算がセル数×タイムステップ分必要だから計算コストが増大する。
理想気体に比べてどれくらい計算が遅くなるんですか?
一般に2-5倍程度。EOSの評価回数が支配的だから、テーブル参照法(look-up table)で高速化するのが実務では一般的だ。温度と圧力の2Dテーブルを事前計算しておき、実行時は補間するだけにする。
超臨界流体の数値的困難
超臨界状態って数値的に何が難しいんですか?
臨界点近傍では熱力学特性が急激に変化する。定圧比熱 $c_p$ は擬臨界温度(pseudo-critical temperature)付近でピークを持ち、密度も急変する。この急峻な変化は数値的な振動や発散の原因になる。
例えばCO₂の超臨界条件(p = 8 MPa, T = 305 K付近)では $c_p$ が通常の10倍以上に跳ね上がる。密度は数K変わるだけで700 kg/m³から200 kg/m³に急変する。
そんなに変化が激しいんですか。数値スキームに特別な工夫が要りますね。
その通り。推奨されるアプローチは以下だ。
- テーブル法: NISTのREFPROPデータベースから物性テーブルを生成し、双線形補間でアクセス
- 陰解法: 密度変化が大きいため、陰的な圧力-密度カップリングが安定性に必須
- メッシュ解像: 擬臨界遷移が起きる領域でメッシュを密にする
- 時間刻み: 適応的タイムステップで密度急変に対応
リーマンソルバーの拡張
実在気体でもRoeスキームやHLLCは使えるんですか?
使えるが、修正が必要だ。Roeの平均状態の計算で理想気体の仮定を外さないといけない。実在気体のRoeスキームでは、平均音速を
のように一般化された $\Gamma = v/(c_p)(\partial p / \partial T)_v$ を使って計算する(Vinokurの定式化等)。HLLCの方がEOSへの依存が少なく実装が容易だから、実在気体ではHLLCが好まれることが多い。
実装の手間を考えるとHLLCの方が実用的なんですね。
そう。OpenFOAMのrhoCentralFoamはKNPスキームベースでEOSに依存しないから、EOSだけ差し替えれば実在気体計算ができる利点がある。
実在気体ルックアップテーブルの「格子点が足りない」問題
実在気体の状態方程式(van der Waals法、Peng-Robinson法など)をリアルタイムに計算するとCFDが何十倍も遅くなる。そこで現場では温度・圧力の格子点で熱力学量を事前計算したルックアップテーブル(LUT)を使う。問題は「テーブルの格子点が少なすぎると補間誤差が大きく、多すぎるとメモリと読み込み時間が増える」トレードオフだ。衝撃波が通過する高温高圧域にテーブルの密な格子を集中させ、穏やかな領域には粗い格子を使う「適応テーブル」が効率的だが、その設計自体が一つの技術ノウハウになっている。
実在気体効果の実務適用
超臨界CO₂タービンの解析
超臨界CO₂って発電システムに使われるんですよね? CFDではどう扱うんですか?
超臨界CO₂ブレイトンサイクルは次世代発電の有望技術だ。圧縮機入口が臨界点近傍(31°C, 7.4 MPa)で密度が液体並みに高いから、装置を小型化できる。CFDで扱う際の注意点を整理しよう。
| 項目 | 設定 | 備考 |
|---|---|---|
| EOS | Span-Wagner(CO₂専用高精度EOS) | PR-EOSでは精度不足の場合あり |
| 物性テーブル | REFPROP or CoolProp生成 | 温度200-800K, 圧力1-30 MPa |
| 乱流モデル | SST k-omega + 低Re補正 | 密度急変で乱流輸送が変化 |
| メッシュ | y⁺ < 1、擬臨界線周りに集中 | 壁面近傍の密度変化を解像 |
| ソルバー | Pressure-Based Coupled | 超臨界では密度ベースより安定 |
Span-Wagner EOSは何が違うんですか?
CO₂のためにフィッティングされたHelmholtz自由エネルギー型EOSで、臨界点近傍でもPR-EOSより格段に精度が高い。NISTのREFPROPに実装されている。FluentではNIST Real Gas Property(RGP)テーブル形式でインポートする。
LNGプロセスの実在気体効果
LNG(液化天然ガス)のバルブやパイプのCFDでも実在気体が重要ですか?
LNG条件(メタン主成分、-162°C、大気圧で液化)ではPR-EOS+混合則で多成分系を扱う。BOG(Boil Off Gas)の発生やフラッシュ蒸発の予測には気液平衡計算が必要で、通常のCFDの枠を超える。
FluentでLNGの気液二相流は計算できますか?
FluentのEvaporation-Condensationモデル(Lee model)とPR-EOSの組み合わせで概算できるが、多成分LNGの相平衡を正確に扱うにはCFXの方が強い。CFXはmulticomponent multiphaseで相平衡計算を内蔵しているからだ。
高温気体の検証事例
高温実在気体の検証にはどんな実験データを使いますか?
代表的なベンチマークを挙げよう。
- 正規衝撃波の温度: 衝撃波前後の温度・密度比を理想気体/平衡/非平衡モデルで比較(Andersonの教科書に詳細データあり)
- 衝撃波管実験: 既知のドライバー/テスト条件から衝撃波速度と後方状態を検証
- 円柱周りの弓状衝撃波: M=6-10でのスタンドオフ距離が気体モデルに強く依存
- NASA CEA: 化学平衡組成をCFDの結果と照合
理想気体と実在気体で結果がどれくらい違うか、定量的に見たいです。
例えばM=10の垂直衝撃波を考えよう。理想気体($\gamma=1.4$)では $T_2/T_1 \approx 20.4$, $\rho_2/\rho_1 = 5.71$ だが、解離を含む実在気体では温度が下がり密度比は10以上になる。衝撃層が薄くなるのは密度が上がるからで、これは再突入体の衝撃波スタンドオフ距離に直結する。
実務チェックリスト
実在気体CFDを始めるときのチェックリストをまとめてもらえますか?
以下の項目を確認しよう。
- 作動流体の臨界点($T_c, p_c$)と動作条件の距離は十分か → 臨界点近傍ならテーブル法推奨
- EOSの精度は検証済みか → 既知の状態点でREFPROPと比較
- 比熱の温度依存性は正しく入力されているか → NASAポリノミアル(7係数)の温度範囲を確認
- 輸送係数(粘性、熱伝導率)もRGPテーブルに含まれているか
- メッシュは物性急変領域で十分に細かいか
実在気体CFDの実務——状態方程式テーブルで計算時間が激変する
実在気体効果を正確に扱うには、理想気体の状態方程式(PV=nRT)の代わりにNIST流体データベースや化学平衡テーブルを使う必要があります。ただしこれらのテーブルルックアップは計算コストが高く、各時間ステップで圧力・温度・エンタルピーの三変量補間を行うと、理想気体計算の3〜5倍の計算時間になることもあります。実務では「高温高圧域だけ実在気体テーブルを使い、それ以外は理想気体で近似する」ハイブリッドアプローチが使われます。液体ロケットの推進剤(液体水素・液体酸素)の噴射計算では、この切り替え境界の設定が結果精度を大きく左右します。
実在気体効果のソフトウェア比較
実在気体対応ツール比較
実在気体をサポートしているCFDツールはどれですか?
主要ツールの実在気体対応状況を比較しよう。
| ツール | 立方型EOS | テーブル法 | 多成分混合 | 相変化 | 化学反応 |
|---|---|---|---|---|---|
| Ansys Fluent | PR, SRK | NIST RGP | 混合則 | Lee model | Species Transport |
| Ansys CFX | PR, SRK, RK | CFX-RGP | 詳細混合則 | 相平衡 | 反応流 |
| STAR-CCM+ | PR, SRK | テーブル | 多成分 | Flash計算 | 詳細化学 |
| OpenFOAM | PR(拡張版) | カスタム | 基本的 | 限定的 | reactingFoam |
| COMSOL | PR, SRK等 | テーブル | 混合則 | 相変化モデル | 反応工学 |
| CoolProp | 多数のEOS | - | GERG-2008 | 相平衡 | なし(物性ライブラリ) |
CoolPropってCFDツールなんですか?
CFDツールではなく、オープンソースの熱力学物性ライブラリだ。Python/C++から呼び出せて、200種以上の流体の物性を高精度に計算できる。REFPROPが有償なのに対しCoolPropは無料。CFDの前処理でRGPテーブルを作成する用途に最適だ。
Ansys Fluentの実在気体設定
Fluentで実在気体を使うときの具体的な手順を教えてください。
2つのアプローチがある。
アプローチ1: Peng-Robinson EOS
- Materials → Fluid → Density:
real-gas-peng-robinsonを選択 - 臨界温度、臨界圧力、離心因子、分子量を入力
- 注意: $c_p$ はNASAポリノミアルで温度依存性を指定
アプローチ2: NIST RGPテーブル
- REFPROPまたはCoolPropで物性テーブル(.rgp形式)を生成
- Materials → Fluid → Density:
real-gas-property-tableを選択 - .rgpファイルを読み込み
- テーブルの温度・圧力範囲が計算条件を網羅していることを確認
どちらがお勧めですか?
臨界点から離れた条件ならPR-EOSで十分。臨界点近傍の超臨界流体ならテーブル法一択だ。テーブル法の方が計算も速い。テーブルの解像度は温度方向200点、圧力方向100点程度が目安だ。
STAR-CCM+の実在気体機能
STAR-CCM+はどうですか?
STAR-CCM+はMulti-Component Gas modelとPR-EOS、さらにIAPWS-IF97(水・蒸気専用高精度EOS)をサポートしている。テーブル法もField Function経由で柔軟に実装可能だ。
特にLNG関連ではMultiphase + Equation of Stateの組み合わせで気液平衡を含む二相流計算ができる。Flash計算(圧力-エンタルピーフラッシュ)も組み込まれていて、LNGのBOG予測に使われる実績がある。
各ツールの得意分野がはっきりしているんですね。
まとめると、超臨界CO₂ならFluent or CFXのRGPテーブル、LNG多成分系ならSTAR-CCM+ or CFX、高温解離空気なら専用コード(DPLR, hy2Foam)という使い分けになる。
実在気体ソルバーの「データベース依存」問題
実在気体効果を扱うCFDソルバーは、熱力学特性(比熱、エンタルピー、エントロピー)を温度・圧力の関数テーブルとして保持している。このテーブルの元データがNASAのGordon-McBrideデータベースかJANAFテーブルかによって、高温域(3000K以上)での計算値が微妙に変わる。商用ツールを選ぶ際、「内蔵データベースがどのソースか」「ユーザーが独自の種(species)を追加できるか」を確認することが重要だ。特に新しい推進剤や特殊ガス混合物を扱う研究では、デフォルトのデータベースでは対応できないケースが出てくる。
実在気体効果の先端研究
超臨界噴射の最前線
実在気体効果の研究で今注目されているテーマは何ですか?
超臨界噴射(supercritical injection)は宇宙推進とガスタービンの両方で活発に研究されている。液体ロケットエンジンでは燃焼室圧力が臨界圧力を超えるため、燃料噴射は超臨界状態で行われる。この状態では表面張力がゼロになり、従来の液滴モデルが適用できない。
液滴ではなく、密度の異なるガスが混合するイメージですか?
その通り。超臨界条件での噴射はdiffuse interface(拡散界面)として扱う必要がある。手法としては以下がある。
- Multi-species real-gas approach: 各化学種にPR-EOSと混合則を適用
- Phase-field法: Cahn-Hilliard方程式で界面を追跡
- Entropy-stable DG法: 高次精度で物理的にconsistentなスキーム
GERG-2008混合物モデル
天然ガスのような多成分混合物の精密なEOSはあるんですか?
GERG-2008がある。これは21成分(メタン、エタン、プロパン、N₂, CO₂等)の天然ガス組成に対応したHelmholtz自由エネルギー型の高精度混合物モデルだ。PR-EOSの混合則(van der Waals 1-fluid model)よりはるかに精密で、パイプラインの流量計校正のISO標準にもなっている。
CFDに組み込めるんですか?
REFPROPやCoolPropに実装されているから、テーブルとして出力してCFDに読み込める。直接組み込む場合はCoolPropのC++ライブラリをUDFやOpenFOAMのソースコードにリンクする方法がある。ただし計算コストは立方型EOSの10-100倍になるから、テーブル法が現実的だ。
データ駆動型EOS
機械学習でEOSを作る研究はありますか?
活発に研究されている。二つのアプローチがある。
1. ニューラルネットEOS: $(\rho, T) \to (p, e, c_p, \mu, \lambda)$ のマッピングをニューラルネットで学習。REFPROPの出力を訓練データにする
2. Physics-Informed Neural Network: Helmholtz自由エネルギーの関数形をNNで表現し、熱力学整合性(Maxwell関係式等)を制約条件に組み込む
メリットはテーブル補間よりも滑らかで微分が連続であること。デメリットは訓練データの範囲外での信頼性と、推論時の計算コストだ。
熱力学の法則を制約に入れるのは賢いですね。
例えばエントロピーの偏微分関係 $c_v = T(\partial s / \partial T)_v$ が自動的に満たされるようにNNのアーキテクチャを設計する。これにより非物理的な物性予測を防げる。
実在気体効果のトラブル対応
よくあるトラブルと対処法
実在気体を使った計算で頻繁に起きるトラブルを教えてください。
実在気体特有の問題パターンを見ていこう。
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$が負になってしまうケースがあります。多くはテーブルの補間範囲外にはみ出したか、初期条件が状態方程式の「物理的に意味のない領域」に入ってしまったことが原因です。対策としては状態テーブルの範囲を広げるか、初期条件を相図で確認して気液二相領域を避けることが有効です。
なった
詳しく
報告