Fire Dynamics Simulator

注:本文全文中标题展示语言均未进行编辑,为系统自动识别。除了一些 DOS 命令外全部为 FDS 语言,请不要因为标题展示而更换语言类型。

火灾仿真

原理

Fire modeling is the act of producing a tractable description (analytical/ numerical) of some aspects of fire and its consequences.

Fire modeling is based on:

  1. First principles of continuum mechanics (physical laws for conservation of mass, momentum, energy)
  2. And empirical information (correlations)

室内火灾的元素

  1. Fuels (fumishings & finishes)
  2. Natural ventilation openings
  3. Mechanical ventilation systems
  4. Enclosure boundaries
  5. Structural elements
  6. Operational elements
  7. Egress path compones
  8. Occupant
  9. Alarm initilating devices
  10. Alarm indicating devices
  11. Alarm system circuits
  12. Control panel
  13. Power supply
  14. Detection devices
  15. Discharge devices
  16. Distribution system
  17. Suppressant supply
  18. Smoke Zones
  19. Smoke barriers
  20. Smoke-control systems
  21. Smoke vents

FDS 模型

  • FDS 是计算流体动力学(CFD)模型;
  • FDS主要用于火灾中的烟气流动与热传递计算;
  • FDS只能用于低速(0.3马赫)流场的计算


作为解决消防工程火灾问题和研究火灾动力学和燃烧的基本工具,其可模拟如下现象:

  • 火灾生成热量和燃烧产物的低速运输过程
  • 气体和固体表面的辐射及对流换热
  • 固体燃料的热解
  • 火灾蔓延和火焰传播
  • 喷淋、感热探测器和感烟探测器的启动
  • 喷淋系统的喷洒运动及水对火的抑制。

FDS 假设

  • 低速流动:小于 0.3 马赫
  • 矩形网格
  • 指定热释放速率:此时计算精度为 80%~90%
  • 燃烧模型:混合分数模型,适合于燃料控制型火灾。通风控制型火灾计算精度不高。
  • 辐射模型:有限容积法求解辐射方程 RTE,远距离辐射计算精度较差。

FDS 输出

全局参数: 热释放速率、喷头及探测器的启动时间、通过开口和固体的质量流及能量流。

气体参数: 温度、速度、浓度、燃烧产物浓度、能见度、气压、单位体积的热释放速率、单位体积的水滴质量。

固体参数; 温度、热流量、燃烧率、单位面积的水滴质量。


开始上手 FDS

Notepad(记事本) / Pyrosim 等编辑 场景文件 进行前处理。
用 FDS 进行模拟计算,得出结果文件。
用 SmokeView / Excel / Origin / TecPlot 进行后处理。

模型模拟基本过程

Notepad(记事本) / Pyrosim 等编辑 场景文件 进行前处理。
编辑完成后,在 终端 中进入 场景文件 job_name.fds 所在的目录,运行 FDS。

这些均属于最基本的 DOS 命令。常用的列举在下面:

返回上级文件夹:

cd..

显示当前文件夹内的文件和文件夹:

dir

进入一个名为“FDS”的文件夹:

cd FDS

使用 FDS 进行模拟 job_name.fds 的文件:

fds job_name.fds

场景文件

场景文件应当包含下列信息:

  • 计算区域及网格大小
  • 建筑的几何形状
  • 火源设置
  • 边界条件
  • 输出控制


场景文件规范如下:

  • 场景文件应当为纯文本文件,对后缀名称没有要求。为了辨识可采用 job_name.fds 的命名格式。
  • 文件内容应当由描述场景的一系列命令组成,命令由一个或多个参数组成,命令和参数均要求使用大写字母。
  • 每个命令段落均由符号 “&” 开头,由符号“/”结尾。命令可占一行或多行。注释可使用中文。
  • 参数的值可为整数、浮点数、字符串和布尔代数(.TURE. 和 .FALSE.)。
  • 命令各参数及参数值之间可用空格或逗号隔开。注意区分全半角和中英文标点。
  • FDS 全部输入(场景)文件由命令 “HEAD” 开头,命令 “TAIL” 结束。文件中的其他命令无先后次序之分。


场景文件样例:

&HEAD CHID = 'test', TITLE = 'Sample File'/
&MESH IJK = 40, 30, 30, XB = 0, 4, 0, 3, 0, 3/
&TIME T_END = 30/ Simulate time
&SURF ID='FIRE'
HRRPUA = 50/
&OBST XB = 2, 3, 0, 1, 0, 1, SURF_ID = 'FIRE'/
&VENT XB = 3, 3, 0, 0, 0, 2, SURF_ID = 'OPEN'/
&TAIL/

基础命令

&HEAD 头文件
&HEAD CHID = "SAGA_workgroup", TITLE = "Sample file"/

(1)CHID
指定输出文件和文件夹的名称,要求为 40 字符内的合法文件字符。根据操作系统逻辑,这个名称不能包含空格,若有需要可使用“_”作为替换。如果不设置 CHID,则默认为“OUTPUT”。
(2)TITLE
指定场景的标题用于进一步描述场景,限制在 256 字符内。

