CFD 仿真中如何设定流体压力

2016年 12月 30日

众所周知,在 CFD 仿真中常涉及两种压力:绝对压力和相对压力。通过实验测量流体中压力的方法有许多种。在建立 CFD 模型时,正确地设定压力对定义边界条件和定义材料特性非常重要。

今天,我们将解释相对压力和绝对压力之间的区别,讨论 COMSOL Multiphysics® 软件为什么使用相对压力求解 CFD 问题,以及在模拟中什么时候使用不同定义的压力。

绝对压力和相对压力有什么区别?

在流体力学中,压力是指流体中单位面积表面上所承受的力。使用 COMSOL Multiphysics,我们可以通过求解流体流动的控制方程,纳维-斯托克斯方程,从而确定描述流动的速度和压力场。

CFD 问题中涉及的压力,通常主要有两种:绝对压力和相对压力。

绝对压力

绝对压力是指以绝对真空为基准直接测量的压力,即流体的真实压力。例如,如果我们使用气压计测量某一日的室外压力,会看到气压计的绝对读数大约为 1 个大气压或 101.325kPa,该值与海平面上的大气压相等。绝对压力为零代表真空。

气压计,用于测量绝对压力。
使用气压计测量从 950mbar 到 1050mbar 的室外压力(1 mbar = 100 Pa)。图片来自 Langspeed,通过Wikimedia CommonsCC BY-SA 3.0下获得许可。

相对压力

相对压力是指相对于参考压力的流体压力。表压力是相对于环境压力测得的压力,即以环境压力为参考的相对压力。通常,相对压力用于表征封闭系统中的压力水平。我们可以使用压力表测量相对压力,以将内部压力与周围压力相关联。

A manometer measuring relative pressure.
压力表,在压力控制站测量相对压力。注意刻度盘如何从零开始,零刻度代表系统压力等于参考压力水平。图片由 Holmium 提供-自己的作品。通过Wikimedia CommonsCC BY-SA 3.0下获得许可。

绝对压力和相对压力的关系可表示如下:

PA=p+pref

如果使用真空作为参考压力,则绝对压力和相对压力相等。大多数情况下,参考压力设置为大气压,通常是环境压力。

接下来,我们来看一下如何在 COMSOL Multiphysics 中描述这些压力定义。当我们计算一个流体流动问题的解时,COMSOL® 软件首先会求解速度分量(u,v,w)和相对压力(p)。在后文中,我们将解释,通过使用相对压力(而不是绝对压力)作为因变量,可以在建模中提高压力描述的准确性。然后,我们可以使用相对压力值作为模型的初始值和边界条件,下面,我们将举例说明。

在 COMSOL Multiphysics® 中表征流体压力

我们来看一个如何在 COMSOL Multiphysics 模型中恰当地将相对压力和绝对压力作为变量的示例。为了演示这些概念,我们使用一个简单的模型来说明。在模型中,空气以 1m/s 的入口速度流入通道并流出到绝对压力为 1 个大气压的环境中。除了我们假设两个对称的短入口段外,模型顶部和底部的边界均为无滑移通道壁。设置入口段是为了避免不一致的边界条件。(如果我们在防滑边界附近定义一个笔直的入口速度曲线,就会出现不一致的边界条件。)

空气流通的通道
有空气流通的通道示意图。

在此模型中,相对压力的变量名称为 p,绝对压力的变量名称为 spf.pA。在层流 接口设置中,我们看到要求解的因变量是速度分量(u,v,w)和相对压力(p)。

因变量设置窗口
因变量设置窗口。

在下图中,我们可以看到,参考压力水平默认设置为 1[atm]。该参考压力水平用于计算绝对压力:spf.pA = p + spf.pref。

我们还将可压缩性设置为弱可压缩流,这意味着空气的密度取决于温度和参考压力。要了解不同可压缩性设置的更多信息,请参阅上一篇博客文章

COMSOL Multiphysics 中可压缩性和参考压力的设置。
可压缩性和参考压力设置。

