首页/文章/ 详情

FLUENT气体稳压罐模拟案例之二

4天前浏览112

正文共: 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

来源:仿真与工程
ICEM CFDFluent动网格UDF储能管道
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2025-04-15
最近编辑:4天前
余花生
签名征集中
获赞 217粉丝 458文章 325课程 0
点赞
收藏
作者推荐

FLUENT车用液氢气瓶快充模拟

正文共: 1472字 16图 预计阅读时间: 4分钟1 前言低温容器加注过程与一般的常温液体容器加注有许多不同之处。低温液体受热容易膨胀,而液体具有不可压缩性,所以气瓶必须留出一定的气相空间,使介质受热后有膨胀空间。如果加注过量,气相空间不足,随着外部热量进入气瓶,瓶内的压力将急剧升高。一旦气瓶内的压力大于气瓶的爆破压力,则会造成安全事故。因此,须确保气瓶加注完成后留有一定的气相空间,通常会在瓶内设置防过充装置,如溢流阀和气包装置等,确保气瓶的安全充装[1]。今天,我们根据参考文献研究一个带有防过充装置的液氢瓶加载过程。如下图所示,气包防过充装置由防过充筒体和防过充封头组成,与后封头焊为一体,形成一个独立的腔室,其容积为气瓶容积的 10%,且在防过充筒体底部开有小孔。其作用原理是首次充装内筒腔室满液时,由于气包防过充筒底部开孔孔径很小,在短时间内流入气包的液体量很少,从而保留一定的气相安全空间。加注完成后随着时间延长,内筒腔室内液体会通过小孔逐渐流入气包内,达到内外液位平衡,从而确保气瓶的气相安全空间。2 建模与网格创建如下的三维模型,考虑到对称性,我们只取一半体积,大大减少计算量。注意,建模时,我们将防过充装置创建为零厚度壁面结构,防过充装置和气瓶内部分别属于两个流体域,通过开孔进行联通(interior),开孔尺寸1mm。在fluent meshing模块划分多面体网格,节点数约为36.7万,最小正交质量0.546。另外,由于参考文献缺少了气瓶的具体尺寸参数,因此本案例的尺寸为自行定义,比如气瓶的容积和防过充装置的尺寸,这会影响计算结果的具体数值,但是不影响总体趋势。3 边界条件与求解设置由于考虑到气体的压缩,因此氢气采用理想气体模型。文献采用Lee模型模拟了液氢的相变,相变因子均设置为0.1。采用VOF模型模拟气液两相流,这里需要特别指出一点,由于在局部位置可能会产生很大的CFL数,造成VOF迭代计算更新CFL数时停顿很久,因此本案例我们将体积分数参数设置为隐式格式(Implicit),这样,在较大的时间步长也具有较快的计算速度。本案例采用如下的UDF定义了饱和温度和饱和压力的关系,这一点参考文献没有明确指出。#include &quot;udf.h&quot;#include &quot;math.h&quot;DEFINE_PROPERTY(saturation,c,t){real p_ab;real p_op=RP_Get_Real(&quot;operating-pressure&quot;);real t_sat;p_ab=p_op+C_P(c,t);t_sat=3.58966*pow(log10(p_ab),2)-28.44835*log10(p_ab)+72.80583;C_UDMI(c,t,0)=t_sat;return t_sat;} 根据参考文献,我们将加注流量设置为0.05kg/s(注意,由于模型是1/2的,因此流量值也应为1/2,即0.025kg/s),加注温度20K。本案例需要考虑重力,并且参考压力我们设置为标准大气压。采用如下值进行初始化,采用patch方式设置初始充装率。创建两个监视器,分别监控气瓶和过程装置的压差以及防过充装置内液体容积的动态变化。瞬态求解,时间步长取0.005s。注意,本案例的工况总计算时间耗时一周多。4 计算结果我们先看一下气瓶和过程装置的压差以及防过充装置内液体容积的动态曲线,趋势和参考文献一致。再看一下不同时刻气瓶内压力云图和液氢体积分数云图,趋势和参考文献一致。5s压力和体积分数150s压力和体积分数455s压力和体积分数参考文献[1] 车用液氢气瓶快充过程数值模拟来源:仿真与工程

未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