实际气体效应

分类:流体分析(CFD) | 综合版 2026-04-06
CAE visualization for real gas effects theory - technical simulation diagram
实际气体效应

实际气体效应的理论基础

概述

🧑‍🎓

老师,「实际气体效应」就是说理想气体的假设不成立的情况吧?什么情况下会成为问题呢?


🎓

大致分为两种情况。一种是 高温 下气体分子发生振动激发、解离、电离的情况(极超音速再入、等离子体等)。另一种是 高压、低温 下分子间力或分子体积不可忽视的情况(超临界CO₂循环、LNG工艺等)。两种情况下 $pv = RT$ 理想气体状态方程的偏离都是本质的。


🧑‍🎓

用压缩因子 $Z$ 来衡量偏离,对吧?


🎓

完全同意。压缩因子定义为


$$ Z = \frac{pv}{RT} $$

对于理想气体,$Z = 1$。高压天然气时 $Z \approx 0.8$,超临界CO₂时 $Z$ 可以降到0.2-0.5。


状态方程(EOS)

🧑‍🎓

除了理想气体,还要使用什么样的状态方程呢?


🎓

我们来看一下代表性的EOS(状态方程)。


van der Waals方程:

$$ \left(p + \frac{a}{v^2}\right)(v - b) = RT $$

其中 $a$ 表示分子间引力,$b$ 表示排除体积。这在历史上很重要,但精度有限。实际应用中广泛使用Peng-Robinson(PR)和Soave-Redlich-Kwong(SRK)。


Peng-Robinson EOS:

$$ p = \frac{RT}{v - b} - \frac{a(T)}{v(v+b) + b(v-b)} $$

$$ a(T) = 0.45724 \frac{R^2 T_c^2}{p_c} \alpha(T), \quad b = 0.07780 \frac{RT_c}{p_c} $$

$$ \alpha(T) = \left[1 + \kappa\left(1 - \sqrt{T/T_c}\right)\right]^2 $$

其中 $\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 KO₂振动激发$\gamma$ 下降
2500-4000 KO₂解离O原子生成
4000-9000 KN₂解离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$,需要从


$$ e(T, \rho) = e_{ideal}(T) + e_{departure}(T, \rho) $$

用Newton法求解温度 $T$。其中 $e_{departure}$ 是从EOS导出的偏离函数(departure function),对于PR-EOS为


$$ e_{dep} = \frac{a - T \frac{da}{dT}}{2\sqrt{2}b} \ln\left(\frac{v + (1+\sqrt{2})b}{v + (1-\sqrt{2})b}\right) $$

这种迭代计算需要执行(单元数×时间步数)次,所以计算成本增加。


🧑‍🎓

相比理想气体,计算会慢多少呢?


🎓

一般来说2-5倍左右。EOS计算成为主要瓶颈,所以实务中普遍采用查表法(look-up table)加速。事先计算温度和压力的二维查表,运行时只需插值。


超临界流体的数值困难

🧑‍🎓

超临界状态在数值上有什么困难呢?


🎓

临界点附近热力学特性变化剧烈。定压比热 $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格式中,平均音速用


$$ \tilde{a}^2 = \frac{\tilde{h} - \tilde{q}^2/2}{\tilde{\Gamma}} $$

其中采用广义的 $\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处理的注意事项。


项目设置备注
EOSSpan-Wagner(CO₂专用高精度EOS)当需要高精度时PR-EOS可能不够
物性表REFPROP或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用蒸发-凝聚模型(Lee model)和PR-EOS结合可以粗略计算,但要精确处理多成分LNG的相平衡还是CFX更强。CFX内置多成分多相相平衡计算。


高温气体的验证事例

🧑‍🎓

高温实际气体的验证用什么实验数据?


🎓