现在,我们可以指定边界条件。在入口处,将法向速度设置为 1m/s。对于初始条件和出口边界条件,由于使用默认设置,因此需要输入相对压力。即,使用一个参考压力。当加上出口条件时,我们看到相对压力的默认值为 p=0,相当于绝对压力等于默认的参考压力为 1 个大气压。

COMSOL Multiphysics中的“设置”窗口显示了初始边界条件的相对压力。
COMSOL Multiphysics 中的“设置”窗口显示了边界条件的相对压力。

设置窗口显示了初始条件(左)和边界(右)条件的相对压力。

到这里,你可能会想知道:为什么 COMSOL® 软件计算绝对压力 spf.pA 变量?这是因为在计算可压缩流体的密度时,软件使用的是绝对压力。例如,如果我们查看通道中空气的材料属性,将看到模型使用理想气体定律定义了密度,其中 pA 是绝对压力,T是温度。由于理想气体定律是根据绝对压力计算得出的,因此我们必须将参考压力加上相对压力(p)才能计算出密度。但是,在这种情况下,相对压力仅占总压力的一小部分(0.00025%,详请参见下文),因此我们也可以使用参考压力来计算密度。这也是我们使用弱可压缩流 选项时得到的密度。在压力变化较大的系统中,我们可以选择可压缩流体 选项。

Screenshot showing how to define density in COMSOL Multiphysics.
在设置窗口中使用理想气体定律定义密度。

现在,我们已经定义了问题的边界条件,接下来可以计算解并查看带流线的速度分布图。

描述速度分布的 COMSOL Multiphysics 模型。
带有流线的速度剖面图和穿过通道的矢量流向图。

我们还可以查看沿入口的压力曲线(沿 y 轴在垂直方向的左侧边界)。在下图中,我们可以看到,与数量级为 1·105Pa 的参考压力相比,沿入口的压力变化约为 1 帕的 1/10。这意味着参考压力比入口压力变化约大一百万倍!

相对压力图
沿垂直入口边界的相对压力。

使用相对压力求解 CFD 问题

在 COMSOL Multiphysics 中求解流体流动问题的默认方法是将相对压力作为因变量,并在需要绝对压力时添加参考压力。例如,计算流体的密度。这提高了参考压力周围压力场波动性描述和压力场梯度描述的准确性。

我们继续以之前的通道模型为例并计算压降。使用线平均值 特征评估入口处的相对压力,将确定压力约为 p入口=0.26 Pa。

现在,假设我们使用绝对压力求解了问题。绝对入口压力为 101,325.26 Pa,绝对出口压力为 101,325.00 Pa。入口和出口之间压力场的相对变化为 0.000253814%。如前文入口压力图所示,入口的变化甚至更小:仅为绝对压力的百万分之一。当求解方程时,这是一个很小的相对变化。

由于我们是用数值方法解决这个问题,因此我们是在近似实际压力场。每个点都做了定义,并在相对较少的点上定义了数值近似。由于截断和内插误差,我们引入了数值误差。此外,数值方程只能在给定的容差下求解。这都会导致压力场数值近似计算中的相对误差,它将干扰我们正在寻找的相对较小的波动。与使用绝对压力相比,通过使用参考压力,我们可以在压力场相对数值误差可行值的情况下更好地求解压力梯度和大气压附近的波动。

更改参考压力水平

综上,我们了解了为什么 COMSOL Multiphysics 软件使用相对压力来求解流体流动问题。我们还可以理解指定准确的参考压力水平的重要性。显然,在大气压周围工作的系统的参考压力水平为 1atm。对于非常高或低的压力系统,我们应使用与流体中压力相匹配的参考压力水平。

例如,在传统的白炽灯泡中,将在玻璃灯泡中注入低压氩气以防止灯丝氧化。在 COMSOL 案例库的教程模型中,我们看到参考压力水平发生变化以匹配该气体的压力(50 kPa)。在“初始值”部分中,相对压力设置为 p=0,对应 50kPa 绝对压力,由于更新的参考压力水平。

A light bulb model.
白织灯泡内氩气的自由对流的模拟。

