PyroSim入门教程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
PyroSim入门教程
PyroSim入门教程
1.2 建立网格
选择Model > Edit Grid ... 在跳出的面板上点New。
把网格的边界设置为Min X = 0,Max X = 10,Min Y = 0,Max Y = 10,Min Z = 0,Max Z = 10。
同时把网格数量设为X cells = 20,Y cells = 20,Z cells = 20。
如下图所示:
在FDS里面,基本形状只能是长方体的(尽管通过长方体的组合,能模拟复杂
的几何形状)。
网格也只能是正交网格(点确定后可以看到)。
这个例子是模拟风洞内的燃烧,风洞尺寸为10米*10米*10米。
每边划分成20个网格,总共有8000个网格。
在FDS中,由于求解器的特殊要求,每边划分的单元数通常要求是2,3或5的倍数。
点击OK后,网格就生成了,如下图所示:
1.3 定义粒子
这里的粒子并不是通常CFD软件里的拉格朗日粒子,只是为了后处理方便而定义的示踪粒子。
选择Model > Edit Particles ...,然后点New。
不要选
Particle Have Mass,这样粒子没有质量,仅是示踪粒子。
选中Color Particles During Animation,使用默认的颜色,红色。
这样在结果中会有红色的示踪粒子。
1.4 建立面
实际上,在建立网格的时候,我们已经得到了计算模型。
这里的面是用来定义边界条件。
要注意的是,这里仅仅定义边界条件,而没有给模型中的面指定边界条件。
也就是说只定义边界上的物理条件,但并没有和模型中的边界联系起来。
定义入口边界。
Model > Edit Surface Properties ...,点New。
Surface name是BLOW,使用INERT作为模板。
选择surface type为"Fan/Wind”。
然后下面会有很多选项。
系统定义的表面类型都有明确的物理意义,还是比较好懂的。
Fan/Wind里可以定义入口空气的温度和速度。
为了便于区分,把Color选成蓝色。
Air Temperature = 20 C,Specify Normal Velocity = -1.0 m/s。
-1.0 m/s 代表气流速度为1m/s,方向为进入计算域(+1.0m/s为出)。
第三个标签下,选中Emit Particles,Particle Type = PART。
最后点OK。
各步骤的截图如下:
在这里例子里面,只需要定义BLOW这一个面,其余的面可以用系统定义的来
表示。
1.5 定义边界条件
这里是真正指定表面的边界条件。
定义入口。
选择Model > New Vent ...,在Specification标签下,Description = Vent Blow,Type = BLOW,Lies in the plane X = 0.0,Min Y = 3,Max Y = 7,Min Z = 3,Max Z = 7。
在X=0平面上,有4*4的范围为BLOW的边界条件。
点OK,离开界面。
具体操作和操作后的结果为:
定义出口。
步骤和上面的基本一样,Model > New Vent ... > New。
Description = Vent Open,Type = Open,Lies in Plane X = 10,Min Y = 3,Max Y = 7,Min Z =3,Min Z = 7。
在和入口相对的面上,有一个4*4的通风口。
1.6 定义切面
FDS使用LES模型模拟湍流,会产生大量的瞬时数据。
FDS里面需要定义切
面,只有切面数据会保存。
Output > Slices ...。
XYZ plane = Y,Plane value = 5,Gas Phase Quantity = Velocity,Use Vector = No。
OK。
在Y=5平面上,保存速度值,但是不保存矢量。
1.9 检查结果
FDS算完60秒后,会自动弹出SmokeView窗口。
在上面点右键Load/Unload > Slice File > VELOCITY > *Y=5.0。
会显示前面定义的切面上的速度云图。
在上面点右键Load/Unload > Particle file > *SMOKE/WATER。
会显示粒子轨迹。
至此,我们已经完成了FDS里面的第一个练习。
下面可以修改上面的例子,做一个隧道内火灾的模拟。
2. 隧道火灾模拟
隧道内的火灾模拟是一个很常见的FDS应用。
如果在隧道内发生火灾,如果通风系统没有工作,燃烧产生的烟会向两边对称扩散,引起能见度的下降,和对隧道
内人员的健康威胁。
通常,需要在隧道入口装风扇,把烟吹向出口,这样烟雾就不会向入口扩散。
烟雾向上游的扩散成为是逆流(back layer flow)。
入口风速大,逆流长度就小,或者没有逆流;入口风速小,逆流长度就长。
逆流长度刚好为零的入口风速成为是临界速度(critical velocity)。
FDS广泛使用于逆流的研究。
这里要做的是一个60*16*6的隧道。
入口速度是3m/s,入口温度是25C。
在底部有一块8*8的燃烧区域,火灾大小为100MW。
为了简化问题没有模拟过程,而是直接把100兆瓦的热量直接分布在64平方米的面积上,折合1562.5kw/m2。
2.1 继续前面的模型
下面要修改前面建立的模型。
如果模型没有打开,可以打开保存的*.psm或者*.data文件。
2.2 建立网格
在左边的树形目录上,双击Grids > GRID。
在弹出的面板上,修改Max X = 60,Max Y = 16,Max Z = 6,X cells = 120,Y cells = 32,Z cells = 12。
OK。
点OK后,可能模型不在屏幕中央,可以点击工具栏上右数倒数第二个图标(Reset View to All Visible Objects)重置显示。
步骤和结果如下所示:
2.3 建立面
这里需要建立两个面。
第一个面是入口,修改前面的BLOW条件;第二个面是FIRE,需要创建。
在左边双击Surfaces > BLOW。
Properties > Air Temperature = 25 C。
Air Flow > Specify Normal Velocity = -3 m/s。
Model > Edit Surface Properties ... > New...,Surface Name = FIRE,OK。
Surface Type = Non-Flammable Solid。
Boundary Conditions > Boundary Types = Fixed Heat Flux,Heat Flux = 1562.5,OK。
2.4 定义边界条件
按照上面的描述,有三个边界条件需要定义。
双击Model > Vent Blow。
把整个X=0平面设成是入口。
Min Y = 0,Max Y = 16,Min Z = 0,Max Z = 6。
OK。
双击Model > Vent Open。
把整个X=60平面设成是出口。
Lies in the plane X = 60,Min Y = 0,Max Y = 16,Min Z = 0,Max Z = 6。
OK。
新建一个Fire Region边界条件,在主菜单上选择:Model > New Vent。
Description = Vent Fire,Type = FIRE,Lies in the plane Z = 0,Min X = 26,Max X = 34,Min Y = 4,Max Y = 12。
OK。
过程及结果如下:
2.5 定义切面
在Y=8平面定义一个切面。
Output > Slices ...。
把Plane Value改成8。
在Y=8平面定义一个新的切面,来显示温度。
因为我们没有模拟燃烧,根据温度场可以大概知道烟雾的分布。
XYZ Plane = Y,Plane Value = 8,Gas Phase Quantity = TEMPERATURE,Use Vector? = No。
2.6 设定模拟参数
模拟的总时长为60秒。
FDS > Simulation Parameters ...。
Simulation Title = Tunnel Fire,Specify Duration = 60,Initial Time Step = 0.1。
OK。
2.7 运行FDS
FDS > Run FDS ...。
先保存一个合适的*.data文件。
然后求解器会启动。
求解过程大约为15分钟(在我的电脑上)。
求解结束后,会自动跳出SmokeView。
1.9 检查结果
在自动弹出SmokeView窗口上面点右键Load/Unload > Slice File > TEMPERATURE > *Y=8.0。
会显示前面定义的切面上的温度云图。
1.10 分析
在上面的温度云图中,我们可以看到,在入口速度为3m/s的时候,隧道内有非常显著的回流。
也就是说3m/s的入口速度,不足以阻止烟气向上游扩散。
有兴趣的朋友可以增加入口速度,看看这个问题的临界速度是多少。
我试出的临界速度是4.5m/s左右。
另外一个问题是这个结果准确吗,理论上来说LES和k-ε相比,有很大的优越性,但是由于FDS使用是有限差分的方法,而且没有检查收敛性(explicit),通常情况下只能作为参考。
比如这个例子,有兴趣的朋友,可以用Fluent/CFX建模算一下,Fluent/CFX给出的临界速度应该在2.7m/s左右。
差别还是相当大的。
另外根据我的测试(和一组条件不同的实验数据的比较),基于k-ε的Fluent/CFX结果通常会稍稍低估临界速度。
但是总体而言,还是Fluent/CFX的结果更加可信。
值得提醒的是,用Fluent/CFX的时候,一定要记得加上浮力修正。