実在気体効果
理論と物理
概要
先生、「実在気体効果」ってつまり理想気体の仮定が成り立たないケースですよね? どういう状況で問題になるんですか?
大きく分けて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の状態方程式選択に直接影響しているわけです。
各項の物理的意味
- 時間項 $\partial(\rho\phi)/\partial t$:蛇口をひねった瞬間を思い浮かべてください。最初は水がバタバタと不安定に出て、しばらくすると安定した流れになりますよね? この「変化している最中」を記述するのが時間項です。心臓の拍動で血流が脈打つのも、エンジンのバルブが開閉するたびに流れが変動するのも、すべて非定常現象。では定常解析とは? 「十分時間が経って流れが落ち着いた後」だけを見る——つまりこの項をゼロにする。計算コストが大幅に下がるため、まず定常で解いてみるのがCFDの基本戦略です。
- 対流項 $\nabla \cdot (\rho \mathbf{u} \phi)$:川に落ち葉を落としたらどうなりますか? 流れに乗って下流に運ばれますよね。これが「対流」——流体の動きが物を運ぶ効果です。暖房の温風が部屋の端まで届くのも、空気という「運び屋」が熱を対流で輸送しているから。ここが面白いところ——この項は「速度×速度」を含むため非線形です。つまり、流れが速くなるとこの項が急激に強くなり、制御が難しくなる。これが乱流の根本原因です。よくある勘違い:「対流と伝導は同じようなもの」→ 全然違います! 対流は流れが運ぶ、伝導は分子が伝える。桁違いの効率差があります。
- 拡散項 $\nabla \cdot (\Gamma \nabla \phi)$:コーヒーにミルクを入れて放置したことはありますか? かき混ぜなくても、しばらく経つと自然に混ざりますよね。あれが分子拡散です。では次の質問——ハチミツとお水、どちらが流しやすいですか? 当然お水ですよね。ハチミツは粘性($\mu$)が高いから流れにくい。粘性が大きいと拡散項が強くなり、流体は「もったりした」動きになります。レイノルズ数が小さい流れ(ゆっくり、ドロドロ)では拡散が支配的。逆にRe数が大きい流れでは対流が圧倒し、拡散は脇役になります。
- 圧力項 $-\nabla p$:注射器のピストンを押すと、液体が針先から勢いよく出ますよね? なぜでしょう? ピストン側が高圧、針先が低圧——この圧力差が流体を押す力になるからです。ダムの放水も同じ原理。天気図で等圧線がギュッと密になっている場所では? そう、強風が吹きます。「圧力差があるところに流れが生まれる」——これがナビエ-ストークス方程式の圧力項の物理的意味。ここでの勘違いポイント:CFDの「圧力」は絶対圧ではなくゲージ圧のことが多い。圧縮性解析に切り替えたとたんに結果がおかしくなる場合、絶対圧/ゲージ圧の混同が原因かもしれません。
- ソース項 $S_\phi$:暖められた空気が上に昇る——なぜでしょう? 周囲より軽く(密度が低く)なったから、浮力で押し上げられるのです。この浮力はソース項として方程式に追加されます。他にも、ガスコンロの炎で化学反応熱が発生する、工場の電磁ポンプで金属溶湯にローレンツ力がかかる…これらはすべて「外部から流体にエネルギーや力を注入する」作用であり、ソース項で表現します。ソース項を忘れるとどうなるか? 自然対流の解析で浮力を入れ忘れると、流体は一切動かない——冬の部屋で暖房をつけたのに暖かい空気が上に行かない、という物理的にありえない結果になります。
仮定条件と適用限界
- 連続体仮定:クヌッセン数 Kn < 0.01(分子平均自由行程 ≪ 代表長さ)で成立
- ニュートン流体仮定:せん断応力と歪み速度が線形関係(非ニュートン流体では粘度モデルが必要)
- 非圧縮性仮定(Ma < 0.3の場合):密度を一定として扱う。マッハ数0.3以上では圧縮性効果を考慮
- ブシネスク近似(自然対流):密度変化を浮力項のみで考慮し、他の項では一定密度を使用
- 適用外ケース:希薄気体(Kn > 0.1)、超音速・極超音速流れ(衝撃波捕捉が必要)、自由表面流れ(VOF/Level Set等が必要)
次元解析と単位系
| 変数 | SI単位 | 注意点・換算メモ |
|---|---|---|
| 速度 $u$ | m/s | 入口条件で体積流量から換算する際、断面積の単位に注意 |
| 圧力 $p$ | Pa | ゲージ圧と絶対圧の区別。圧縮性解析では絶対圧を使用 |
| 密度 $\rho$ | kg/m³ | 空気: 約1.225 kg/m³@20°C、水: 約998 kg/m³@20°C |
| 粘性係数 $\mu$ | Pa·s | 動粘性係数 $\nu = \mu/\rho$ [m²/s] との混同に注意 |
| レイノルズ数 $Re$ | 無次元 | $Re = \rho u L / \mu$。層流/乱流遷移の判定指標 |
| CFL数 | 無次元 | $CFL = u \Delta t / \Delta x$。時間刻みの安定性に直結 |
数値解法と実装
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)を使う。問題は「テーブルの格子点が少なすぎると補間誤差が大きく、多すぎるとメモリと読み込み時間が増える」トレードオフだ。衝撃波が通過する高温高圧域にテーブルの密な格子を集中させ、穏やかな領域には粗い格子を使う「適応テーブル」が効率的だが、その設計自体が一つの技術ノウハウになっている。
風上差分(Upwind)
1次風上: 数値拡散が大きいが安定。2次風上: 精度向上するが振動のリスク。高レイノルズ数流れでは必須。
中心差分(Central Differencing)
2次精度だが、Pe数 > 2で数値振動が発生。低レイノルズ数の拡散支配流れに適する。
TVDスキーム(MUSCL、QUICK等)
リミッタ関数により数値振動を抑制しつつ高精度を維持。衝撃波や急勾配の捕捉に有効。
有限体積法 vs 有限要素法
FVM: 保存則を自然に満足。CFDの主流。FEM: 複雑形状・マルチフィジックスに有利。SPH等のメッシュフリー法も発展中。
CFL条件(クーラン数)
陽解法: CFL ≤ 1が安定条件。陰解法: CFL > 1でも安定だが、精度と反復回数に影響。LES: CFL ≈ 1を推奨。物理的意味: 1タイムステップで情報が1セル以上進まないこと。
残差モニタリング
連続の式・運動量・エネルギーの各残差が3〜4桁低下で収束と判断。質量保存の残差は特に重要。
緩和係数
圧力: 0.2〜0.3、速度: 0.5〜0.7が一般的な初期値。発散する場合は緩和係数を下げる。収束後は上げて加速。
非定常計算の内部反復
各タイムステップ内で定常解に収束するまで反復。内部反復数: 5〜20回が目安。残差がタイムステップ間で変動する場合は時間刻みを見直す。
SIMPLE法のたとえ
SIMPLE法は「交互に調整する」手法。まず速度を仮に求め(予測ステップ)、その速度で質量保存が満たされるよう圧力を補正し(補正ステップ)、補正された圧力で速度を修正する——このキャッチボールを繰り返して正解に近づく。2人で棚を水平にする作業に似ている:片方が高さを合わせ、もう片方がバランスを取り、これを交互に繰り返す。
風上差分のたとえ
風上差分は「川の流れに立って上流の情報を重視する」手法。川の中にいる人が下流を見ても水の出所は分からない——上流の情報が下流を決めるという物理を反映した離散化手法。精度は1次だが、流れの方向を正しく捕捉するため安定性が高い。
実践ガイド
超臨界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の解析フローは「水族館の水槽を設計する」感覚で考えてみてください。まず水槽の形を決め(計算領域)、水の入り口と出口を設計し(境界条件)、ポンプの強さを設定する(流量条件)。魚がどう泳ぐか見たければ粒子追跡。水温が気になれば熱解析を追加。…どうですか? 意外と直感的ではありませんか?
初心者が陥りやすい落とし穴
「y+って何ですか?」——この質問が出たら要注意。壁面近くのメッシュ解像度を表すy+は、CFDの結果精度を左右する最重要パラメータの1つ。壁関数を使うなら30〜300、壁を完全に解像するなら1以下。これを確認せずに「摩擦抵抗が合わない!」と悩む人がとても多い。体温計の先端をちゃんと脇に挟まないで「熱がないのに37.5度って出た!」と慌てているようなものです。
境界条件の考え方
入口の境界条件は「蛇口をどのくらい開けるか」と同じ。ちょろちょろ出すか(低速)、全開にするか(高速)。でもCFDではもう一つ——「どのくらい暴れた水を出すか」(乱流強度)も指定する必要があります。蛇口の開け方を間違えると、下流のシンク全体の流れが変わりますよね? CFDでも入口条件のミスは下流全体に波及します。
ソフトウェア比較
実在気体対応ツール比較
実在気体をサポートしている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)を追加できるか」を確認することが重要だ。特に新しい推進剤や特殊ガス混合物を扱う研究では、デフォルトのデータベースでは対応できないケースが出てくる。
選定で最も重要な3つの問い
- 「何を解くか」:実在気体効果に必要な物理モデル・要素タイプが対応しているか。例えば、流体ではLES対応の有無、構造では接触・大変形の対応能力が差になる。
- 「誰が使うか」:初心者チームならGUIが充実したツール、経験者ならスクリプト駆動の柔軟なツールが適する。自動車のAT車(GUI)とMT車(スクリプト)の違いに似ている。
- 「どこまで拡張するか」:将来の解析規模拡大(HPC対応)、他部門への展開、他ツールとの連携を見据えた選択が長期的なコスト削減につながる。
先端技術
超臨界噴射の最前線
実在気体効果の研究で今注目されているテーマは何ですか?
超臨界噴射(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$が負になってしまうケースがあります。多くはテーブルの補間範囲外にはみ出したか、初期条件が状態方程式の「物理的に意味のない領域」に入ってしまったことが原因です。対策としては状態テーブルの範囲を広げるか、初期条件を相図で確認して気液二相領域を避けることが有効です。
「解析が合わない」と思ったら
- まず深呼吸——焦って設定をランダムに変えると、問題がさらに複雑になる
- 最小再現ケースを作る——実在気体効果の問題を最も単純な形で再現する。「引き算のデバッグ」が最も効率的
- 1つだけ変えて再実行——複数の変更を同時に行うと、何が効いたか分からなくなる。科学実験と同じ「対照実験」の原則
- 物理に立ち返る——計算結果が「重力に逆らって物が浮く」ような非物理的な結果なら、入力データの根本的な間違いを疑う
なった
詳しく
報告