2024年5月8日发(作者:)
工程计算应用软件系列介绍
63
火灾动态模拟器FDS软件介绍
李 萍
上海超级计算中心 上海 201203 pli@ssc.net.cn
摘要:
FDS(Fire Dynamics Simulator)作为研究火灾中烟气传播规律以及火灾预防研究的开源代
码,在科学研究和工程实践中得到日益广泛的应用,本文简要介绍了该软件的特点、安装平
台、编译、使用方法以及注意事项,在文章末尾给出了几个典型的应用实例。
1. 简介
FDS(Fire Dynamics Simulator)是美国国家标
准研究所(NIST:National Institute of Standards and
Technology)建筑火灾研究实验室(Building and Fire
Research Laboratory)开发的模拟火灾中流体运动的
计算流体动力学软件。该软件采用数值方法求解受
火灾浮力驱动的低马赫数流动的NS方程(粘性流体
NavisStokes),重点计算火灾中的烟气和热传递过
程。由于FDS是开放的源码,在推广使用的同时,根
据使用者反馈的信息持续不断地完善程序。因此,
在火灾科学领域得到了广泛应用。其源码可以从
www.fire.nist.gov/fds/下载并学习。
该软件发展到现在已有25年的历史,在九十年
代中期,LES(large-eddy simulation)、NIST-LES、
LES3D、 IFS(Industrial Fire Simulator)和ALOFT(A
Large Outdoor Fire Plume Trajectory)等代码统一被整理
发展成为FDS,从2000年开始对外发布,2001年12月
发布第二版,2002年12月发布了第三版,2004年8月
发布了第四版,2005年发布了第五版,当前版本为
5.2。
该程序源码包括25个独立的Fortran文件,每个都
是模型相关的程序,比如:质量方程、动量方程、
能量方程、压力求解、灭火洒水等。该软件就有很
大的开放性,其源码放在特定的ftp上,即使做了小
的改动,也可以在ftp上发现新文件;除此之外,专
门的讨论区便于使用者交流经验与发现问题。
Smokeview是用于展示FDS模拟结果的可视化程
序。
据统计,该模型大约一半应用于烟气控制系统和喷
头、探测器的激活启动的研究设计,另一半应用于
居民和工业建筑火灾后的重建和修复设计。通过一
系列的发展,FDS致力于解决火灾保护工程中的实际
消防问题,与此同时,也为火灾动力学和燃烧的理
论研究提供工具。
1.流体动力学模型:FDS数值求解热驱动
下低速流动的N-S方程。其核心算法为显式预估
校正方案,时间和空间采用二阶精度,湍流采用
Smagorinsky形式的大涡模拟(LES,Large Eddy
Simulation),在足够细的网格下能实施直接模拟(
DNS, Direct Numerical Simulation),缺省状况下使用
LES。采用拉格朗日粒子法追踪洒水和燃料喷雾模
型。
2.燃烧模型:对于大多数应用,FDS采用混合
物燃烧模型。该模型假设燃烧混合控制,燃料和氧
气反应速度无限快。主要反应物和生成物的质量分
数通过”状态关系”从混合物分数中得到,通过简
单分析和测量的结合得到经验表达式。
3.辐射输运:辐射热传递通过求解非扩散气
体的辐射输运方程得到,在有些特殊情况下采用宽
带模型。与对流输运方程一样,此方程求解也采用
有限体积法。此方法使用约100个离散的角,有限体
积解法需要15%的计算机CPU运行时间,对于解决
复杂的热辐射传导问题这个代价是适度的。水滴可
以吸收热量辐射,在包含水幕喷雾的情况下是很重
要的,在所有设自动喷水灭火系统的情况下都很有
用。吸收系数通过Mie理论得到。
4.几何:FDS基于直线性网格求解控制方程。
所以在直接建模时,要注意所建实体区域为矩形以
适应背景网格。
2. 软件特点
FDS自2000年公开发布以来受到了普遍的关注,
《高性能计算发展与应用》 2009年第一期 总第二十六期
5.多重网格:多网格用来描述计算中需使用多
个矩形网格的。当计算区域的划分不可能只用一种
矩形网格完成时可以设置多个矩形网格。
6.边界条件:所有固体表面都指定热量边界条
件和燃料燃烧信息。通常,燃料属性储存在数据库
中用名称调用。表面之间的热和质量用经验公式计
算,但DNS模拟时热和质量的传导可以通过计算直接
得到。
7.FDS模型除了输出各种原始数据外,还提
供了多个图形输出模式,有助于直观地观察数据,
如“截面文件”、“等值面”、“电热偶”及“边
界条件”等。截面文件为彩色的切片,或贯穿整个
控制体的断面,通过这个断面可以直观地观察气体
温度的动态变化。
8.FDS5.0新增特点:FDS5在处理固体边界以及
气相燃烧方面有着重要的改变。主要体现在:采用
了多步燃烧能够模拟局部火焰的熄灭、CO的生成,
更准确地计算热释放率;可以模拟多层材料的固体
结构;更加灵活地处理洒水器、热探测器以及烟雾
探测器等设备的启动以及洒水模拟启动后对火灾发
展的影响;提高了多重网格能力,增加了处理背压
与大气压不相同状况的能力,提高了运用MPI的并行
处理能力。
3. 安装编译
3.1 软件推荐安装编译
硬件需求:FDS需要较快的CPU和充足的RAM,
推荐最小配置为1GHz CPU和512MB RAM,当然配置
越高越好,CPU速度决定计算需要多长时间,RAM决
定可以计算多少网格,同时需要较大的硬盘空间存
储输出数据,一般来说,单个计算结果文件要超过
1GB,较快的网络有利于减少数据传输的延迟。
计算机操作系统(os)和软件要求:当前的FDS和
Smokeview可以在Microsoft Windows, Mac OS X及各
种类型的Unix/Linux安装并运行。对于MS windows系
统,可以从官方网站上下载到已经编译好的可执行
文件;而Linux、Unix和Mac系统推荐下载源码在本
机上进行编译(Fortran 90和C编译器)进行编译后
再使用,这样可以避免直接下载得可执行文件由于
信息库的不兼容性造成不可用。需要说明的是,
Somkeview作为后处理软件在不支持图形化的机器上
是不能运行的。若需进行并行计算,需要安装相应
的MPI。
如果有旧版本在该机器上成功编译并执行过,
新版不用编译便可执行,若是第一次执行,则需要
编译。
表1列出了目前版本包含的所有源码,源码主要
是有25个Fortan 90的文件,加上用于监控输出文件的
C代码 isob.c。串行版本的FDS采用main.f90编译 ,并
行版本需要 main_mpi.f90编译, 编译时从可以从网站
上下载Makefile文件,编译时需要按照下表列出的顺
序,对于Unix/Linux用户来说,不同平台Makefiles可
以用于协助编译。
3.2 曙光4000A上的安装编译
硬件:Cluster机群,单节点四路 AMD Opteron
850, 8G RAM
操作系统:TurboLinux 8.0 64 Bit Server Edition
编译器:PGI6.0.8
通讯库: MPICH1.2.6 GM2.1.2
软件安装与编译:
1. 下载FDS的源代码(目前下载到的为:
FDS5_RCB_Source_Archive.zip)以及makefile文件。
2. 拷贝下载的文件到用户自己的安装目录(
 ̄/fds),解压文件,在提示符下输入:mkdir  ̄/fds
