FLUENT气体稳压罐模拟案例之二
正文共: 3129字 5图 预计阅读时间: 8分钟
1 前言
稳压罐在工业管路上是较为常见的一个装置,顾名思义,稳压罐就是用来稳定管路介质压力的设备。介质在运行过程中可能由于某些瞬态造成压力不稳而产生波动,这种波动可能对上下游其他设备造成损害。稳压管本质上就是一个蓄能(储能)装置,当管路压力上升(能量增加)时,吸收能量;当管路压力下降时,释放能量,从而达到稳住管路压力的目的。严格上讲,稳压罐应该是一个具有自动调节能力的装置,比如通常的稳压罐会有一个弹性组件,可根据压力变化情况自动变形来实现缓冲稳压作用,这种通常用于液体介质的稳压。对于气体稳压罐,有时候可能相对简单一些,因为气体本身就是可压缩的,因此可以通过一个刚性容器来存储气体。也就是当管路气体压力增高时,气体被充装到稳压罐内,当管路气体压力降低时,稳压罐内的气体又会自动泄放到管路中,这种稳压方式利用气体自身的可压缩性,因此可以适用各种频率的压力波动,结构简单。之前我们针对这种稳压方式做了一个演示案例。今天,我们继续讨论一下带有弹性组件的稳压罐模拟,此时不再考虑气体的可压缩性,而单纯通过弹性组件来自动调节压力,这个模拟难度相对较大。首先,理想的模拟方法应该是把弹性组件一起建模,采用双向流固耦合,这所需的计算资源就非常大了。本案例,我们采用一种简化的处理方式,采用刚体运动模拟弹性组件的移动从而调节压力,这需要用到UDF技术,本案例采用的UDF与我们之前的泄压阀基本一致,做了些许修改,如果购买了之前案例代码的可以无需再购买本案例,我们免费为您修改代码。
2 建模与网格
在ICEM CFD创建如下两段二维平面管道模型,其中一段安装了稳压罐,另一端没有安装稳压罐,稳压罐通过一根小连接管连通到管道上,稳压管底部为弹性组件简化。划分四边形结构化网格,节点总数约为3.6万,最小正交质量1.0。
3 边界条件与求解设置
本案例采用默认空气,不需考虑可压缩性,采用常密度值即可。
管道入口为质量流量入口,我们采用UDF来定义流量,人为施加一个脉动流量,以产生一个压力波动,UDF代码如下。
#include "udf.h"
DEFINE_PROFILE(vel,thread,i)
{
real time=RP_Get_Real("flow-time");
face_t f;
begin_f_loop(f,thread)
{
if(time<=0.2)
{
F_PROFILE(f,thread,i)=0.2;
}
else if(time<=0.3)
{
F_PROFILE(f,thread,i)=0.2+(time-0.2)*4;
}
else if(time<=0.4)
{
F_PROFILE(f,thread,i)=0.6-(time-0.3)*4;
}
else
{
F_PROFILE(f,thread,i)=0.2;
}
}
end_f_loop(f,thread)
}
出口采用outlet-vent,阻力系数为100,这里重要用来增加管道的工作压力。
创建弹性组件刚体运动和两侧动网格,本案例我们采用layering动网格方法。
我们创建监视器,监测两段管道入口的压力变化情况。
瞬态求解,时间步长取0.0005s,注意对于本案例的网格和设置,采用更大的时间步长可能造成动网格负体积。
4 计算结果
首先,我们看一下两段管道的入口压力曲线,图中黑色曲线为安装了稳压罐的入口压力,可以明显看出在产生压力波动时有稳压罐的管道入口压力波动小于没有稳压罐的管道入口压力波动,缓冲值超过2500Pa,亦即约缓解了超过11%的压力波动幅度。
以上演示了带有弹性组件的稳压罐稳压效果,这种稳压罐受工作压力波动范围、稳压罐弹性组件特性等影响显著,感兴趣的读者可以继续做深入研究。
以下是本案例稳压罐弹性组件模拟UDF