代表性的基准案例如下。


  • 正常冲击波温度:用理想气体/平衡/非平衡模型比较冲击波前后温度、密度比(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的实务——查表会让计算时间剧变

要精确处理实际气体效应,需要用NIST流体数据库或化学平衡表代替理想气体状态方程(PV=nRT)。但这些查表操作计算成本很高,每个时间步对压力、温度、焓进行三变量插值,会导致理想气体计算的3~5倍计算时间。实务中常用「只在高温高压区用实际气体查表,其他区域用理想气体近似」的混合方法。液体火箭推进剂(液态氢、液态氧)喷射计算中,这种切换边界的设定会大幅影响结果精度。

实际气体效应的软件比较

实际气体支持工具比较

🧑‍🎓

哪些CFD工具支持实际气体?


🎓

来比较一下主要工具的实际气体支持情况。


工具立方型EOS查表法多成分混合相变化化学反应
ANSYS FluentPR, SRKNIST RGP混合律Lee模型Species Transport
ANSYS CFXPR, SRK, RKCFX-RGP详细混合律相平衡反应流
STAR-CCM+PR, SRK查表多成分Flash计算详细化学
OpenFOAMPR(扩展版)自定义基础有限reactingFoam
COMSOLPR, SRK等查表混合律相变化模型反应工程
CoolProp多种EOS-GERG-2008相平衡无(物性库)
🧑‍🎓

CoolProp是CFD工具吗?


🎓

不是CFD工具,而是开源热力学物性库。可从Python/C++调用,200多种流体的物性能高精度计算。REFPROP是付费的,CoolProp免费。前处理生成RGP表的用途很理想。


ANSYS Fluent的实际气体设置

🧑‍🎓

Fluent中使用实际气体的具体步骤请讲一下。


🎓

有两种方法。


方法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模型和PR-EOS,另外还有IAPWS-IF97(水蒸气专用高精度EOS)。查表法也能通过Field Function灵活实现。


特别是在LNG领域,Multiphase + Equation of State结合能做包括气液平衡的两相流计算。内置Flash计算(压力-焓闪蒸)也有用于LNG的BOG预测实绩。


🧑‍🎓

各工具的专长很明显呢。


🎓

总结就是,超临界CO₂用Fluent或CFX的RGP表,LNG多成分用STAR-CCM+或CFX,高温解离空气用专用代码(DPLR, hy2Foam)。


咖啡间谍 闲话

实际气体求解器的「数据库依赖」问题

处理实际气体效应的CFD求解器将热力学特性(比热、焓、熵)作为温度·压力函数表保存。这个表的数据来源是NASA的Gordon-McBride数据库还是JANAF表,会导致高温区(3000K以上)的计算值略有差异。选择商用工具时,「内置数据库来自哪个来源」「用户能否添加自定义物质」很重要。特别是在研究新推进剂或特殊气体混合物时,默认数据库往往无法应对,这时数据库的可扩展性就成为关键。

实际气体效应的前沿研究

超临界喷射的最前线

🧑‍🎓

实际气体效应研究中现在关注什么主题?


🎓

超临界喷射(supercritical injection)在空间推进和燃气涡轮都很活跃。液体火箭发动机中燃烧室压力超过临界压力,燃料喷射在超临界状态进行。此时表面张力变成零,传统液滴模型不适用。


🧑‍🎓

不是液滴,而是密度不同的气体混合的概念吧?


🎓

完全同意。超临界喷射需当成diffuse interface(扩散界面)处理。具体方法有以下几种。


  • 多物种实际气体方法:每个化学种应用PR-EOS和混合律
  • Phase-field法:用Cahn-Hilliard方程追踪界面
  • Entropy-stable DG法:高阶精度、物理上一致的格式

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. 物理约束神经网络:用NN表示Helmholtz自由能的函数形式,约束条件包含热力学一致性(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刻度)
  • 减小伪时间步长(松弛因子设到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}$ 文献值
  • 做敏感性分析($\pm$0.05变化如何影响结果)
  • 如可能,用相平衡实验数据验证EOS预测精度

🧑‍🎓

实际气体故障排除需要数值方法和热力学两方面知识呢。


🎓

是的。不仅CFD设置,还要理解状态方程的适用范围和物性数据品质,否则会得到看似正确其实错误的结果。


咖啡间谍 闲话

实际气体计算的「音速变虚数」bug为何发生

实际气体模型计算时偶见「音速变虚数(负值开方)导致计算落败」的错误。理想气体音速 $a = \sqrt{\gamma RT}$ 恒为正,但实际气体从状态方程偏微分求音速时,数值上$(\partial P/\partial \rho)_s$可能为负。多数情况是表的插值超出范围或初始条件进入状态方程「物理上无意义的区域」。对策是扩大状态表范围或确认初始条件在气液两相区之外。

相关模拟器

用这个领域的互动模拟器感受理论

模拟器列表

相关领域

热分析验证和确认、品质保证结构分析
这篇文章的评价
感谢您的回答!
有用
更详细
举报
错误
有用
0
更详细
0
举报错误
0
由NovaSolver贡献者撰写
匿名工程师和AI — 网站地图
查看个人资料