&TAIL 代码结束
&TAIL/

用以标记文件的结尾。当程序读取到此命令时结束运行,若没有,则继续读取下一行。

&TIME 模拟时间
&TIME T_END = 10/

T_END 参数用以设置模拟持续的时间。如果不设置则默认为 1 秒。
若时间设置为 0,FDS 将只执行初始化任务,不进行模拟,这将生成一个模型文件供 Smokeview 进行校验输入参数用途。

&MESH 计算区域

计算区域(DOMAIN)由矩形区域(又名网格,MESH)构成。区域内被划分为多个矩形单元(CELL)。善用网格串联可避开复杂的环境设置。

坐标设置方法:
首先使用 XB 设置出矩形区域的一个范围。建立一个符合右手法则的三维空间直角坐标系,则 X,Y,Z 轴的交点为 (0, 0, 0)。
在立体三维坐标系中,用 XB 构建一个沿 X 正方向 5m,Y 正方向 3m,Z 正方向 4m 的封闭的矩形区域,即 (0, 0, 0) 到 (5, 3, 4)。
使用 IJK 参数,利用 I,J,K 对这个矩形区域(MESH) X,Y,Z 三个方向上进行划分,即 X 方向划分为 50 块,Y 方向划分为 30 块,Z 方向上划分 40 块,这样一块的边长即 1 分米。
在这之后设置物体等坐标均要注意与网格(MESH)相匹配。

&MESH IJK = 50, 30, 40, XB = 0, 5, 0, 3, 0, 4/

y 轴和 z 轴网格的数值应为 2l3m5n,具体如下:

2     3     4     5     6     8     9     10   12   15   16   18  20   24   25   27   30   32   36   40   45   48   50   54 60   64   72   75   80   81   90   96   100 108 120 125 128 135 144 150 160 162 180 192 200 216 225 240 243 250 256 270 288 300 320 324 360 375 384 400 405 432 450 480 486 500 512 540 576 600 625 640 648 675 720 729 750 768 800 810 864 900 960 972 1000 1024

&OBST 物体参数

OBST 组用于指定计算域内的障碍物。

(1) 使用 XB 设置物体的位置和尺寸大小。

&OBST XB = 1, 2, 2, 2.5, 0, 0.5/

(2)使用 COLORRGB 设置物体的颜色。

&OBST XB = 1, 2, 2, 2.5, 0, 0.5, COLOR = 'RED'/
&OBST XB = 1, 2, 2, 2.5, 0, 0.5, RGB = 255, 0, 0/

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是运用最广的颜色系统之一。
对颜色和 RGB 代码有疑惑的可以使用 新晴网 – RGB颜色值与十六进制颜色码转换工具

(3)使用 SURF_IDSURF_IDSSURF_ID6 参数设置物体的属性。
包括 FIRE 燃烧,BLOW 喷发,HOT 热,INERT 室温,COLD 冷。

SURF_ID:单一物体表面属性

&OBST XB = 2, 4, 1, 4, 0, 2, SURF_ID = 'FIRE'/

SURF_IDS = 'TOP', 'MIDDLE', 'BOTTOM':多重物体表面属性
使用该参数可描述一个物体的顶部、侧面以及底部的表面情况。
下面为顶部着火,侧面和底部为默认边界条件的情况(固定温度 20℃):

&OBST XB = 2, 4, 1, 4, 0, 2, SURF_ID = 'FIRE', 'INERT', 'INERT'/

SURF_ID6 = 'X1', 'X2', 'Y1', 'Y2', 'Z1', 'Z2':复合物体表面属性
使用该参数可描述一个物体设置的 XB 各个位置的情况。

&OBST XB = 2, 4, 1, 4, 0, 2, SURF_ID6 = 'FIRE', 'INERT', 'HOT' , 'COLD', 'BLOW', 'INERT'/

(4)使用 TRANSPARENCY 参数设置物体的透明度。
参考 Alpha 值,可设置 0 ~ 1 区间的小数。越小越透明。当且仅当使用了颜色参数时可用。

&OBST XB = 1, 2, 2, 3, 0, 1, COLOR = 'BRICK', TRANSPARENCY = 0.5/
&SURF 边界表面

SURF 是一个名称列表组,用于定义流域内或边界流域内所有实体表面或开口的结构。
若要单纯指定一个给定放热率(HRR)的火源,我们不需要指定其材料特性。特定的火灾可被建模为从固体表面或通风口喷射出的气态燃料,它可被近似看作燃烧器。其具有指定单位面积放热率 HRRPUA (单位 $kW/m^{2}$),因此我们可以使用下述指令进行火源设置:

&SURF ID ='FIRE' HRRPUA = 1000/
&OBST XB = 1, 2, 1.5, 2.5, 0, 0.5, SURF_IDS = 'FIRE', 'INERT', 'INERT'/

若需要设置变化热释放速率,我们可以以折线模型进行实现。通过设定一个热释放渐变折线组,定义每个阶段的释热速率,其区间以折线代替:

&SURF ID = 'FIRE', HRRPUA = 1000, RAMP_Q = 'fireramp' /
&RAMP ID = 'fireramp', T = 0.0, F = 0.0 /
&RAMP ID = 'fireramp', T = 1.0, F = 0.2 /
&RAMP ID = 'fireramp', T = 2.0, F = 0.4 /
&RAMP ID = 'fireramp', T = 3.0, F = 0.6 /
&RAMP ID = 'fireramp', T = 4.0, F = 0.8 /
&RAMP ID = 'fireramp', T = 5.0, F = 1.0 /
&MULT 重用构件

该命令适用于重复创建某件物体。与 OBST 配合使用。
参数包括:

  • DX:沿 X 轴方向的偏移量。
  • DY:沿 Y 轴方向的偏移量。
  • DZ:沿 Z 轴方向的偏移量。
  • N_LOWER:重复创建的下限序列。
  • N_UPPER:重复创建的上限序列。
  • DXB:沿全部 6 个坐标的偏移量。


下面的指令可以创建一个连续的楼梯,共计 15 层:

&MULT ID = 'stair', DX = 0.1, DZ = 0.1, N_LOWER = 0, N_UPPER = 15/
&OBST XB = 1.0, 1.1, 1, 2, 0.0, 0.1, MULT_ID = 'stair', COLOR = 'BLUE'/
&HOLE 删除钻孔

该命令用于删除物体的某一部分,常用于开窗开门。
使用 XB 参数指定需要删除区域的坐标,例如:

&OBST XB = 2.0, 2.2, 0, 3, 0.0, 3.0, COLOR = 'GREEN'/
&HOLE XB = 2.0, 2.2, 0.3, 1.3, 0, 2.1/

用户指南中额外注明:
The extra centimeter added to the x coordinates of the hole make it clear that the hole is to punch through the entire obstruction.
因此,我们打的洞更适合表示为:

&OBST XB = 2.0, 2.2, 0, 3, 0.0, 3.0, COLOR = 'GREEN'/
&HOLE XB = 1.99, 2.21, 0.3, 1.3, 0, 2.1/

注意:HOLE 只能用于内部物体,不能用于 MESH 形成的矩形边界。
对整体进行上色,打洞区域进行颜色不可见(COLOR = 'INVISIBLE')或透明度 TRANSPARENCY 设置以方便辨识。

&VENT 空气交换

VENT 组用于规定与障碍物或外墙相邻的平面。
请注意,标签 VENT 的使用是出于历史原因——这组参数已远远超出了其最初的作用,因为它们仅允许将空气吹入或吸入计算域。
VENT 表示一个平面,因此 XB 中坐标有一个轴是相同的。
VENT 必须设置在 OBST 上,表示自然通风时 OPEN 只有用于外墙才有意义;

&MESH IJK = 20, 15, 15, XB = 0, 4, 0, 3, 0, 3/
&VENT XB = 0, 4, 0, 0, 0, 3, SURF_ID = 'OPEN'/

指定整个外墙的一种简单方法是使用 MB 参数()网格边界来替换 XB。因此上述代码相当于:

&MESH IJK = 20, 15, 15, XB = 0, 4, 0, 3, 0, 3/
&VENT MB = YMIN/

其代码还包括:

&VENT MB = XMIN, SURF_ID = 'OPEN'/
&VENT MB = XMAX, SURF_ID = 'OPEN'/
&VENT MB = YMIN, SURF_ID = 'OPEN'/
&VENT MB = YMAX, SURF_ID = 'OPEN'/
&VENT MB = ZMAX, SURF_ID = 'OPEN'/

从生成器开始上手……

如果你的计算机性能足够,推荐在虚拟机环境下进行仿真模拟。

获取 FDS 的自解压压缩包程式,运行并点击 Unzip 进行解压。

解压完成后会自动运行一个终端(命令提示符),要求你任意按一个键结束安装。

FDS 就安装好了!其位置在你解压的目录下的 \FDS\bin\ 中。找到它,双击运行可确认其正常工作。

使用 Microsoft Office 套件运行提供的生成器 2020_Project02_Fire_in_Classroom.xlsm
注: WPS 是不行滴,除非你是企业版用户,掏更多的钱(

切换到表 1:FDS_HOME,对数据进行针对性编辑。完成编辑后,点击“生成输入表”。
注:基本信息中的“项目名称”对应 FDS 中的 TITLE,而初始化信息中的输出文件才对应 CHID,不要搞混。

切换到表 2:Building_Layout,确认有关数据无误后点击“更新”。

切换到表 3:FDS_Output,点击“生成 FDS 代码”,让 VBA 代码依据前文自动在表格中生成对应的 FDS 代码。随后点击“输出 FDS 文件”,这样文件会以 *.fds 格式保存在 Excel 对应的目录下。点击“执行 FDS 运算”,调用终端操作完成 FDS 运行。这将需要一段时间,取决于计算机的性能。最后点“显示 FDS 结果”,获取最后的值。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注