,通过ftp上传下载的文件到该目录下,在fds目录
下建立文件夹FDS5Source,解压源码文件到  ̄/fds/
FDS5Source目录下。
3. 建立执行文件夹 ̄/fds/FDS5,拷贝makefile文
件到此目录下,修改makefile文件中VPATH 的值,在
此处为:VPATH=../FDSSource。
4. 编译,登陆到相应的计算节点,分别编译完
成串行以及并行,make target。编译完成后,生成相
应的执行文件, fds5_intel(串行) fds5_mpi_intel(
并行),文件名称与makefile中的输入以及所使用的
编译器相匹配。
表1 FDS源码列表
64
4. 使用步骤
FDS软件包含FDS和Smokeview两部分,FDS是主
体用于模拟计算,Smokeview是用于查看FDS计算结
果的可视化软件。其计算流程如图1所示,具体使用
的步骤为:
4.1 建立输入文件
在使用FDS5.0进行计算时,用户需要准备一个
输入文件,其扩展名为.fds,在以前版本中其扩展
名为.data,它提供了要考虑描述情景必要的说明。
FDS输入文件用来指定工程名、计算区域的大小、网
格的大小、计算时间、周围环境情况、建筑物的几
何特性、材料属性、燃烧特性、固体边界条件、探
测器设置、烟气特性等,以及要预期输出的计算结
果,其中工程名、计算区域、网格和计算时间是最
基本的设置。输入文件中每行都是以“&”开头紧
接着名单群(如开头、表格、时间等等),接着是
一个空格或者逗号,用来划分群组中参数列,每行
以“/”结尾,下面给出简单的例子:
&HEAD CHID=’sample’, TITLE=’A Sample In
put File’/
&GRID IBAR= 24, JBAR= 24, KBAR= 48/
&PDIM XBAT0=-.30, XBAR=0.30, YBAR0=-.30,
YBAR=0.30, ZBAR=1.2/
&TIME TWFIN=10. /
&MISC RADIATION= .FALSE. /
&SURF ID=’burner’, HRRPUA=1000. /
&OBST XB=-.20, 0.20, -.20, 0.20, 0.00, 0.05, SUR
F_IDS=’burner’/
&VENT CB=’CBAT’, SURF_ID=’OPEN’ /
&VENT CB=’ ZBAR’, SURF_ID=’OPEN’/
&SLCF PBY=0., QUANTITY=’TEMPERATURE
’ /
&BNDF QUANTITY=’HEAT_FLUX’ /
在建立一个输入文件时,推荐的做法为在简单
例子基础上修改。
当计算结束后,可以输出点数据、面数据、物
体表面数据、等值数据和静态数据等,每种数据都
包含有温度、速度矢量、压力、组分体积分数、碳
黑密度、可见度、减光系数等等。并可以利用FDS后
处理软件SmokeView来动态显示计算结果。
4.2 运行FDS
以版本5为例进行说明,FDS既可以单机运行
(执行命令为fds5.exe),也可以mpi的并行(执行
命令为fds5_mpi.exe),不管单机运行还是并行运
行输入文件是一样的。单机运行在命令提示符输
工程计算应用软件系列介绍
65
入fds5.exe job_name.fds,并行运算时使用得命令为
mpirun -np n fds5_mpi.exe job_name.fds,其中,n为
计算使用的cpu数目;job_name.fds为输入文件的名
称,“jobname”代表可以确定模拟的任意特征,与
计算相关的所有结果输出文件名都具备这一共有名
称,除了输入文件以外,还有一些包含模拟输入参
数的外部文件,其包含表述材料的参数、喷头信息
等,把这些文件放在一个特定文件夹下。
由于FDS计算采用大涡模拟,计算时间较长,
FDS可采用STOP文件对中途体计算运算后续算。具
体做法是FDS输出目录里新建*.stop文件,当FDS监测
到该文件时即建立一个PL3D文件然后停止,修改后
在MIC语句里加入RESTART=.TRUE,就可以在原来
停止的地方继续算了。
可以通过*.out文件监控计算的进程,在计算过
程中也可能非正常结束,原因可能是数值不稳定、
计算机RAM不足、因为计算机系统故障或FDS程序故
障,此时会发送一个错误报告,以有助于修改输入
文件或修复其他故障。
输出文件的形式:CHID.out加上各种结果文件(
采用dump.f)。其中CHID.out中包含输入参数、各种
变量的说明、CPU使用情况以及每100步迭代的诊断
信息。
4.3 在曙光4000A上提交作业
图1 FDS 计算流程图
上海超级计算中心的曙光4000A采用Platform公
司的Lsf软件进行作业调度管理。提交FDS的计算任
务,除输入文件之外,需要撰写一个Lsf所需的脚
本,除最后一行外与其他软件的作业脚本基本相
同。下面给出一个典型的实例(jobname.lsf):
APP_NAME=esource
NP=8
NP_PER_NODE=4
RUN=”fds_mpi.exe jobname.fds”
66
《高性能计算发展与应用》 2009年第一期 总第二十六期
其中,第一行用于指定所用队列(需要有该队
列的权限),第二行指定了使用CPU的数目,第四行
指定了运行的计算内容。
实验数据发展完成,因此,对大型的火灾模拟可能
误差较大;FDS仅能模拟感温探测器,对其他探测器
如感烟探测器则无法有效模拟。
但,FDS作为火灾科学界比较有影响的软件,将
会在各个方面不断发展和完善,必能更好的为火灾
科研人员服务。
5. FDS应用限制
和其它计算流体力学软件相比,FDS有以下问
题:
1.FDS建模不灵活,只能直接创建立方体模型,
其它形状的模型只能用立方体模型来近似,因此会
加大计算误差。
2.FDS只能划分矩形网格,而在某些情况下,其
他形状的网格计算更准确。
3.FDS只能在命令行状态下运行。
另外,根据FDS所采用的计算方法及其自身性
质,也可以看出:FDS是以时间平均方程求解,因此
流场的湍流解析会有所出入;.FDS大都以小型火灾的
6. FDS应用成果简介
作为经过实践验证的专业火灾模拟工具,FDS不
仅在高校、研究等被广泛使用,而且在企业单位也
被广泛使用。目前,国外应用及成果已经非常丰
富,国内的使用和研究在不断发展壮大中,清华大
学、中国科技大学、上海交通大学、消防研究所
等。正如软件所专注,其应用领域主要为:隧道(
公路、铁路)、机场、剧院、核电厂及大型厂房等
的火灾及预防的数值模拟。
要 闻 集 锦
Lawrence Livermore国家实验室将部署20P蓝色基因/Q超级计算机
美国能源部(DOE)的两台千万亿次超级计算机
Roadrunner和Jaguar 将会被一台计算能力为其十倍新的
机器所取代。2009年2月3日,IBM公司和美国国家核安
全局(NNSA)宣布,2011 Lawrence Livermore国家实
验室将会安装计算能力达到20Petaflop的超级计算机系
统,该系统将为国家核武器研究提供计算能力。
该系统基于IBM公司蓝色基因工程,今年第一季
度,IBM将首先部署500T的超级计算机“Dawn”,
接着在2011年将会部署20P下一代蓝色基因超级计算
机“Sequoia”。该系统预期2012年上线。新系统将会
取代Lawrence Livermore国家实验室目前现有的100T 计
算能力的ASC Purple超级计算机和600T蓝色基因/L超级
计算机,用于运行基于ASC 程序的武器方针程序。
今年部署的Dawn超级计算机主要用来进行武器代
码的移植和调试。一旦蓝色基因/Q上线,那么这些代
码将会在新的Sequoia系统上正式运行。Dawn现在正在
Lawrence Livermore进行安装,目前已有一半左右的节
点安装完成,实验室根据4月份的系统承受日程,计划
将在余下的几个月内完成剩余部分的安装。
由于Dawn系统不像蓝色基因/L,蓝色基因/P和
蓝色基因/Q系统都支持节点级缓存一致(这可以允
许在集群系统上使用SMP类型的代码),因此,使用
Dawn作为Sequoia的一个里程碑是可能而且契合实际
的,特别是将武器代码的每个核的MPI任务分别进行映
射的确是一个非常大的挑战,但将SMP消息传递模块整
合到各个节点和跨节点的分布式并行更加实际。
Sequoia的超级计算机不仅仅在计算能力上要超出
现有千万亿次超级计算机系统十倍,而且在能耗方便
也有着非常大的改进。IBM Deep Computing 副总裁
Dave Turek表示,Sequoia的功率大约600万瓦,其能效
比为3000Mflops/watt*。这相当于蓝色基因/P系统(能
效比440Mflops/watt*)的7倍,而且这也比现在Top1的
Roadrunner超级计算机(其能效比为587Mflops/watt*)
高。而且,计算能力为1.6Petaflop的超级计算机其功率
大约为850万瓦(能效比为188Mflops/watt*)。
2011年上半年,如果Sequoia进行部署,那么Law-
发布评论