对于压力非常低的系统,重要的是要检查流体是否仍可以视为连续体。我们可以计算 Knudsen 数,即平均自由程与设备长度尺度的比值,以确定该流动是否最好采用分子流物理场求解。

结语

在今天的文章中,我们解释了如何使用直接测量的压力描述系统的绝对压力,而使用相对压力描述相对于参考压力水平的压力。

为了提高压力场的数值精度,COMSOL Multiphysics 使用相对压力来求解 CFD 问题。这意味着应使用相对压力值定义初始条件和边界条件。但是,在计算气体密度时,将使用绝对压力,即将参考压力自动加到相对压力中。对于高压或低压系统,应更改参考压力水平以匹配系统中的平均压力。


评论 (16)

正在加载...
宇龙 牛
宇龙 牛
2023-05-03

请问在COMSOL中压力系数按照公式Cp=(p-p∞)/0.5*ρ∞*V∞^2的话应该如何定义?

Haoze Wang
Haoze Wang
2023-05-17 COMSOL 员工

您好,压力系数应当是仿真计算的结果而非输入条件,请参考案例:http://cn.comsol.com/model/flow-around-an-inclined-naca-0012-airfoil-14629

罗云 刘
罗云 刘
2023-05-30

您好 问下 为什么我在出口位置设置了定值压力,为什么计算完后压力值变化了呢?这是什么原因?

Haoze Wang
Haoze Wang
2023-06-30 COMSOL 员工

您好,建议您使用边界应力条件设置定值压力;使用出口条件时,边界处的边界应力与设置压力之间的关系请查看方程处。

稼源 邓
稼源 邓
2023-09-08

请问我想模拟CO2在水中释放时的压力,请问应该用哪几个模块

越 赵
越 赵
2023-09-12 COMSOL 员工

您好,模拟二氧化碳释放的话,应该涉及两相流问题,建议使用COMSOL的水平集模型来模拟该问题,可以参考:https://cn.comsol.com/model/rising-bubble-177

洪博 郑
洪博 郑
2023-10-08

通道内具有阻碍物是否只能用压力边界条件求解?已经尝试过速度入口边界,但结果不收敛,为何会这样呢?

Qihang Lin
Qihang Lin
2023-10-09 COMSOL 员工

并未规定只能够使用压力边界条件或速度边界条件。可能是速度过大导致的模型不收敛,建议加一个带平滑的阶跃函数让速度慢慢上升,看看能否收敛。若依旧未收敛,可以考虑联系技术支持寻求一些模型修改上的建议:https://cn.comsol.com/support

洪博 郑
洪博 郑
2023-10-09

谢谢您的回复!

乐 徐
乐 徐
2023-10-31

请问如何可以设置不同真空度下两物体之间的传热模型呢

Jianshen Li
Jianshen Li
2023-11-02 COMSOL 员工

“不同真空度下两物体之间的传热”是指两个物体放置在一个腔体内,考虑不同压力下的传热吗?如果仍然符合连续介质假设,可使用共轭传热接口,在流动接口下设置不同的参考压力以表示内部压力的差异,同时需考虑压力对流体密度、粘度、导热系数等参数的影响。

嘉伟 王
嘉伟 王
2024-02-21

请问comsol中,对于二维平面进行湍流稳态流场分析时,得出的结果中,计算处的压力是静压吗?如果是的话,二维的静压是如何定义的呢?

越 赵
越 赵
2024-03-05 COMSOL 员工

您好,求解的压力是流体的静压p,是相对压力,绝对压力=相对压力+参考压力,参考压力需要在湍流接口处设置。

李托夫斯基
李托夫斯基
2024-02-23

你好,请问comsol中可以设置一个封闭区域内,随z轴变化的初始压力值吗(即空间内各处初始压力值不同)?

Haoze Wang
Haoze Wang
2024-03-05 COMSOL 员工

您好,请参考案例“地热回灌”模型的多孔介质传热接口中初始值的设置方法,并应用于流场接口的压力初始值的设置中:https://cn.comsol.com/model/geothermal-doublet-29751

旭 杨
旭 杨
2024-03-28

请问Comsol 如何设置恒流速呢?恒压强呢?

浏览 COMSOL 博客