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-