Download as pdf or txt
Download as pdf or txt
You are on page 1of 69

FDS 4 使用说明

(内部资料)

1
前言

这本指南描述怎样使用火灾动力学模拟模型 (FDS)。 它不提供背景理论,但提


供了一份配套文件--FDS技术参考指南 [1] ,其中包括了详细的控制方程,数值方
法和验证工作。 尽管用户指南中包含进行火灾模拟全部必要的信息, 读者也应当
熟悉技术参考指南里的一些背景理论。软件和用户向导只能以对输入参数适当描述
的形式提供有限的指导。
FDS 用户指南中结合FDS可视化程序只给出了怎样操作Smokeview的有限信息,
它的全面描述在" Smokeview版本4的用户指南"里给出 [2]. 这本指南也包含关于
怎样使用Smokeview设计FDS计算的内容,并提供关于使用两个模型的简短的指导。

免责声明

美国商业部没有对FDS的用户作出保证、表达或暗示,并且对它们的使用不承担
任何责任。在联邦法律的许可下,FDS用户假定有唯一的责任决定它们在一些具体应
用中适当的使用;一些从它们的计算结果中得出的结论;使用或不使用来自这些工
具分析的结果。
用户必须注意FDS是专供那些在流体力学、热力学、燃烧学以及传热学有研究能
力的用户使用和作为那些已有资格的用户在决策时的辅助。当它被应用于一个精确
的现实环境时,软件包是一个可以包含或不包含预测值的计算机模拟。从关注火灾
安全方面考虑,缺少了精确预测的模拟会导致错误的结论。所有的结果都应该由一
位有经验的用户进行评价。
本指南中所提及的计算机硬件或者商业软件未得到NIST的认可,也不表明其对
于预定目标是最佳的选择。

2
说明

各种形式的火灾动力学模拟模型开发研究已将近25年,但软件的公开发布只是
从2000年开始。很多的个人对模型的开发和验证作出了贡献,计算机程序的编写由
一个相对较小的小组负责,FDS技术指南包含了一个全面的模型发展贡献者的名单。
但这里我们只认可参加程序实际编写的个人。
最初, 基本流体力学方面由罗纳德雷姆(Ronald Rehm)和霍华德·鲍姆(Howard
Baum), 在NIST的计算与应用数学实验室(CAML)的Darcy Barnett, Dan Lozier ,
Hai Tang 以及建筑与火灾研究实验室(BFRL)的丹·科利(Dan Corley)的协助下设
计完成。软件最初的可视化由 CAML的吉姆·西姆斯(Jim Sims)完成。 纵向压力
问题由国家大气研究中心(NCAR)的Boulder和 Colorado解决。Kevin Mc-Grattan 扩
展包括火灾发展轨迹的基本程序,并保留了FDS管理程序源代码(and he remains the
custodian of the FDS source code.)。Glenn Forney开发了相关的可视化程序
Smokeview 。Kuldeep Prasad 为其增加了多网格的数据结构,为平行处理做准备。
William (Ruddy) Mell为其增加了特殊的火灾发展程序使模型可用于微重力条件燃
烧和荒原火灾蔓延的评估。Charles Bouldin 设计了并行处理代码的基本框架。
贾森·弗洛伊德,一前尼斯特文件后,写混合物小部分和小滴蒸发常规。 Simo
Hostikka,尼斯特VTT 大楼的客人研究人员和运输,芬兰,那些辐射解答者和那些
炭热解常规写。 虽然不再在尼斯特,两个继续对源码做出显著贡献。
Jason Floyd ,NIST Post-Doc 的起草者之一编写了混合物部分和液滴蒸发部
分的程序。
NIST 来自芬兰 VTT 建筑与运输的访问学者Simo Hostikka,, 编写了辐射和高
温分解产物部分的程序。 两位研究者虽然目前都已离开NIST, 但仍然对FDS的源代码
的发展作者杰出贡献。

3
1 引言
火灾动力学模拟模型(FDS)是一个对火灾引起流动的流体动力学计算模型。
软件
对于低速、热驱动流的定量计算使用那维尔-斯托克斯方程(粘性流体方程), 其
侧重于火灾产生的烟气和引起的热传输。方程的公式和数值运算法则在配套文件-
火灾动力学模拟模型(4.0 版本) - 技术参考指南 [1]中给出。
Smokeview是用于展示一次FDS模拟结果的可视程序。本指南中给出了
Smokeviewis 的一些示例详细的描述在配套文件Smokeview 4 版本的用户指南 [2]
中给出。

1.1 FDS的特点
FDS的版本1于2000年2月公开发布。
版本2在2001年12月公开发布。到目前为止,
模型约一半的应用用于烟气控制系统的设计和喷淋喷头或探测器启动的研究,另一
半用于住宅和工厂火灾模拟。在整个的发展过程中,FDS的目的是在致力于解决防火
工程中实际问题的同时为火灾动力学和燃烧学的基础研究提供一个工具。
流体动力模型 FDS对于低速、热驱动流的定量计算使用那维尔-斯托克斯方程
(粘性流体方程),其侧重于火灾产生的烟气和引起的热传导。核心运算是一个明
确的预测校正方案,在时间和空间二阶上精确。湍流通过大涡流模拟(LES)的
Smagorinsky 来处理。 如果基础的数值表足够清晰,则可进行直接数值模拟(DNS)。
LES默认这种操作。
燃烧模型 对大多数应用来说,FDS使用一个混合物百分数燃烧模型。 混合物
百分数是一个守恒量,其定义为起源于燃料的流动区给定点的气体百分数。模型假
定燃烧是一种混合控制(mixing-controlled),且燃料与氧气的反应进行非常快。
所有反应物和产物的质量百分数可通过使用“状态关系”――燃烧简化分析和测量
得出的经验表达式由混合物百分数推导出。
辐射传输 辐射传热通过模型中的非扩散灰色气体的辐射传输方程解决,在一
些有限的情况下使用宽带模型。方程求解采用类似于对流传热的有限体积法,因而,
命名为“有限体积法”(FVM)。选用约100个不连续的角度,由于辐射传热的复杂性,
有限体积解算程序在一次计算中需占约15%的CPU处理时间。水滴能吸收热辐射,这
在有细水雾喷头的场所起很大的作用, 在其他设置喷淋喷头的场所也起到一定作用。
这种吸收系数以Mie理论为基准。
几何结构 FDS 将控制方程近似为在直线的栅格(网格)上,因此用户在指定
矩形障碍物时须与基础网格一致。
多网格 这是用来在一次计算过程中描述使用不止一个矩形的网格的一个术
语。当使用单网格不易计算时,可采用多于一个的矩形网格。
边界条件 给定所有固体表面的热边界条件,以及材料的燃烧特性。通常,材

4
料特性储存于一个数据库中并可用名称调用。固体表面的热量和质量转换通常可使
用经验公式解决,但当执行直接数值模拟(DNS)时可直接进行估算。

1.2 FDS4的优势
FDS4具备FDS3的所有性能,同时,进行了一些完善、重组和缺陷修正。其中比
较重要的方面有:
平行处理 通过使用信息传送接口(MPI) 可用多台计算机进行一次FDS计算。详
细情况见第3.2.2 部分。
多网格 对多网格性能进行了改善,使模拟设计具有更多灵活性。详见第4.2.3
部分。
孔洞 现在障碍物可以以一个具体的剪切块代表。这对于固体墙面的雕花门和
窗很有意义,因其不需要把墙拆成散片。详细情况参见第4.4.5 部分。
炭化模型 实现了炭化模型,可对固体材料的薄热解正面进行跟踪。正面原始
燃料与炭化的材料分离。燃料和炭的热性质应由用户提供。详见第5.7.2 部分。
随温度变化的材料特性 现在可认为固体材料性质是一个温度的函数,应注意
的是这种精确改变了一些在FDS以前版本中使用的常规热解。
在第4.4.1 部分给出这
种变化对输入文件的影响程度。
拉格朗日粒子 涉及到拉格朗日粒子的输入文件格式发生了变化,拉格朗日粒
子包括喷淋液滴和跟踪粒子。基础的物理模型是相同的,但在程序代码中与NIST研
究现行使用的不同。
FDS 3的输入文件在FDS4中仍可运行,但是作用效果发生了变化。粒子参数转换
的详细情况见第4.5 部分 。
烟气层高度 加入了一个关于烟气层(界面)高度的简单计算,以便用户可以与
区域模型计算进行比较或者能以更简单的方式表达FDS的结果。详见第5.11 部分。

5
2 启动
火灾动力学模型(FDS) 是一个Fortran 90 计算机程序,用于计算热流体和火灾
的控制方程。关于方程以及怎样数值求解的详细描述见参考文献[1]。FDS的输出结
果由程序Smokeview.可视化,Smokeview 的用户指南见参考文献 [2]。

2.1 怎样得到FDS 和 Smokeview


关于 FDS和Smokeview的所有文件可以在以下地址获得:
http://fire.nist.gov/fds ,在网页上可以找到关于新版本、缺陷修订等信息。
因为FDS不总是兼容,新版本的执行文件包括版本号fds#.exe。 用户也许愿意保留
老版本FDSU的执行文件以便进行新旧版本输出结果的比较。而图示程序Smokeview
以兼容为背景,因此鼓励用户以新的Smokeview文件取代旧的。
FDS 的分配包括个人电脑Windows 操作系统的自提取安装程序, 引导Unix,
Linux以及 Mac 用户 进入源程序代码、一些编译执行文件和生成文件等的文件传
输协议(FTP)地址。下载安装程序之后,双击图标开始一系列的安装步骤。在安
装中最重要的是目录(通常称作c:\nist\fds)的生成,在目录下要安装FDS和
Smokeview的执行文件、Smokeview 的选择文件smokeview.ini 以及包括一些示例、
参考手册和补充数据的文件。安装程序还定义了变量路径和Smokeview 程序的相关
扩展文件.smv ,这样用户即可选择在命令行键入命令提示符也可选择双击任意.smv
文件。
已经下载了FDS早期版本并保留了文件结构的用户,只需对新文件进行不同的
分配。为避免命名的冲突,不同版本的相关文件通常在文件名中插入版本号。

2.2 计算机硬件要求
FDS需要较快的的 CPU 和质量好的随机存取存储器 (RAM)。对于基于
Windows操作系统的个人电脑(PC), 处理器至少需要 1 GHz Pentium III、512 MB
的RAM。当然配置越高越好,要求高的用户应考虑配备最快的CPU和最大的RAM。
此外,需要一个大的硬盘驱动器用于储存输出计算结果。通常单次的计算结果就会
生成约1 GB 的输出文件。 现在大多数的计算机硬盘至少20 GB。对于基于 Unix
的工作站,处理器和内存的配备至少应 达到PC 机(个人电脑)的要求。
在近几年内购买的绝大多数计算机都满足运行的要求。Smokeview 需要额外的
内存(RAM),需达到至少 512 MB,目的是计算机不需要与磁盘进行“交换”就可
以展示结果。对于Smokeview,具备快速的图形处理器比快速的CPU更重要。如果
已达到可以运行FDS 和 Smokeview,则具备一个快速的CPU也是重要的。

2.3 计算机操作系统(OS)和软件要求
开发FDS和 Smokeview 目的是使当前的防火工程能够在一个合理的花费下进

6
行相当完善的火灾模拟。因此, 设计开发的FDS 和 Smokeview可以在Microsoft
Windows、Mac OS X、以及 Unix/Linux的各种执行系统下运行。因为大多数的工程
师使用的是 MS Windows系统, FDS 和Smokeview 的编译版本适用于这种操作系
统 ( OS.)。 FDS或Smokeview可在Windows 95(其缺乏Smokeview1所需的程序库)
以外的任何版本运行。
Unix, Linux和 Mac 用户可在下载合适的提前编译执行文件并进行适当的安装
后也可以运行FDS 和Smokeview 如果提前编译的FDS执行文件不能工作(通常是因
为信息库不兼容),可以下载FDS源码并使用Fortran 90 和C 编译器(详细信息,参
见附录A)。 如果 Smokeview 在 Linux
或 Unix 工作站不工作,应使用 Windows PC 观看 FDS 输出结果。
对于欲进行并行处理的用户,应在集群的每台计算机上的安装信息传送接口
(MPI)。在Windows PC 安装MPI 的有关内容在附录A中给出。对于其他的操作平台,
有各种合适的执行 MPI ,有关内容可请教系统管理员或硬件/软件供应商。

1注:Some users of 一些Windows ME 的用户在操作Smokeview 视窗时会遇到


麻烦,在条件允许的情况下,建议使用Windows 2000 及以上系统。

7
3 运行 FDS
运行 FDS 相对来说是简单的。描述给定火灾场景的所有参数创建一个文本文
件作为“数据库”或“输入”文件。在本指南中数据文件为job name.data, 其中“job
name”代表可以确定模拟的任意特征,与计算相关的所有结果输出文件名都具备这
一共有前缀。
除了输入文件以外,还有一些包含模拟输入参数的外部文件。因为其包含 描述
一般材料和燃料的参数,每一个这样的文件被认为使“数据库”文件。 通常数据
库文件保存在一个独立的地址目录中。包含具体喷头信息的文件也随数据库文件一
起保存,数据库和喷头文件可以 进行修改或移动。
建议新用户在创建新输入文件前从一个已存在的数据文件开始,运行,然后对
其输入文件进行合适的改动。通过运行实例,用户可以熟悉操作过程、学习使用
Smokeview以及 确定其计算机配置能否胜任。

3.1 创建FDS输入数据文件
输入数据文件为程序提供描述火灾场景的参数。参数编进相关变量组中。例如:
SURF 组包含描述固体表面性质的参数。输入文件的每一行包含同组的参数,这些
行用Fortran格式化语言写。每条记录以字符& 开始,其后紧随名录组的名称 (HEAD,
GRID, VENT,等.),接下来是该组的相关输入参数,最后以一个斜线结束。
关于输入参数的细节可参见第4章。

3.2 启动FDS计算
有两种方法运行FDS。 一种是使用单个处理器 (CPU), 另一种是使用多个CPU
运行。单个CPU执行时(fds#.exe) 与以前的版本类似,当并行处理时 (fds# mpi.exe)
其工作方式与传统的方式不同,下文将解释差别之处。应注意,单处理和并行处理
的输入文件是相同的。

3.2.1 进行一次 FDS运算 (单处理器方案)


建议新用户在编写输入文件前先进行一次给出实例的计算,输入文件的实例已
给出。假定有一名为 job name.data 的输入文件存在于某地址名录,使用如下DOS
或 Unix 命令提示符:
Windows: Open up a Command Prompt window, and change directories (“cd”) to
where the input file for the case is, 然后键入以下内容运行
fds4 < job_name.data
在输入文件中“job name ”字符串通常被指定为CHID。建议输入文件的命名
和CHID相同,以便在一次运算中的相关文件名一致。

8
FDS 读取输入文件作为标准输入 (用符号“<” 指明),并在屏幕上写出鉴别后
的输出结果。 与FDS的以前版本不同,诊断信息自动写入一个CHID.out.文件, 不
改动屏幕输出至一个文件。
Unix/Linux: 改变地址名录至当前例子的数据文件,然后键入以下内容运行:
fds4 < job_name.data
输入参数在标准输入中读取,错误陈述和其他诊断信息在屏幕中写出。 在后台
中运行:
fds4 < job_name.data > job_name.err &
注意,在以上的后一种情况中屏幕输出结果保存在输出文件 job name.err 中 ,
其详细的诊断信息自动在文件CHID.out 中保存, 其中CHID 是一个字符串,通常
在输入文件中名字是job_name 。最好在后台运行以便不影响控制台进行其他工作。

3.2.2 进行一次 FDS运算 (多处理器方案)


使用多处理器和多个RAM进行计算机联网运行FDS 比使用单处理器要难得
多。计算机之间的接通还需要更多的技术,包括在每台机子上创建用户、地址分配、
提高网络速度、计算机之间相互观测等。其中一些细节可通过并行处理软件处理,
另一些则不能。虽然这一处理过程在未来的几年中必将得到简化,但目前来说,并
行处理仍是较新的技术,对于其使用者要求更高的操作系统和网络连接专业技术知
识。
FDS使用 MPI (数据传输接口) [3] 使多台计算机进行一次运算工作。实际上,
此时运算工作被分解给多个网孔,一个处理器对应一个网孔。每个处理器运行一个
给定网孔的FDS任务(称为一个分支) , MPI 负责处理网孔之间信息的传输。 像
存在不同的Fortan和C语言编译器一样,也存在不同的MPI实现方式,其本质上都是
一个FDS的调用子程序库,在快速网络之间进行数据传输。子程序调用标准化已经
被广泛接受,这使不同的商家和团体在开放的工作平台工作的同时可以自由的开发
完善软件。
FDS并行处理的执行方式取决于安装的MPI实现方式。为避免产生任何冲突,
并行处理时不使用单处理器运行时采用的简单命令提示符风格,而是通过寻找输入
文件名的方式。即打开一个只有一行的fds.data文本文件并提取其第一行。文件
fds.data 应只包含真实输入文件job name.data的文件名。
注意,文件名区分大小写。
在NIST中,目前FDS并行处理是通过局域网(LAN, 100 Mbps)联接的 Windows
PCs (个人计算机)或是用一种专用、快速网络(1000 Mbps)联接的一组Linux PCs。
Windows 计算机使用MPICH,一种美国 Argonne国家实验室(Argonne National
Laboratory)开发的 MPI实现方式。 并行FDS计算使用的 MPICH, 可以使用命令行
调用或者使用图形界面调用(GUI)。每台计算机安装 MPICH程序库后,必需的地址
名录是共享的,任一计算机发出 命令:mpirun config.txt 后运算开始。其中,config.txt

9
是一个文本文件,它包括执行FDS的名称和分配、工作目录以及工作组中各台计算
机名。例如, config.txt 文件可能是如下形式:
exe \\machine1\nist\fds\fds4_mpi.exe
dir \\machine1\nist\fds\samples\
hosts
machine1 2
machine2 1
machine3 2
注意,所有的计算机应可以访问machine1中的执行文件工作目录,这可以通过
Windows的共享功能实现。
Unix/Linux环境下,此过程则需要横向交联每台计算机的文件系统。后的数字
代表此项之路的编号。在此例中,5个之路代表此次运算有5个网孔 。
On the cluster in the Building and Fire Research Lab at NIST的建筑与火灾研究实
验室的Linux工作组中,安装了一个印地安娜州大学( Indiana University)的自由传
输实现方式LAM/MPI。在实际的FDS操作之前先用一个独立的调用命令 “lamboot.”
将各计算机连接,再通过命令
mpirun -np 5 fds4_mpi
进行FDS运行。其中,5代表使用了5个处理器。在这种情况下执行命令 fds4 mpi
存在于工作目录。使程序在后台 mpirun -np 5 fds4_mpi > job_name.err &运行。
文件job name.err 屏幕上的一般输出结果。在附录A中,详细描述了在Windows
下使用 MPICH时怎样进行一次FDS并行处理的编译和运行。关于LAM/MPI更多的
信息请访问网站: http://www.lam-mpi.org/Note that there are several other
implementations of注意还有其他 MPI实现方法,一些是免费。FDS支持各种软件,
因此,其设计适用于有更少用户介入的高级方案。但是请注意并行处理在计算机科
学中仍是比较前沿的技术,在未来的几年中还必将经过艰辛的探索实践。

3.3 进展监控
对于一个给定计算的诊断写入一个名为 CHID.out.的文件。 关于 CPU 使用和
模拟时间的内容在这里给出,以便用户可以了解该程序的进展程度。在一次运算的
任何时间都可以运行 Smokeview 直观地观测程序的进展。要在预定结束时间前停
止运算,可以直接关闭程序,更好的方法是在同一个地址名录中创建一个CHID.stop
文件。此文件的存在可以顺利的停止程序,并忽略Smokeview中为可视化存在的流
动变量。
因为计算可能会持续数小时或数天,FDS具备了重新起动功能,使用的详细情
况见第5.1部分。简单地说,即在计算运行的开始应指明重新起动文件的保存频率。
如果发生意外打断计算,如停电,则计算将从最后一次保存的重新起动文件开始。

10
3.4 错误陈述
FDS计算可能会在用户预定地时限内结束,以下是常见错误陈述和诊断清单:
输入文件错误:最常见的错误是输入误差,这些错误会导致程序即时中止并出
现陈述如“ERROR: Problem with the HEAD line.” 对于此类错误,检查错误陈述指明
的输入文件中对应的行。确定参数名正确拼写;确定在记录句末有一斜线“/” ;确
定每个参数键入正确的信息,如一个真实的数字或若干整数或者其他;确定未使用
非 ASCII 语言字符(因有时可能存在从其他应用或文字处理软件剪贴内容) ;区别
0和“O’s”、区别“1’ s ”和“ !’s ”。确定省略号用于指定字符串;确定 在Unix/Linux
创建的文本文件不用于DOS 环境,反之亦然。 确定所有列出的参数都被使用――
新版的FDS经常放弃或改变参数以强制用户对旧的输入文件检查。
数值不稳定: 在FDS计算中,时间步长缩短引起的数值误差有可能引起某些位
置流动速度的增加。其中,代码中的逻辑决定了结果的非物理性并且在CHID.out.
文件中的一个错误就中止计算。在这种情况下,FDS 将忽略最后的Plot3D 文件中
止,使用户可检查计算范围内的错误。通常,假定计算范围内的大速度向量起源于
小区域时易得到不稳定的数值。这种不稳定性的通常原因是网格单元的长宽比大于
2:1、高速流经过小开口、热释放速率的突变或者是流场内发生多个突变。依据不同
的情况,解决的方法不同。应在报告之前尽量的诊断和修正问题,但这对于输入文
件编写者以外的人员来说很难。
计算机资源不足:计算可能需要使用大于计算机 RAM的空间,或者输出文件用
完了所有的磁盘空间。 在这种情况下计算机就不能保证产生有效的错误信息。有时
计算机不能响应。用户应保证有足够的计算机资源运行计算。应注意,对于FDS计
算没有多大和多长时间的限制,其取决于计算机的资源配置。对于开始任一新的模
拟时都应尽量采用最合适的网格(grid)
,并在计算机允许范围内逐渐精炼,然后在
规模上稍微缩小以便计算机可以顺利的运行。尽量以90运行。
运行错误: 计算机操作系统或者FDS程序都有可能出错。计算机操作系统把错
误信息在屏幕上打出或者写入诊断输出文件。大多数错误信息对于对于大多数人即
使是程序员来说都是难以读懂的,但尽管如此,有时当涉及到一些具体细节还是可
以获得一些启示,比如 “stack overflow,” “divide by zero,” 或“file write error, unit=...”
这些可能由于FDS得一些缺陷造成。例如,一个数字被0除、一个序列在分配之前使
用或者其他得一些问题。在错误报告之前,应尽量简化输入文件消除错误。这一过
程经常可明确计算特征并有利于故障排除。
泊松初始化: 有时在运算的一开始就出现错误陈述 “Poisson initialization.”出
现问题。在FDS中的压力方程是 泊松方程,泊松解算包含一个在计算开始必须初始
化的大的线性方程组,大多数情况初始化阶段的错误是因为控制格(grid)是少于
四维的(2维计算的情况除外)。也有可能是在相关计算领域中的某些基础性错误。
这种问题的解决,应检查输入文件的GRID 和外形尺寸(PDIM)行。

11
3.5 Reporting Bugs缺陷报告
FDS正处于发展之中,不可避免会出现各种各样的问题。开发者应明白一旦某
种特性不再有效,就应有错误报告,且应明确确定问题。最好的方式是尽可能的简
化输入文件以便故障诊断。同时对不再发挥作用的特性界定故障报告。物理性的问
题如火灾未被点燃、火焰没有传播等,也可能与控制格方案或场景组成有关。用户
应在被报告之前进行调查。如果错误是因为与FDS相应的操作系统,应首先考虑几种
明显的情况,如存储容量、磁盘空间等。如不能解决问题,应发送关于错误信息和
问题相关环境尽量详细的错误报告。输入文件应尽量简化,使计算中的故障尽早发
生。输入文件和外部数据库无关。因此,开发者可以尽快检查问题输入文件,并发
现问题。

12
4 建立 FDS 的输入文本
计算阶段的第一步是要形成一个输入文本,它提供了要考虑到的能描述情景的
所有必要说明信息。最重要的输入文本限定了所有的长方形领域的物理尺度,限定
了格子以及添加了几何学特征。第二步,火灾和其他边界条件必须详细说明。最后,
有大量的参数,它限定了输入文本以致能获得许多重要的数量。输入的数据被写出
的文本和被设计好的记录名单所限定。每行的开始是字符&紧接着名单群(开头、
表格、开口等等)
,接着是一个空格或逗号,用来划分那个群组中正确的输入参数列,
每一列用一个分隔符(/)终止。注意那些被列出的参数,它们仅仅需要在预设时被更
改,输入文本的结构以下给出。
&HEAD CHID=’sample’, TITLE=’A Sample Input 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,
SURF_IDS=’burner’, ’INERT’,’INERT’ /
&VENT CB=’CBAT’, SURF_ID=’OPEN’ /
&VENT CB=’ ZBAR’, SURF_ID=’OPEN’/
&SLCF PBY=0., QUANTITY=’TEMPERATURE’ /
&BNDF QUANTITY=’HEAT_FLUX’ /
输入文本参数可以是整数、实数、数组实数、字符串、数组字符串、或逻辑词,
一个逻辑参数是“正确”或“错误”,——是 Fortran 程序中的语言元素,被列出的
字符串是使用者自制的,应该在手写时被完全的抄下来——代码是敏感的并且重要
的是在 do 下画线,仍要注意的是字符串可以被撇号(’)或引号(“”)所包围。认真不
要出凭借输入文本过期的文本而应使用一个简单的文本编辑器,它的标点符号可以
完全地输入文本文件中。
输入参数可能被逗号、空格或打断线分离开,只要没有&和/出现评注和注意应
能写入文件,除了对于那个特殊的名单组响应的适合参数。注意 FDS 是个敏感的程
序,完全抄录的参数需要自行命名并且不要假设如果条件改变就能反应的程序。
实际上,很少有人开始就能写出一个输入文本。通常人们做出一个简单输入文本,它已
被 FDS 做出分类并适当的修改,它十分支持当看到一个新的说明,就能首先挑选出一个与那种
情况类似的输入文本摸板,写出必要的改变。然后在非常薄弱的决定下运行给出如果系统设定
正确的定义。最好以一个相对简单的文本结束,它获取没有逐步解决的问题形态,伴随有很多
细节以至于运算的时间少于一小时并且很容易地纠错而不浪费很多时间。

13
4.1 初步的措施
首先,一些行在输入文本中处理了许多保管的细节。例如,工作命名和创建模拟时间,
工作命名是很重要的,因为一般一项工程包括在个别模拟名称能构成结果的情况下进行数字化
模拟。

4.1.1 工作命名:Head 名单组


为建立一个输入文件首先要做出的是给出一个工作名称,Head 包括 2 个参数,CHID 是
30 个字符串或通常至少给出使用的字符串标记输出文本。假设,举例 CHID=’sample’,它简单
地命名了输入数据文件为 sample.data。以至于输入文本能够与输出文本联系起来,在 CHID 中
允许有空格和没有元素,是因为输出文本被后缀标记,那对于计算机操作系统是很有意义的。

4.1.2 设置时间限定:Time 名单组


Time 是一组参数的名称,用来定义模拟持续的时间和最初开始的时间阶段,
通常提出独立方程来解决。通常,只有模拟需要持续进行。用参数 TWFIN(在完成
的时间里) ,如果 TWFIN 是 0,H 是计算机的版图高度,G 是重力加速度,预设时
间就为 1 秒。
一个附加参数在 Time 名单组里是同步发生,一个逻辑词(TURE 或 FALSE)
说明用相同的计算时间阶段网格是相同的。这样确保了每个网格在每次重复时被处
理,更多的细节在第 4.2.3 节中会提到。

4.2 数字化栅格
所有的 FDS 计算必须在一个由许多矩形网眼组成的界面下进行每一个网眼又
都有其自身的线性栅格。所有的数据出/入端口都必须与数字化栅格相适应。建立一
个栅格时, 第一步是要通过 PDIM 名称列表组来具体指定每一矩形栅格的物理尺寸;
第二步是通过 GRID 名称列表组来具体指定每一连动方向的栅格数量范围;最后,
如果有需要,可以通过 TRNX、TRNY、TRNZ 命令来规定在 2~3 个连动方向的拉
伸和收缩(详见第 5.2 节) 。在实际计算中一般会有超过一个栅格被用于计算,详见
第 4.2.3 节。

4.2.1 定义计算机操作界面:PDIM 名称列表组


PDIM 是物理界面尺寸定义参数组的缩写。着以系统方向的定义符合右手法则
(见图 4.1),物理界面是一个简单的长方体,有平行边界。界面的原点是点(X0,
Y0,Z0),对角点坐标为(X,Y,Z) 。预设时,可将 X0,Y0,Z0 值设为 0,这样主
界面的尺寸就可以直接从 X,Y,Z 轴上得到。另外除非特殊指明,还可通过 GRID
名称列表组中 KBAR 命令再加入 I 轴和 J 轴。如果希望栅格单元在尺寸上整体变化,
那么可使用 TRNX、TRNY、TRNZ 命令来进行统一更改(详见第 5.2 节) 。
任何一个数据出/入端口如果超过物理边界将被删除。若所定义的实物超过主

14
界面,虽然得不到出错提示,但是越界部分将不被显示。

4.2.2 设置栅格单元尺寸:GRID 名称列表组


GRID 名称列表组包含了栅格单元的各种尺寸。它一般包含 X(表示 I 方向尺
寸),Y(表示 J 方向尺寸) ,Z(表示 K 方向尺寸)三个方向的尺寸,其中 Z 方向
通常被设为垂直方向,而较长的水平边方向可被当作 X 方向。注意栅格单元越接近
于立方体越好,也就是说,单元长宽高应尽量接近。另外,因为计算中的一个重要
部分必须使用基于傅立叶快速转换公式(FFTs)的泊松分布法,栅格单元尺寸应符
合 2l3m5n 这一模数,此处 l,m,n 均为整数。例如,64=26,72=2332,108=2233 都
是好的栅格单元尺寸。而 37,99 或 109 就不合适。
以下是在 1~1024 间符合模数的数字:
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

15
图 4.1:一个建立网眼的复合处理几何体的实例
注意:除了两个方向的计算外,I 方向,J 方向,K 方向长度设置应不少于 4 个单位长度。
在此例中 J 方向设置为 1 个单位长度。

4.2.3 网眼的复合处理和并行处理
“网眼的复合处理”是基于计算机主界面由多于一个矩形网眼构成时(尽管可
能并不需要),主控方程将同时在每一个网眼的浮点速度基础上进行计算。因为每一
个网眼都有不同的运行时间,这一技术可为 CPU 节省很多处理时间。粗略划分的网
眼最好用于普通和小型计算。 “网眼的并行处理”指多个运行状态在一个时间段内运
行 FDS 的方式,每个运行状态都需要中断计算机主界面进入其它网眼中,以致于每
个处理器可接收一个网眼进行处理。无论该计算机是在一个单处理器上运行,还是
在多处理器上进行,网眼处理的规定均相似。以下是一个指导列表和“网眼的复合
处理”的使用注意。
·如果多于一个网眼被使用,应在每个网眼操作时使用 GRID 线和 PDIM 线。
这些命令会被输入一个文档文件中。总的来说,网眼应按从最精细到最粗糙的顺序
输入。FDS 假设先输入的网眼优先于后出现的网眼。网眼可以重叠,相邻或根本无
接触,在最后一种情况下,实际上两个独立的计算之间根本没有任何信息交换。数
据出/入端口进入全部连动系统而不需应用任何一个特殊的网眼。每一个网眼会检查
并决定它们是否应该被包括进去。

16
·避免网眼边界越限,尤其是对于火情。有时火情从一个网眼扩到另一个网眼
是不可避免的,但是应尽量避免。因为跨网眼信息交换的准确性远没有一个网眼内
单元之间准确。
·从其它网眼传来的信息仅能来自于外部已定义好的网眼,这就意味着一个网
眼能完全插入到另外一个可接受外部信息的网眼中。实际上,大的网眼通常会定义
粗糙,也只能按照自身的程式进行工作,而不能引用更细小的,通常更精确的网眼,
因此这种较大的网眼将无法从插入的较小网眼中读取信息。在细小栅格中的一些细
节,尤其是有关于火情增势或蔓延势头的信息将无法被较粗糙栅格引用。在这种情
况下,最好是单独隔离存有火情细节的网眼,而将较粗糙网眼置于此细小网眼边界
之旁,这样粗细网眼中便能互传信息了。
·使用相对粗糙的栅格来确认信息是否能从各网眼中传送的不同网眼实验有两
点值得注意。第一,信息流是否在网眼边界错误引用。如果是,那么就须要将网眼
边界从操作区域内移出。第二,单元尺寸是否差距过大。如果是,那么应考虑将信
息从精细单元内导入粗糙单元时所造成的误差是否在误差容许值之内。
·当使用快捷命令来操作主界面时应小心,此时应将主界面设为 OPEN(打开)
状态。这样每一个栅格都会表现出其属性。详见第 4.4.6 节。
·如果多于一个网眼被用于计算,那么就不会有计算机背景压力产生。事实上,
我们已假设在不同的区域中信息可以做到相互渗透。
·在并行计算中,我们可通过设置 SYNCHRONIZE(同步值)=.TRUE.来调整
所有网眼在同一时端上开始工作。在此设置下,所有网眼都会同步工作。对单一处
理器系统,网眼联合计算将减弱甚至消除使用网眼联合运算的一切优势,但是,对
一个并行计算来说,如果因为网眼未作好更新准备而在计算过程中无法响应命令,
那么处理器会作出相应显示。如果处理器足够快,那么即使将那个网眼更新到更细
小的理想化时段上也并不会耽误任何事情。这样做的好处是会在网眼间建立更紧密
的联系。当然还可以按照同步性要求来选择网眼。为达此目的,可将
“SYNCHRONIZE(同步值)=.TRUE.”加入适合的 GRID(栅格)线中,否则可将
“SYNCHRONIZE(同步值)=.TRUE.”加入到 TIME(时钟)线中,因为它比 GRID
设置有更高的优先级。
·如果一个平面物靠近两个毗邻的网眼,应确认每一个网眼都能“看到”该平
面物。如果距离其中一个网眼太远,那么该网眼将无法计算该物,因此两网眼间就
无法正确传递信息了。
·当使用网眼复合计算时,计算效率可如此检查:
1) 设置“SYNCHRONIZE(同步值)=.TRUE.”在 TIME 线上;
2) 使程序运行几百个时段;
3) 对两个 CHID.OUT(见第 c.1 节)打印输出文件的结果进行对比。我们可选
择两个运算 100 次所用的时间,并将此时间相减来观察不同。这个结果是一个平均
结果。

17
4) 查看每个网眼的 CPU 进度,其最大值应小于或接近于平均结果。并行计算
的效率是最大 CPU 进度,除以平均结果后所得值。如果这个值介于 90%~100%,
说明并行计算工作良好。

4.3 设置全体参数:MISC 名称列表组


MISC 是各类输入参数的名称列表组,且仅有一个 MISC 工具条可被加入数据
文件。当范围或重要性不同,该 MISC 参数均会有所不同。在这一目录下的最重要
参数是一个可以决定究竟是进行大型涡流模拟(LES)计算,还是进行直接数字模
拟(DNS)计算的参数。如果需要 DNS 计算,在 MISC 工具条上设置 DNS=.TRUE.
即可。关于 MISC 工具条使用的一个例子是:
&MISC SURF_DEAULY=‘CONCRETE’,REACTION=‘METHANE’,
DATABASE=‘c:\nist\fds\database4.data’/
此操作建立了所有接触面均由混凝土制成(除非还有其它明显设置),燃烧物
为甲烷的设置。另外混凝土、甲烷的定义及其它一些关键词的定义都可通过定义在
DATABASE 中的输入文件中找到。
其它 MISC 输入包括:
·DATABASE(数据库)
:该文件包含了关于表面材料及不同燃料燃烧参数等
信息。该文件中若无一条目被使用,那么就不用再指明了。
·DATABASE_DIRECTORY(数据库索引)
:该文件指明了各数据文件的存放
地点。若该索引被详细说明,那么就没有必要再去指定每一个数据库文件。此文件
默认存在于 database4.data 文件中。
·SURF_DEAULY(默认列表):该文件指明了被认为是默认文件的地址。其
默认值为‘未激活’。SURF 是一个用于描述单元及外表面特征的名称列表组,它将
在第 4.4.1 节中被讨论。
·REACTION(反应物表):该文件指明了将被使用的各反应物的具体参数。
默认值为‘丙烷’,这意味着除非再加说明,系统总认为燃料是丙烷。详见第 4.4.2
节。
:显示外界温度值(默认值为 20 ℃)
·TMPA(温度显示) 。
·U0,V0,W0:表示速度初始值,单位为 m/s。这些主要用于定义通过主界面
的初始风速(默认值为 0 m/s)。
·TMPO:显示主界面的温度计算值(默认值为 20 ℃)

·NFRAMES:将每次计算中的数据以默认值输出。除非 DTSAM 在 THCP、
SLCF、BNDF 名称列表组中详细说明(默认值为 1000)

·DTPAR:插入体在实体表面插值时的时间增量。如果希望定义更多的插入
体,应降低该参数的输入值(默认值为 0.05s)

18
·DTSPAR:插入体在实体内部插值时的时间增量(默认值为 0.05s)

·DTSAM_PART:插入体数据读入时的时间增量。这些数据都被保存在
CHID.OUT 文 件 中 , 该 文 件 被 用 于 产 生 一 个 良 好 的 操 作 界 面 ( 默 认 值 为
TWFIN/NFRAMES)。
·NPPS:每个计算单元中的可计算点的数量。所设置的最大数量将定时存入
CHID.PART 文件中(默认值为 100000)。
·MAXIMUM_DROPLETS:每个网眼中所能承受的最大可计算点的数量(默
认值为 500000)。

4.4 对参数和火的描述
大多数的计算基于详细的模拟空间几何形态和适用的边界条件。其几何形态矩
形传热可燃障碍物描述,等等。空气或者燃料可由出口在流动区域注入或者流出。
给每个障碍物赋值,描述出口的热特性以确定其边界条件。着火只是边界条件的一
种。下面介绍如何规定边界条件。以及需要由障碍物和出口来描述的边界条件。

4.4.1 对边界条件的描述:SURF
SURF 是对固体表面或开口在流域范围内的边界条件。障碍物或出口的物理坐
标在 OBST 以及 VENT 行中列出。 障碍物和出口的边界条件在 SURF 行中描述,SURF
的参数之前有描述。固体表面默认的边界条件是凉的,内部墙。如果仅需要这种边
界条件,我们没有必要给输入表添加 SURF 行。如果要想得到额外的边界条件,必
须每次都在边界条件中列出。每一个 SURF 行都由一个辨识字符 ID=′.. .′来组
成,用它来引入障碍物或出口的参数。而每一个 OBST 和 VENT 行的特征字符为 SURF
_ ID=′...′,用其指出 SURF 的 ID 包含了想要的边界参数。如果特殊的 SURF 行
像默认的边界条件那样被应用的话,则以 CONCRETE(混凝土)为例,在 MISA 行输
入 SURF _DEFAULT=′CONCRETE′

火(混合模型)火是固体中的高温分解燃料表面或出口与空气混后和最主要的
模型。这是燃烧的默认混合模型。给出单位区域的热时放比率或者燃料表面的热气
化值。反应的化学剂量由 MISC 行的 REACTION(反应)参数来建立。所有相关的
燃烧过程不可明确表示,但都可由混合片段变量进行估计和说明。以上情况的例外
是,有不参与反应的气体介入。他们只有稀释的作用。例如灭火器中的 CO2 和洒水
装置中的 H2O(第 5.5 节中有详细说明)。如果有限的燃烧模型比率取代默认混合模
型值的话,见 5.6 节。
以下是应用混合片段的方法来描述火灾中的参数表。

HRRPUA 单位面积热时放速率(kW/m2)这个参数用来控制燃料的燃烧比率,

19
如果需要的是一个假定大小,那么只需要建立 HRRPUA 就可以了。例如
& SURF ID=′FIRE′,HRRPUA=500 . /
则 500 kW/m2 适用于任何 SURF ID=′FIRE′的表面特性。参照下文时间边界条
件来学习如何调整热时放比率。

HEAT_OF_VAPORIZATION(kJ/kg) (蒸发热).他和 HRRPUA 只能选两者中的


一个。它是指固体过着液体达到燃点温度后蒸发所需要的能量。若想通过火灾的热
反馈得到燃料的燃烧比率则是用这个参数而非 HRRPUA。不要将指定的 HRRPUA
和 HEAT _ OF _ VAPORIZATION (kJ/kg)在 SURF 行中共用.他们是相互抵触的两
个输入。同样,如果 HEAT_OF_VAPORIZATION 为指定的假设材料,那么必须提
供点火源来点燃材料。

BURN_AWAY 一旦物质的燃烧耗尽了,那么它可在计算中忽略,这种情况我
们 就 建 立 BURN_AWAY=.TRUE.. 应 用 这 个 参 数 时 要 慎 重 , 如 果 一 个 物 质 具 有
BURN_AWAY 的特性,应该建立额外的存储量来存储附加的表面信息,被看作是矩
形的阻碍物被吞食。如果 BURN_AWAY 被指定为 SURF 的参数,那么固体物质随
其 SURF_ID 一起从计算中忽略,如同每个网格的质量燃烧耗尽一样,网格的质量
是网格体积与阻碍物密度的乘积。只要密度给定,障碍物至少有一个网格宽,那么
就能对材料应用 BURN_AWAY。注意,若 BURN_AWAY 给定,则 SURF 应该是一
个完整的目标,不仅是物质的一个面,因为如何处理固体障碍物的边缘是不清楚的,
就是说不同的面有不同的 SURF_ID。还应注意,易燃物数量等于密度乘以网格体积,
为了与统一的网格尺寸相一致,若障碍物体积改变了,则 FDS 不能调整燃烧比率来
进行说明。

热边界条件:有四种边界条件:固体的表面温度固定,固体的表面热通量固定,
热量的分布高的固体或热量分布低的薄板,给定一边界条件,只能选择以上的一种
表面。若固体表面有固定温度,则建立 TMPWAL 作为表面温度,以℃为单位,对
于表面热通量一定的固定,建立 HEAT_FLUX 来作为热通量,其单位为 KW/M3。
若 HEAT_FLUX 是正的,则墙体加热环境空气,反之则反。
固体表面升温是由于热辐射和周围空气对它的热对流。对于热量分布集中的固
体,我们指定热传导率为 KS(W/m·K),密度为(kg/m3),比热为 C_P(kJ/kg/K),材
料厚度为 DELTA(m)。KS 和 C_P 可作为温度的函数,密度不能作为温度的函数,
查看下面关于 RAMPS 的讨论有更详细的说明,热传导率的给定促使代码执行通过
材料厚度的一维热传导的计算,这个厚度并不与整个墙的厚度相同,而是衬层材料,
它构成最外层的墙壁。
对于热量分散的墙衬,给出 C_DELTA_RHO,比热的值(kJ/kg/K),密度(kg/m3),
和衬垫厚度。假设热量分散的衬层在其上有相同的温度,这三个参数可以使用
C_P(kJkg/K),DELTA(m)和 DENSITY(kg/m3)来分别给出,C_P 可以作为温度的依据。

20
注意,没有热传导率指导代码来执行,则用热量分散的代替热量集中的来计算。若
热传导率给定,则用热量集中的情况考虑执行。
温度一定或者热通量一定的情况容易应用,但在真实的火灾中它的有效性是很
有限的。大多数情况下,墙体、天花板和地板由很多衬层材料构成,最重要的是最
外面的那层,FDS 只考虑最外层的热特性。假设这个衬层后面有空气间隙,且具有
周围环境的温度(就像木钉钉着的石膏薄板一样)或与绝缘材料相连,以保证衬层
材料没有热损失,或者与墙的另一侧相连。在默认条件下,假定墙的衬板后有气体
间隙,若墙的衬层后贴着绝热材料,就像钢板靠着纤维板,在 SURF 一行表达其方
式为 BACKING=′INSULATED′(隔热的),它防止热量从材料后部流失,可以以家
具为例进行应用。近来 Fleischmann 和 Chen(对室内装潢的可燃物质进行研究的两
位学者)建议处理覆盖聚氨酯泡沫塑料板的织物,作为热量分散物质产生比热量集
中物质更紧密的联系。如果使用热量分散物质的数据,则应调用属性为 BACKING=
′INSULATED′(隔热的)。最后,若想要使热量通过墙体传入墙后面的空间,应该
使用属性 BACKING=′EXPOSED′(暴露) ,以上的特征只适用于厚度为一个网格
的墙体和计算的定义域内另一面积非零的墙体。很明显,若墙体作为范围的外部边
界,那么热量会在空隙中损失。
固体表面的发射率可以用 EMISSIVITY,它是一个默认值。如果墙的衬层材料
是可燃的,我们用 TMPIGN 来建立燃点即在此温度材料开始燃烧,单位为℃。它只
适用于热量分散或者热量集中的衬层。固体表面流出的热量具有传递性和辐射性。
如 果 建 立 了 TMPIGN , 那 么 单 位 面 积 热 释 放 速 率 HRRPUA 和 蒸 发 热
HEAT_OF_VAPORIZATION 也应给定。(默认:TMPIGN 为 5000℃ 。除非这个参
数明确指出否则无燃烧发生)
下面是一小部分 SURF 行。这些以及其它的一些 SURF 行在 DATABASE(数据
库)中建立。
&SURF ID = ′CONCRETE′
FYI = ′Thermally-thick material′
KS = 1.0
C_P = 0.88
DENSITY = 2000.
DELTA = 0.2/
&SURF ID = ′UPHOLSTERY′
FYI = ′Assumed thermally-thin material′
C_DELTA_RHO = 1.29
BACKING = ′INSULATED′
TMPIGN = 280.
DENSITY = 20.0

21
HEAT_OF_VAPORIZATION = 2500./
&SURF ID = ′SHEET METAL′
FYI = ′Thermally-thin material′
C_DELTA_RHO = 4.7/

速度边界条件 速度边界条件影响边界速度的法向和切向分量。速度法向分量
由 VEL 参数来控制。若 VEL 为负数,则流动是进入计算范围内的,反之则反。有
时我们希望得到的是通风口(或燃烧面)的体积流而不是速度。假如是这种情况,
则须给出体积流 VOLUME_FLUX 而不是速度 VEL。体积流的单位是 m3/s.若流体进
入计算域,则为负。上述两个参数任取其一即可,不可同时使用。选择的依据要看
给定的是确切的速度还是体积流。规定的通风口尺寸常常是变化的,因为它要与网
格尺寸一致。要注意,对于定义 VOLUME_FLUX 参数的 SURF 语句只能在 VENT
中 而 不 在 OBST 中 。 最 后 还 应 注 意 , 如 果 给 出 了 HRRPUA 和
HEAT_OF_VAPORIZATION,就不要再定义速度。易燃气体以计算机得出的速度评
射出。
下面是一个简单的通风口的描述
&SURF ID = ′BLOWERL′,VEL = -1.2,TMPWAL = 50./
命名为 BLOWERL 的风口将 50 ℃的空气以 1.2m/s 的速度吹入计算域。速度为正的话
空气将被吸出,那么对温度进行定义就没有必要了。
切向速度边界条件控制气体对固体表面的粘性。理论上,表面的切向速度为零,
但在边界层内快速增加。对大多数实际问题,网格很粗糙,不能解决边界层问题,
因为边界层仅有几毫米厚。由于这个原因,在 LES 计算中,墙的切向速度由紧邻墙
体的网格上的速度分量来建立。仅在 DNS 计算中墙体的切向速度为零。为了改变
默认值,我们引入一个参数 VBC。他得值在-1 和 1 之间变化。若是固定墙,则取-1。
若是活动墙取 1 。在-1 到 1 之间的取值,表示部分滑动的情况,这种情况适用于
网格很大的模拟。 (对于 LES 计算,VBC 的默认值是 0.5,对于 DNS 计算,VBC 的
默认值是-1.0)
在排风口(或固体表面)的例子中,描述流体法向和切向分速度(或仅是切向
分速度)是有可能的。法向分量被定义为 VEL,就像上面介绍的那样。切向量是由
一对实数定义的 VEL _T。例如:
&SURF ID = ′LOUVER′,VEL = -1.2,VEL_T=0.5,-0.3/
它表示的边界条件是:通过天窗向空间内以法向风速 1.2 m/s 送风,切向风速 0.5m/s
(在 x 向或 y 向)、-0.3 m/s(在 y 向或 z 向)
,这依法向量而定。

时间边界条件 在人一个计算的开始,环境、温度、流速处处为零,没有燃烧,
所有分段的质量是相同的。在开始计算的时候,温度、速度、燃烧率等等都由他们

22
的初始值开始增加这是因为数值变化不可能瞬时发生。默认的,每个量增加到他的
给定值的时间我们粗略的估计为 1 秒。然而,为了给出的 SUEF 行中列出的边界条
件,在变量开始变化或结束可通过详细时间记录来控制。上述边界条件可由以给的
或用户自己设定的时间函数得到。参数 TAU_Q 和 TAU_V 指的是在 TAU 秒以后热
量 或 液 力 上 升 到 他 们 的 给 定 值 并 保 持 不 变 。 TAU_Q 是 单 位 面 积 热 时 放 速 率
HRRPUA 或墙体温度 TMPIGN 随时间增加的特征值。TAU_V 是表面切向速度 VEL
或体积流 VOLUME_FLUX 的增加时间。如果 TAU_Q 为正,则热时放比率按照双
2
取正切 tanh(t/τ)规律增加。如果是负值,则 HRRPUA 符合(t/τ) 曲线。假如燃烧符
合 t2 曲线,在 TAU_Q 秒后保持定值。对 TAU_V 同样成立。对两者来说,默认值
是 1 秒。若数量的增加不符合 tanh 或者 t2 曲线,则用户必须根据燃烧历史记录详细
说明。这时,要建立一个 RAMP_Q 或者 RAMP_V 来表达一系列的特性从而给定数值增
长的方程以供使用,然后在输入列表的某处用以下形式列出:
&RAMP ID=′rampname1′,T=0.0,F=0.0/
&RAMP ID=′rampname1′,T=5.0,F=0.5/
&RAMP ID=′rampname1′,T=10.0,F=0.7/
&RAMP ID=′rampname2′,T=0.0,F=0.0/
&RAMP ID=′rampname2′,T=10.0,F=0.3/
&RAMP ID=′rampname2′,T=20.0,F=0.8/
这里,T 是时间。F 指的是热释放速率、墙体温度、速度、质量分数等。应线性
插值得出中间的时间点。确保给定方程的起始时间是 0,也就是点燃时间。注意,
TAU 和 RAMP 是相互排斥的。对于给定的界面数值,不能同随时使用这两个参数。
例如:上述的一个简单的通风口可以通过这个命令进行控制
&SURF ID=′BLOWER′,VEL=-1.2,TMPWAL=50.′
RAMP_V=′BLOWER RAMP′,
RAMP_Q=′HEATER RAMP′/
&RAMP ID=′BLOWER RAMP′,T=0.0,F=0.0/
&RAMP ID=′BLOWER RAMP′,T=10.0,F=1.0/
&RAMP ID=′BLOWER RAMP′,T=80.0,F=1.0/
&RAMP ID=′BLOWER RAMP′,T=90.0,F=0.0/
&RAMP ID=′BLOWER RAMP′,T=0.0,F=0.0/
&RAMP ID=′BLOWER RAMP′,T=20.0,F=1.0/
&RAMP ID=′BLOWER RAMP′,T=30.0,F=1.0/
&RAMP ID=′BLOWER RAMP′,T=40.0,F=0.0/

23
引入气流的温度和速度的增加遵循相同的函数。二者也可由不同的 TAU_Q 和
TAU_V 分别控制。

温度边界条件 固体的定压比热(C_P)和导热系数 KS 可以应用 RAMP 语句来


建立温度边界条件。比如:对于适合的高温墙体材料进行应用。
&SURF ID=′MARINITE′
RGB = 0.70,0.70,0.70
BACKING = ′EXPOSED′
EMISSIVITY=0.8
DENSITY = 737.
RAMP_C_P=′rampcp′
RAMP_KS=′rampks′
DELTA=0.0254/
&RAMP ID=′rampks′,T=24.,F=0.13/
&RAMP ID=′rampks′,T=149.,F=0.12/
&RAMP ID=′rampks′,T=538.,F=0.12/
&RAMP ID=′rampcp′,T=93.,F=1.172/
&RAMP ID=′rampcp′,T=205.,F=1.255/
&RAMP ID=′rampcp′,T=316.,F=1.339/
&RAMP ID=′rampcp′,T=425.,F=1.423/
注意:以温度为依据的量,RAMP 参数 T 代表的是温度,F 指的是 C_P 或 KS 的
值。C_P 和 KS 都不在 SURF 行给出,但可以用 RAMP 给出。人们可以把这两个量设
为定值,或者使用 RAMP 命名,但不能同时应用这两种方法。

4.4.2 燃烧参数:REAC
有两个方法来描述火灾:一种是在 SURF 行中定义单位面积热时放速率
HRRPUA。另一种是描述 HEAT_OF_VAPORIZATION,在这种情况下燃料的燃烧率
依照的是表面的净热反馈。以上两种情况要用到混合燃烧模型。REAC 行用于燃料
和氧气相反应的多种相关的参数。注意,如果只有火灾的的热释放速率由 HRRPUA
给出,那么这些参数不必修正。但是,如果燃料的燃烧行为由
HEAT_OF_VAPORIZATION 来描述,那么要慎重的选择适当的反应参数。详细内容
见 4.4.3 节
假定单个碳氢化合物燃烧产生 CO 和煤烟。

24
CxHyOz+Vo2O2→Vco2CO2+VH2OH2O+VcoCO+VsootSOOT (4.1)
给燃料、O2 、CO2、H2O 指定理想的系数,且生成 CO 和煤烟。以 CO 为例,
其生成量和燃料质量相关,燃料转化生成了 CO,则表示为 yco。不要直接给定 CO
和煤烟的系数,因为这些数字通常的依据是产物质量。我们假设 CO 和煤烟在燃烧
的情况下生成并转化为燃烧产物。不考虑增长性,氧化和过燃烧。我们仍在继续研
究如何精炼处理这些不完全燃烧产物。目前,在计算的开始,我们调整理想的 O2 、
CO2、H2O 系数来说明 CO 和煤烟的产量。实际应用于计算的系数如下
Mf Mf y z
Vo 2 = ( x − yco − ys ) + −
2Mco Mc 4 2
Mf Mf
Vco2 = x − yco − y
Mco Mc
y
VH 2 0 =
2
Mf
Vco = yco
Mco
Mf
Vsoot = ys
Mc
随后的参数会在 REAC 行给出。注意,只有 REAC 行可以使用。通常,我们在 MISC
行从 DATABASE(数据库)通过 REACTION(反应)参数选择一个反应。

ID 命名反应的一串字符。若 REAC 行包含在输入数据文件内,则它具有可选性;


若 REAC 行包含在 DATABASE 文件中,则它具有强制性。
NU_O2 ,NU_H2O,NU_FUEL,NU_CO2 烃类燃料发生反应的理想系数。NU_FUEL
的默认值是 1。所有的系数都是正的。默认是的丙烷的以上数值。
MW_FUEL 燃烧的分子量(g/mol),默认的是丙烷的分子量,其值为 44 g/mol。若
燃料中含氮,则引入参数 FUEL_N2 来说明其中有多少摩尔的 N2。以 C3H7NO2
为例,其中 FUEL_N2=0.5。因为其中有一半的 N2 分子。

SOOT_YIELD 燃料的质量转移成烟气微粒的分数,ys.注意,这个参数不能应用于
生成煤烟和氧化作用的情况,但是适用于火灾产生烟气微粒的净生成物(默认
值是 0.01)。

CO_YIELD 燃料质量转化为 CO 的分数 yco.通常,这个参数不必建立,因为默认的


yco 与 SOOT_YIELD(ys)相关联。

25
12 x
yco =
MfVf 0.0014+0.37 y
s

X 指的是燃料分子中的碳原子个数,Mf 是燃料的分子量,Vf 指的是燃料的系数,


这里我们设为 1。注意,这种相互关系指的是完全通风的火灾。

EPUMO2 单位质量氧气所具有的能量,ΔHo2(kj/kg)。消耗单位质量的氧气释放的
能量。 (默认值为 13100 kj/kg)
,注意,由于煤烟和 CO 的出现,燃烧热有少量
改变。
Vo 2 Mo2
ΔH≈ VfMf ΔHo2
RADIATIVE_FRACTION 燃烧时由于热辐射产生的能量分散,这个参数需要一些说
明,详见 4.4.3 节。 (默认值为 0.35)

下面给出一点 REAC 行。可以在 DATABASE 文件中看到更多的 REAC 行。


&REAC ID=‘METHANE’
MW_FUEL=16
NU_O2=2.
NU_CO2=1.
NU_H2O=2.
RADIATIVE_FRACTION=0.15
SOOT_YIELD=0.01/

&REAC ID=‘WOOD’
SOOT_YIELD =0.01
NU_O2 =3.7
NU_CO2 =3.4.
NU_H2O =3.1
MW_FUEL =87.
EPUMO2 =8850.

4.4.3 与燃烧相关的重要论点
这个部分介绍了多种影响气体状态参数(REAC 行)和固体(液体)状态参数
(SURF 行)的近似值,这些近似值用来补偿少于期望的网格划分提案,或者少于

26
混合燃料模型的限度的部分。
热量释放率:对于粗网格的计算,不可能解决充分燃烧的火灾,而且最终热量
释放率和火焰高度可能被低估了。有几种方法来纠正这个问题,一个方法是在定义
燃烧板的时候选择不同的混合比。这个部分已经建立了程序,这个程序再次定义了
混合比中的系数。
Zf , eff D∗
= min(1, C )
Zf δx
Zf 是理想的混合比系数,C 是一个经验常数(不是输入参数)
。D﹡是火的直径特征。
Q 2
D∗ = ( )
ρ∞cpT∞ g 5

判断是“好”还是“坏”依据的是火的尺寸和网格单元的尺寸。与小的 D﹡值
和/或大的网格划分相关,试图减少混合比系数可以得到对火焰高度和构造更好的评
估。在 D﹡值很大而网格很小的时候,不需要调整混合比系数。通常,充分解拆的
网格不需要进行这种修正,但很多例子中,在火附近做细密的网格划分是很难的,
即使那时有足够的网格用来划分其余的空间。
默认的,对混合比的系数作重新的调整会自动应用。要将其关掉,则在 MISC
行指定 AUTOMATIC_Z=.FALSE.,在这种情况下理想的混合比系数用于标定燃烧区域。
同时,可以通过在 REAC 行建立一个不是 1 的 Z_CONSTANT(常数)对火焰高度作较
小的调整。这个参数本质上是 Eq 中的 1/C 的规格化形式(4.2) 。减少 Z_CONSTANT
就缩小了火焰高度,反之则反。

辐射比:火的能量释放比作为热辐射,是燃点和化学成分的函数,但这两者在
大尺寸火灾计算中是未知的。在计算中,网格是以厘米计的,或者更大,当处理辐
射传热方程的源项时,火焰表面附近的温度是不可信的,特别是因为 T4 。要作补偿,
如果我们描述一个非零的 RADIATIVE_FRACTION 值,则网格被火焰辐射所分割,其中
的化学能将减少。一些能量被吸引到别处,产生比 RADIATIVE_FRACTION 小的净辐射
损失,这是由火灾的大小以及煤烟的加载决定的。如果要按其原理来形式使用辐射
传热方程,则 RADIATIVE_FRACTION 应该取零,
而辐射传热方程中的源项独立的建立在气体温度和化学成分上。

燃烧热:通常用户不明确给出燃烧热。通常,在 REAC 行列出的化学反应参数用


于计算燃烧热。但是,如果 HEAT_OF_VAPORIZATION 在 SURF 行给出而材料的
燃 烧 热 和 调 节 反 应 后 给 出 的 值 不 同 , 我 们 就 在 SURF 行 引 入
HEAT_OF_COMBUSTION(kJ/kg)
。在基于混合比的燃烧模型中,假设只有一种燃
料。但是在实际的火灾中,在建筑物中由很多种物质燃烧可能会产生很多燃料。通
过 REAC 给定主要反应的化学剂量。通常这些参数位于 DATABASE 文件内,这时
在 MISC 行简单的描述 REACTION(反应) 。

27
如果燃烧材料的化学剂量和总体反应不同,则应用 HEAT_OF_COMBUSTION
来保证燃烧物质产生的燃料注入流域是等量的。

燃烧速度预测:通过 SURF 行的 HRRPUA 参数给定燃烧速度,或者根据是燃


料的热特性和 HEAT_OF_VAPORIZATION 来预测燃烧速度。后者给计算引入了一
个不确定度的接近值,因为燃烧速度是从火中反馈的能量(通过传递和辐射)与固
体(液体)燃料传导的能量的函数。多种现行仍处于研究阶段,要知道计算中出现
错误的潜在性。最大的错误源于从火到然料表面辐射的热通量。这个错误归因于边
界层分辨率不足网格的化合物和吸收系数、燃点的不确定性。结果,燃料表面的热
通 量 常 常 超 过 预 测 。 直 到 辐 射 计 算 进 行 改 进 , 在 SURF 行 引 用
BURNING_RATE_MAX(kg/m2/s)来防止燃料的过度热分解,才限制了燃料的燃烧
速度到它的标准极大值。

气相火灾抑制:建立火灾抑制的模型依靠的是抑制主体(就像 CO2 或者水雾)


的引入,或者归因于隔离室中氧的耗尽,它就有很强的挑战性,因为相关的自然机
构的长度尺寸比单个网格小。燃烧熄灭是由于温度降低和氧气供应不足。在混合模
型中,只有稀释作用出现在计算中因为我们假设燃料和氧气燃烧而忽略温度。但是,
在 FDS 中有简单的抑制算法,他试图列出混合化学物的表面附近是否有火焰。技术
参考指导中有详细的介绍。在 REAC 行用户能应用参数是氧限制指数 X_O2_LL 和
CRITICAL_FLAME_TEMPERATURE(临界火焰温度)。两者都在 REAC 行中建立。
默认值分别是 0.15 和 1427℃。 要关闭抑制运算, 则在 MISC 行建立 SUPPRESSION=.
FALSE.

4.4.4 创造障碍物:OBST
OBST 列出关于障碍物的信息。每个 OBST 行都包含流域内矩形固体物质的坐
标。这个固体默认为两个点(x1,y1,z1)和(x2,y2,z2),在 OBST 行中的表达形式为六
个一组 XB=X1,X2,Y1,Y2,Z1,Z2.除了坐标之外,障碍物的边界条件还可以
由参数 SURF_ID 给出,SURF 给出的是障碍物的表面状况。如果障碍物的顶部、侧
面和底部有不同的边界条件,不要只用 SURF_ID 描述一个边界条件,用含有 3 个
字符串的数组(SURF_IDS)来分别描述顶部、侧面和底部的边界条件(IDS)。如
果想得到默认的边界条件就不要建立 SURF_ID(S) 。但是,如果有至少一个障碍物
表面条件默认为惰性,就可以应用′INERT′。例如

&SURF ID=′FIRE′,HRRPUA=1000.0/
&OBST XB=2.3,4.5,1.3,4.8,0.0,9.2,SURF_IDS=′FIRE′, ′INERT′, ′INERT′
/

28
令障碍物顶部着火。这是描述燃烧的简单方法。
障碍物的一些附加特性如下:
z 除了 SURF_ID 和 SURF_IDS,还可以用六个一组的参数 SURF_ID6,如下:
&OBST XB=2.3,4.5,1.3,4.8,0.0,9.2,
SURF_ID6= ′ FIRE ′ , ′ INERT ′ , ′ HOT ′ , ′ COLD ′ , ′ BLOW ′ , ′
INERT′/
6 个表面描述符指的是位面分别是 x=2.3,x=4.5,y=1.3,y=4.8,z=0.0,z=9.2 。注意
SURF_ID6 不应像 SURF_ID 和 SURF_IDS 那样在 OBST 行中使用。
z 障碍物厚度可以取零。通常,薄板(就像窗户)构成屏障,但是数字的网格粗
略的和屏障的厚度有关,若假设它具有一个网格的厚度,则障碍物可以不用很
大。为了弥补这一点,FDS 的逻辑性作了改变以至于障碍物所有的面都移位到最
靠近网格的地方。如果障碍物非常薄就可以近似的认为两个面在同一个网格面
上。FDS 和烟气景象对薄板型的障碍物进行补偿,但是它只允许对热量集中和热
量分散的边界条件使用。这个特性仍然很脆弱,特别是在燃烧气体和排风的时
候。薄板式的障碍物在其表面只有一个速度分量,气体不能被可靠的从薄板式
的障碍物注入因为无论怎样从一边推进,都会从另一边来下来。为了完整的功
能性,障碍物至少要描述为一个网格的厚度。薄板式的障碍物可以作为活动屏
障,但是其他的特性很弱,所以要慎用。同样要注意,与早期 FDS 版本不同,
现在太小的障碍物和下面的数字网格联系是不允许的。当测试的网格很粗糙的
时候一定注意。
z 在模拟的过程中障碍物可以移动或者创造。详见 5.4 节
z 障碍物可以根据 HOLE 洞穿特性被保护。有时用 HOLE 来创造一个门或者窗是很
方便的。例如,我们可以用墙上穿一个洞来表示门和窗。用障碍物填充这个洞
可以进行详细说明,只要 OBST 行中包括 PERMIT_HOLE=.FALSE.语句。总之,任
何的 OBST 障碍物都可以用这个语句来穿洞。默认的,PERMIT_HOLE=.TRUE.,表
示 OBST 障碍物是可穿透的除非有另外的指示。

4.4.5 创造空间:HOLE
给现有的障碍物或者是建立的障碍物穿洞通常是很方便的。
&HOLE XB=2.0,4.5,1.9,4.8,0.0,9.2/
任意的固体网格体积在 2.0<x<4.5,1.9<y<4.8,0.0<z<9.2 内。将障碍物
交叉分割成小方块。如果这个洞表现为门或者窗,就不易钻太多的洞。例如 OBST
行给出一个 0.1 米厚的墙:
&OBST XB=1.0,1.1,0.0,5.0,0.0,3.0/
若要加一个门,则添加:

29
&HOLE XB=0.99,1.11,2.0,3.0,0.0,2.0/
给洞的 x 坐标加上额外的厘米使其更清楚,这个洞穿透了一个完整的障碍物。
当我们开了一个洞 HOLE 的时候,受影响的障碍物或者被丢弃,或者被创造或者
在预定时间内被删除。例如,在给定时间给 HOLE 行添加参数 T_CREATE 来开洞。同
样的,T_REMOVE 在给定时间之后将洞添满.注意在 HOLE 行的 T_CREATE 和 OBST 行中
的 T_CREATE 具有相反的作用。同样也适用于 T_REMOVE。
如 果 要 开 一 个 洞 或 者 是 移 除 一 个 洞 来 响 应 HEAT 热 探 测 器 , 则 使 用 参 数
HEAT_CREATE 或者 HEAT_ REMOVE。两者都是由字符串来命名适当的 HEAT 热探测器。
例如:

&HOLE XB=2.0,4.5,1.9,4.8,0.0,9.2,HEAT_CREATE=′heat2′/
&HEAT XYZ=3.2,4.4,6.8,ACTIVATION_TEMPERATURE=74.,RTI=100.,LABEL=′
heat2′/

以上的命令在 heat2 激活的时候开了一个洞。注意,过去习惯于给 T_CREATE


和 T_REMOVE 赋上负值,但在这里是不能运作的。同样,如果 HOLE 行含有
HEAT_CREATE=′ALL′,则任意的 HEAT 热探测器可以开洞。
如果想要切除某障碍物则应该使用与原始障碍物不同的颜色,在 HOLE 行建立
一 个 三 原 色 三 角 。 如 果 张 爱 武 没 有 被 HOLE 刺 透 , 我 们 给 OBST 行 添 加
PERMIT_HOLE=.FALSE.
通过设置作业 (在 TIME 行建立 TWFIN=0)
或者短期作业来测试调查 T_CREATE
和 T_REMOVE 的运行是可行的。
注意 HOLE 不能用于 WENT 出口或者网眼的边界。

4.4.6 给定通风口和表面:VENT
尽管 OBST 用于描述计算定义域中的障碍物,我们还是用 VENT 来描述临近障碍
物的位面或者墙的外部。为障碍物选定方式相似的通风口,使用六个一组的 XB 来表
示紧邻固体表面位面。
六个坐标中的两个必须是一样地,表示固体相对的位面。有一种简单的方法来
描述完全的外部强, 用 CB 取代 XB。 CB 是字符串且他的值在下面值中选一:′XBAR
′,′XBARO ′, ′YBAR ′,′YBARO ′,′ZBAR ′,′ZBARO
′它们分别表示位面 x = XBAR , x = XBARO ,
y = YBAR , y = YBARO ,z = ZBAR ,z = ZBARO.比如一个障碍物,通风口的边界条件
用 SURF_ID 描述,它自身可以应用 SURF 行来描述。如果想要默认的边界条件,则
SURF_ID 不必建立。

30
在做多重网眼模拟的时候要慎用 CB,就是在超过一个矩形网眼的时候。可以
通过关键词 CB 对所有的的网格指定平面,关于是实体墙平面还是开放边界,二者
有可能导致混淆。检验烟气的几何状态来确定 VENT 被合理的给出。尽可能的使用
颜色来对其进行双重检验。详细内容见 4.4.7。
VENT 属于容易令人误解。按照字面意思,VENT 可以用来模拟建筑的通风系
统构成。在这种情况下, 实体表面平面的 VENT 坐标形成管道的边界。假设空气
被挤出或者吸入墙体则不需要给实体开洞。和字面理解不同,VENT 仅适用于在固
体表面矩形部分的特殊边界条件。例如,通过 OBST 行首先产生的固体障碍物来创
建一个火灾,然后通过 SURF 行中的 SURF_ ID 描述固体某一个面从而给定 VENT,
描述了燃料热量特点和燃烧特性。
有两种 SURF_ID 可以应用到 VENT 中。一个是 SURF_ ID=′OPEN′。只有在
计算域内如果 VENT 适用于外部边界条件则 SURF_ ID=′OPEN′可以使用,那就
表示对外界是被动开放的。这里假设计算域内的外部边界条件是实体墙,OPEN 打
开的通风口本质上说就是门和窗。第二个 SURF_ ID 用于对称平面,这时 VENT 具
有属性 SURF_ ID=′MIRROR′。通常,一个 MIRROR 镜像跨越计算域内的整个
平面,在本质上 MIRROR 镜像就像对称的平面那样使定义域的范围增大为双倍。
MIRROR 镜像相对面上的流动是完全颠倒的。从数字的角度看,MIRROR 镜像是无
流动自由滑动的边界。在 OPEN 打开的条件下,只有在计算域内的外部边界才可以
给出 MIRROR VENT,在这种情况下马上就可以使用 CB 符号了。
在模拟过程中,计算域中的通向外部的通风口(OPEN VENT)可以关闭或者
打开。详细内容见 5.4 节。
对于这个规则这里有一个例外,应该给出 VENT 冲刷实体障碍物或者外部边界。
在没有实体表面的计算域的内部给出 VENT,如同风机那样冲刷它。例如:
&PDIM XBAR=1.0,YBAR=1.0,ZBAR=1.0/
&SURF ID=′BLOW′,VEL=2.1,TAU_V=5.0
&VENT XB=0.50,0.50,0.25,0.75,0.25,0.75,SURF_ID=′BLOW′/
上面几行在网格边界内创造了一个平面,它以2.1m/s的速度在正x方向
送风,在5秒钟内速度提升。总之,与VENT相关联的VEL值与实体表面并不
相同它在坐标方向吹送气体,通常若VEL是正的,则VENT为正;若VEL是
负的,则VENT为负。注意,在SURF行只有含有随意设立VENT的速度边
界条件是适用的,因为没有可供热力影响的实体障碍物或者材料边界条件。
对于WENT最后一个要注意的是:如果出现一个错误消息要求给出通风口方
位的话,首先检查以确保通风口是一个平面。如果通风口是平面,然后通过参数I
OR来强制给出方位。如果正常的话VENT通风口在x方向的正半轴,建立IO
R=1。如果正常方位是x方向的负半轴,建立IOR=-1。对于y方向和z方
向我们分别使用2和3。建立IOR有时可以解决这个问题,但是更有可能在出现
方位错误时VENT通风口掩盖在实体障碍物中,在这种情况程序无法确定VEN
T的方位。

31
4.4.7 障碍物,通风口和表面的着色
表面和障碍物的着色有很多方法。如果想要与 SURF 行相关的所有表面用同样
的方式着色,则在 SURF 行给出 3 个称为 RGB(三原色)的数字。这 3 个数字在 0
和 1 之间,代表红、绿和蓝调配出来的颜色。表 4.1 列出了各种颜色的 RGB(三原
色)指数。极力推荐,通过 SURF 行标定表面颜色,因为 FDS 的几何图形变得更复
杂了,用颜色来标定我们想要了解的表面特性是很有用的。例如
&SURF ID=′UPHOLSTERY′,……RGB=0.0,1.0,0.0/
表示烟气景象图中家具的颜色为绿色。R、G、B 可以用于创造更生动的颜色。最好
避免使用主色,因为这些相同的颜色已经被烟气景象图使用作为轮廓颜色。
障碍物和通风口可以分别着色,在各自的 OBST 或者 VENT 行使用 COLOR= ′
RED′,′BLUE′,′BLACK′,′YELLOW′,′GREEN′,′ MAGENTA
′,′WHITE′,′CYAN′,或者′INVISIBLE′。使用′INVISIBLE′(不可
见)因为通风口和障碍物没有画出。通过在 OBST 或者 VENT 行使用 RGB 也可以
给出颜色来获得更丰富的调色板。使用 RGB 是由优越性的,特别是在创造不于柔
和的颜色冲突的,可以表示温度、浓聚物等等的颜色。

表 4.1:多种颜色的 RGB 值
颜色 红 绿 蓝
红 1.0 0.0 0.0
绿 0.0 1.0 0.0
蓝 0.0 0.0 1.0
白 1.0 1.0 1.0
黑 0.0 0.0 0.0
灰 0.5 0.5 0.5
洋红 1.0 0.0 1.0
黄 1.0 1.0 0.0
青 0.0 1.0 1.0
棕褐 0.8 0.6 0.4
橙 1.0 0.5 0.0

32
4.5 拉格郎日粒子 PART 名单组
在 FDS 中,水或液体燃料液滴流动,信息流跟踪程序和其它各种东西被作为拉
格郎日粒子来使用。有时这些粒子有质量,有时又没有质量,一些蒸发了,一些吸
收辐射等等。PART 是用来描述与拉格郎日粒子有关的参数名单组
不同类型的拉格郎日粒子的性质特征可以通过一个或多个 PART 语句来设定。
正如 SURF 语句包含固体表面或通风口的性质特征一样,PART 语句包含了有关粒
子和液滴的信息。一旦使用 PART 语句对一种类型的粒子或液滴做出描述,那么这
种粒子或液滴的名字在输入文件的其他地方被引用。例如,一个输入文件可以包括
几个不同类型的拉格郎日粒子的性质特征的 PART 语句:
&PART ID=`smoke`,…/
&PART ID=`warer`,…/
通过定义材料性质的 SURF 语句, 这些拉格郎日粒子能够在固体表面被采用
(导入),例如:
&SURF … , PART_ ID=`smoke`,…/
或为了改变由喷水器喷洒的液滴的性质,PART 语句能够从 SPARK 语句引出。
例如:
&SPRK PART_ ID=`warer`,…/
加在模拟中的拉格郎日粒子的出现频率由参数 DTPAR 和 DTSPAR 控制,这两
个参数在 MISC 中描述。无论什么类型,在每个 DTPAR 秒插入位于固体表面的粒
子,在每个 DTSPAR 秒插入喷水器喷出的液滴。有许多不同的粒子类型插入是不可
能的。
对拉格郎日粒子最简单的使用是实现可视化,在这种情况下粒子被认为是没有
质量的示踪物,这时,粒子有以下语句定义:
&PART ID=`tracers`,MASSLESS=.TRUE., …/
对无质量粒子的其它选择:
SAMPLING_FACTOR 粒子输出文件 CHID.part 的取样因素。这个参数能够被
用来减少粒子输出文件的篇幅,这些文件过去被用来激活模拟。(缺省值 1 )。
QUANTITY 当被视为一个动画过程时,是一个表明哪一个标量应该被用来给粒子
加 色 的 特 征 窜 。 选 择 为 ` TEMPERATURE ` ( ℃ ), ` DIAMETER ` (um), 或 `
VELOCITY ` (m/s). 如果粒子将是一种颜色,依次列出 QUANTITY= ` RED ` , `
BLUE`,`BLACK`,`YELLOW`,`GREED`,`MAGENTA`,`WHITE`
或 ` CYAN ` 注 意 如 果 粒 子 是 MASSLESS( 无 质 量 ) , 根 据 他 们 的 `
TEMPERATURE`或`DIAMETER`来赋予他们颜色是不合适的。与早期的 FDS
版本不同, 粒子颜色不再由气态量决定,而由粒子本身特性决定。例如,`
TEMPERATURE`指粒子本身的温度(假设它有质量)而不是当地的烟气温度。

33
AGE 粒子或液滴存在的秒数。当试图减少在模拟中粒子或液滴的数量时是非常
有用的参数。
对于没有质量的拉格郎日粒子,可以在 PART 语句中包括以下附加参数。注意
这些参数只能为某些类型的粒子或液滴使用并且当他们有联系时需要被详细列出。
DENSITY 液体或固体粒子/液滴的浓度(缺省值 1000kg/m3 )
VAPORIZATION _TEMPERATURE (缺省值 100℃)
流动液滴的沸点。
MELTING_TEPERATURE 流动液滴的融解热。(缺省值 0℃)
SPECIFIC_HEAT 液体或固体粒子/液滴的比热。
(缺省值 4.184kJ/kg/k)
HEAT_OF_VAPORIZATION 液滴的蒸发前热。(缺省值 2259kJ/kg)
DIAMETER 粒 子 或 液 滴 的 平 均 直 径 , 假 设 是 一 个 Rosin-Rammler 和
Log-normal 的联合分布(缺省值 100um)。这个分布的范围由参数 GAMMA_D 控制,
缺省值 2.4.对喷水器的数据文件讨论的详细情况见 4.6.1 节。 (缺省值 100um)
STATIC 表 明 粒 子 是 移 动 还 是 作 为 障 碍 或 混 乱 物 。 这 个 参 数 仅 在
NUMBER_INITIAL_DROPLETS 大于 0 时使用.(缺省值.FALSE.)
FUEL 是表明液体是否蒸发为燃气并耗尽的逻辑参数。(缺省值.FALSE.)如果
FUEL=.TRUE. ,那么增加燃料的 HEAT_OF_COMBUSTION(kJ/kg).
WATER 表明液滴是否蒸发为 WATER VAPOR(水蒸气),它是自动加到计算中
一个独立参数。
NUMBER_INITIAL_DROPLETS 在模拟开始时确定粒子或液滴的范围.(缺省
值 0)。如果是非零,也详细说明 MASS_PER_VOLUME(kg/ m3 ),它详细说明了每单
位体积粒子/液滴的质量(缺省值 kg/m) 。不要把这个参数与 DENSITY(浓度)混
淆。例如,水的 DENSITY 为 1000kg/ m3 ,而一升水分解为液滴并散布在 1 立方米的
MASS_PER_VOLUME 为 1kg/ m3 。
DROPLETS_PER_SECOND 每秒钟进入每个激活喷水器的液数滴。注意这个
参数值影响喷水器的液滴。改变这个参数不能改变流动率,相反的液滴数过去常常
用来描述流动(缺省值 100) 。

4.6 喷水器和探测器
为了很好的表示喷水器的喷洒分布和液滴尺寸,需要一个文件形式在一个文件
中记录有关喷水器的所有情况。文件中的大量信息传送给在 job_name.data 数据文件
中简单列出喷水器物理坐标的使用者,特定喷水器的数据被保存在叫作
sprinkler_name.spk 的文件中。感热探测参数在输入文件中自己给出。需要我们做得
是在 job_name.data 数据文件中列出物理坐标和 RTI.

34
4.6.1 列出喷水器:SPRK 名单组
一个给定喷水器的信息被包含在一个独立的文件内,例如,叫作
sprinkler_name.spk 的文件,图 4 种表示了一个样本文件。所有喷水器的特征都储藏
在这个文件中。使用则者只需再输入数据文件 job_name.data 中提供以下语句形式:
&SPRK XYZ=3.0,5.6,2.3,MAKE=`sprinkler_make`,LABEL=`door` /
喷水器的物理坐标由三个实数一组的 XYZ 给出。喷水器的特性有一个特征字符
串 MAKE 给出,这个特征字符串中存在一个叫做 sprinkler_name.spk 的文件,文件
包含喷水器的热特性和其他信息。在各种输出文件中信息窜 LABEL 只是一个确认
喷水器的描述工具。通过在 SPRK 语句本身上在几秒内设定 T_ACTIVATE,对手动
喷水器有另一种选择。通过设定 T_ACTIVATE 喷水器能被关闭。并且,向下的喷水
器在其它方向可以重新定位。三个 ORIENTATION 能被加入一个给定的 SPRK 语
句来改变喷洒的方向。ORIENTATION 的缺省值
是(0,0,-1)
,如果进行了以下描述:
&SPRKXYZ=3.0,5.6,2.3,MAKE=`sprinkler_make`,
ORIENTATION=1,0,0 /
喷水器将指向 X 方向,如果喷水器的喷洒不是对称的,另一个叫做 ROTATION
的参数通过一个给定的数字能被用来形成旋转喷洒。缺省值为 0。但为了保证喷水
器如所期望的那样被重新定位,要对喷水器的流量计算进行试验。
除了把喷水器的参数列入 SPRK 语句,我们可能还想调整一些控制进入喷水器
的液滴的数量和频率的参数。这些参数典型的在 PART 列表下加入,详细情况见 4.5
节。
如果喷水器系统是干管类型,通过在 PIPE 语句行增加一个 DELAY (s)来为系统
描述一个延迟时间。PIPE 名单组包括作为一个整体的喷水器系统的信息。此刻,他
仅包括两个参数 DELAY 和 PRESSURE. 注意 FDS 只提供了一个 PIPE 语句,如果
设 DELAY 为非零,那么在水被允许从任何一个被激活喷水器中流出之前,一定量
的时间必须被耗费。
注意喷水器产生大量需要归入计算的液滴。为了限制运算负荷,喷水器的液滴]
喷洒时间限制在 60 秒的 AGE(时间段)内,并且当这些液滴击到计算领域的下界时便
消失了,不管它是不是固体。为了允许液滴的存在长于 AGE 时间,在 SPRK 语句中
加入 PART_ID=`whatever`,这里`whatever`是一个 PART 语句的 ID(标识符),
它能够被用来修改水滴的性质。例如:
&SPRK XYZ=3.0, 5.6, 2.3, MAKE=`sprinkler_make`,PART_ID=
`my water droplet` /
&PART ID=`my water droplet`, WATER=.TRUE. , AGE=300. , QUANTITY=`
DIAMETER` /
允许控制来自喷水器的一些水滴的性质。短语 WATER=.TRUE.对引导程序把水

35
滴蒸发为 WATER_VAPOR(水蒸气),而不要求明确把 WATER_VAPOR 加入计算非
常重要。短语 QUANTITY=`DIAMETER`引导 Somkeview 根据液滴的直径来给液
滴加色。
为了阻止 FDS 从计算领域的下界移走喷洒的液滴,在 MISC 语句中加入短语
pOROUS_FLOOR=.FALSE. 但是,当心落在地板上的液滴继续以随机选择的方向在
水平移动,试探着障碍物并消耗着 CPU 的时间。
列在 sprink_name.spk 文件中的喷水器特征为:

RTI 喷水器反应时间(Response Time Index)以 m ⋅ s 为单位 (缺省值 165)。

C-FACTOR 喷水器的 C-Factor 以 m ⋅ s 为单位(缺省值 0)



K-FACTOR 喷水器的 K-FACTOR,以 L/min/bar1/2 为单位(缺省值 166)
。流
动率由 m=k/p 给出。
这里 mw 是以 L/min 为单位的流动率,k 是以 L/min/bar1/2 为单位的 K-factor(K
因素),P 是以 bar4 为单位的标准压力。
ACTIVATION_TEMPEREYURE 环节激活温度(℃)(缺省值 74℃)

OPERATING_PRESSURE 喷水器的工作压力,以 bar 为单位。这是喷水器被测
试的压力。如果希望使喷水器处于一个不同的压力,而不是测试时的压力,一个简
单的语句
&PIPE PRESSURE=1.5 /
应该被加如输入数据文件中,并且此后所有喷水器以这个新的压力工作,如
1.5bar。两个压力的原因是根据喷水器以一个不同的压力工作而不是测试时的压力
的事实对液滴尺寸分布做了一个轻微的调整。在缺少任何具体使用压力 PRESSURE
的情况下,列在.spk 文件中的 OPERATING_PRESSURE 被使用.
OFFSET_DISTANCE 喷水器周围领域的半径(m)
,这里是模拟时水滴最初的
位置。假设在 PRESSURE 或以上,液滴一进完全分解并在彼此间相互独立传递。(缺
省值 0.10m)。
VELOCITY 液滴最初速度分布的描述,这里有两个输入选择,由在语句中的 1
或 2 紧跟在关键词 VELOCITY 后设计而成。 对情况一, 参数:最小喷洒角度 (Minimum
Spray Angle),最大喷洒角度(Maximum Spray Angle)和速度(Speed)应该给出其
值.这些喷洒角度描述出了与南端领域有关的圆锥形喷洒方式,这个领域集中于喷水
器的 OFFSET_DISTANCE 喷洒半径内。例如,最小喷洒角度为 20°和最大喷洒角
度为 80°引导水滴通过一个南端以北的 20°和赤道以南 0°的区域离开喷水器。液
滴被均匀的分布在这一带。如果知道更多的关于喷水器喷洒的信息,那么关键词后
面跟 2,表示液滴的速度分量以一个函数形式给出,此函数中的 na 是起于球体末端
的方位角(纬度)。nl 是开始于框架机构的纬度,整数 na 和 nl 应该向例子那样
(Fig.4.2)被列在语句中“2”的后面。情况 2 种 VELOCITY 数据被应用在集中在
喷水器的周围领域,喷水器的辐射直径为 OFFSET_DISTANCE。这是离开喷水器的

36
典型距离,这里所有喷洒特征尺寸都已经被编入。
FLUX 水的相对流量(kg/m2/s),对于 VELOCITY 在情况 2 中以相同的方式进
入。如果在情况一中由于 VELOCITY 被使用,甚至没有必要指定一个 FLUX。
SIZE_DISTRBUTION 关于液滴大小分布的信息。液滴直径的中值可以是一个
中值,也可以被描述为一个立体角的函数。如果直径中
值独立于其位置,关键词 SIZE_DISTRIBUTION 在下一个语句中将跟随在数字 1 后
来表明给出的是一个整体平均。其后的下一个语句有体积直径中值 .( 在样本中为
800um)加上来自 Rosin-Rammler/Log-normai 分布的 y 参数。
⎧ 1 d 1 − [In ( d '/ d2 m ) ] dd '
2

⎪⎪
⎨ 2π
∫0 σd '
e 2σ
(d ≤ d m )

⎪ − 0.693(
d γ
)
⎪⎩ 1− e dm
(d m < d )
F(d)= (4.4)

注意参数 σ 的值由 σ = 2 /( 2π ( In2)γ ) = 1.15 / γ 给定,它保证两个函数在 d=dm


处光滑的连接。大一点的值 y,较窄尺寸的液滴被分布在中值周围。它的缺省值为
2.4。
如果知道作为喷水器一个函数的立体角的液滴尺度中值大小的信息,信息能够
通过向下面的例子一样给出:
SIZE_DISTRIBUTION
2
412.4
700
600
500
400
这里,数字 2 是引导 FDS 以某种方式读下面几个语句的数字代码。4 表明喷水
器从南到北的周围领域有 4 个直径中值。每一个纬度带有一个唯一的值,这意味着
这个值独立于经度。值 700um 对应南极 45°S, 600um 对应赤道的 45°S,500um 对
应赤道的 45°N,400um 对应北极的 45°N.根在经度和纬度后的数字 2.4 是 y 的值。
注意 y 不是一个位置函数。只有直径中值可以视位置函数。
关于喷水器更多的信息,见技术参考知道[1]。

4.6.2 列出热探测器:HEAT 名单组(The HEAT Namelist Group)


HEAT 是用来列出热探测器的名单组。在数据输入文件中一个探热器的设定使

37
用以下形式的语句:
&HEAT XYZ=3.0 ,5.6 ,2.3,RTI=132. ,ACTIVATION_YEMPERATURE=74.,
LABEL=`door` /
与喷水器相同,热探测器的物理坐标由三个实数为一组的 XYZ 给出,不同于
喷水器的是,没有热探测器的热特性外部文件 RTI 是以 m ⋅ s 为单位的时间反映标
准 Response Time Index。ACTIVATION_TEMPERATURE 是以 C 为单位的环节激活
温度, (缺省值 74°C) 。LABLE 只是一个描述符。
注意一个热探测器能够引起一个事件的发生,如向外开一个通风口或移走一个
障碍物一样。详见第 5.4 节。
MANUFACTURER
Acme
MODEL
Splash2000
OPERATING_PRESSURE
0.50
K-FACTOR
80.
RTI
110.
C-FACTOR
0.
ACTIVATION_TEMPERATURE
74.
OFFSET_DISTANCE
0.10
SIZE_DISTRIBUTION
1
2.4
VELOCITY
2
60 , 24
6.3 ,6.4 ,6.5 ,…(24 longitudinal zone,like time zone in this case).
(60 azimuthal zone south poie to north poie, 3 degrees per zone)

38
FLUX
2
60 ,24
11.9 ,13.0, 13.5, … .
图 4.2:一个喷水器的样本文件。注意关键词应该恰好被写在如这里写的一样,
它们应该开始在每个语句的最左边。注意这个样本文件包括了一个相当详细地对喷
洒方式的描述,并要求相当广泛的测量方式。大多数情况下,只用一些参数就能够
对 VELOCITY 和 FLUX 进行描述。

4.7 输出文件
计算开始之前,仔细考虑应该保存什么信息。所有输出量在开始计算之前必须
被详细列出。如果不是这样,计算完成后就没有办法检索信息。把计算的结果可视
化有几种不同的方法。像一个热电偶温度测量仪,对试验者非常熟悉的方法是保存
一个给定的量,这个量位于空间一点,这样这个量就能够被描绘成一个时间函数。
THCP 名单组被用来列出热电偶或测量点。
一个被激活的等值面是一个标量的三维等值面。例如,一个 300°C 的温度等
值面表示某处的烟气温度为 300°C。缺省时,混合分流的化学标量值由一个等值面
形象的表示出来。选择几个其它参数通过等值面形象化。
为 了 更 好 的 使 流 动 方 式 可 视 化 , 通 过 使 用 SLCF(SLICe File ( 文 件 ) ) 或
BNDF(BouNDary File)名单组可以保存二维数据,气态或是固态。所有这些输出文
件形式允许按时激活这些量。
对于流动区的静态画面,使用 PL3D(Plot3D 文件)名单组。作为及时在一瞬间储藏
覆盖整个网格的列出的量。Plot3D 型式被许多 CFD 程序使用。
最后,示踪粒子能够从通风口或障碍物被注入流动区域,然后再 Smokeview 中
观察。使用 PART 名单组控制注入率,抽样率和其它与粒子有关的参数。注意,不
象在 FDS 版本 1,粒子不再用来把热引进流动物,因此粒子不再从沸腾的液体表面
喷射出来。
由于数据转存而增加的时间能够被控制, 对于 THCP, SLCF, ISOF 和 PART 文件,
每 TWFIN/NFRAMES 秒数据写出到文件。参数 NFRAMES 可以被列在 MISC 语句
中。对于 PL3D 数据每 TMFIN/5 秒被写出。为了改变任何输出文件的抽样率,参数
DTSAM 应该被放在那个特定组的的任何一个语句。例如,如果希望 THCP 数据每
秒都被写出,那么串 DTSAM=1 应该被写在 THCP 语句中的一个。这个词条表明所
有 THCP 数据每秒钟都被写出。所有其它文件根据缺省值的增加或根据另一个
DTSAM 的描述升级。

39
4.7.1 点测量:THCP Name Group(名单组)
THCP 是一组参数的名字,这组参数能够被用来作为一个时间函数来记录各种
量的值,很像热电偶或其它点测量。每一个 THCP 语句有点坐标组成,这些点的测
量值被纪录,XYZ,和一个参数记录。这些量是固态(表 4.3)或气态(表 4.2)的。
许多气态量是自我说明的,但是,还有一些要去说明。例如,热电偶自己的温度通
常接近烟气的温度,但也不总是这样。它由下面公式中 TTC 的迭代解决来决定[7]。
ε TC (σTTC4 − U / 4) + h(TTC − Tg ) = 0
(4.5)

这里 ε TC 是热电偶的发射率,是积分后的发热密度 Tg 是烟气的真实温度,h 是一
个小区域的热传导系数, h = k a Nu / Pr/ d TC .对有一个小区域的对流传热的详细情况
的 Techni-cal Reference Guide 中了 解有关水滴的热传递。
但对一个固态量进行描述,要保证探针的位置在固体表面。固体表面在哪并不
是常常很明显,由于网格不总是排列在输入的障碍物位置。
为了确定合适的表面,当设定一个固态量时参数 IOR 必须被包括 。如果固体
表面的方向在 X 正方向 IOR=1, X 负方向 IOR=-1, y 正方向 IOR=2,y 负方向 IOR=-2,
z 正方向 IOR=3, z 负方向 IOR=-3。仍然有 FDS 不能决定的情况:哪一个表面正在
被设定。这种情况下,一个错误的信息出现在诊断输出文件中。重新定位探针并在
试一次。例如,语句
&THCP XYZ=0.7 ,0.9 ,2.1 ,QUANTITY=`WALL_TEMPERATURE`
IOR=-2,LABEL=`whatever` /
设定面向负 y 方向的墙体表面温度。
除了点测量,THOP 组能被用来记录综合量(见表 4.4)
。例如,我们常常想知
道流出门或窗的流量,为了对此纪录,增加语句
&THCP XB=0.3 ,0.5 ,2.1 ,2.5 ,3.0 ,3.0 , QUANTITY= ` MASS
FLOW`,LABEL=`whatever` /
注意在这种情况下,列出的是一个平面而不是一个点。6 个数字为一组的 XB
的使用目的就在此。注意期望得到一流量时,需要这六个数中的 2 个的坐标相同。
类似的 QUANTITY,HRR,能够被用来计算定义域的子集内的整体热释放率。在这种
情况下,XB 应该被用来定义一个体积量而不是一个平面。只有通过使用 XB 才能
列出平面或体积,综合量以此平面或体积为基础—-避免平面或体积在复杂的网络边
界冲撞。FDS 必须决定在整体中使用哪一个网眼,并选择最好的网眼交迭所设定平
面或体积的质心。
为了在输出文件中使识别更容易,热电偶可以用的特征字符串 LABEL

40
标明。输出文件是一个叫做 CHID_tc.csv 的 ASCII 定界符,它有被用来输入很大范
围的软件包。

4.7.2 激活的平面信息片:SLCF 名单组


SLCP( “slice 文件”)名单组允许记录多于一个点的各种气态量。 “slice”指整个
定义域的子集。根据 XB 的值,它可以是一条线,一个平面或体积。XB 子集说明
了每秒都将要记录 QUANTITY 值的区域边界。XB 象在 OBST 和 VENT 组中那样
描述,6 个值中的 0,2,4 个值同样个字说明了一体积,一个平面或一条线。有一
个很方便的窍门列出,例如,如果希望切过定义域的 y=3 的整个平面被保存,
PBY=5.3 可以代替 XB。PBX 和 PBZ 各自控制垂直 X 和 Z 轴的平面.
片文件信息记录在标有 CHID_n.sf 的文件中,这里 n 是 slice 文件的标志(指数)
一个 Fortran90fds 程序 2ascii 从一条线段,一个平面或体积产生一个 test 文件。详见
4.7.6 节。
图 4.3 展示了几个垂直激活片断快照,片断来自根据烟的温度片断改变颜色的
Smokeview.Slice 文件通过从 Smokeview 中的 Load/Unload 菜单选择希望的文件来展
示。
使用包括两个或更多的 Slice 文件展示被激活的矢量。矢量的方向和长度从 U,V
和/或 W 速度 slice 文件中决定。矢量的颜色从 Load/Unload 菜单中选择的文件夹(如
温度) 。图 4.4 显示了连续的矢量对应图 4.3 中发现的有细微变化的温度轮廓线。

4.7.3 被激活的边界量:BNDF 名单组


BNDF(“边界文件“)名单组允许记录所有固体障碍物表面的量。表 4.2 中列出了
可能的输出量。如 SLCF 组,每一个量用一个独立的 BNDF 语句描述,输出文件为
CHID_n.bf 格式,物理坐标数需要被列出.
质量 描述 符号 单位
DENSITY 密度 ρ Kg/m3

TEMPERATURE 气体温度 T ℃
THERMOCOUPLE 电热欧温 TTC ℃

U-VELOCITY 速度分 u m/s



V-VELOCITY 速度分 v m/s

41
W-VELOCITY 速度分 w m/s

VELOCITY 流动速 u 2 +ν 2 + w2 m/s

PRESSURE 扰动压 ~
p Pa

H H = u /2+ ~ (m/s)2
2
被密度除 p/ρ
的整体压

HRRPUV 每单位体 q& ''' KW/m3
积的
MIXTURE_FRACTION 繁分数 Z kg/kg
DYNAMIC_VISCOSITY 粘滞系 ∇ ⋅u Kg/m/s

KINEMATIC_VISCOSITY 运动粘滞 ν = µ / ρ M2/s
系数
DIVERGENCE 散度 u s-1
WMPUV PVU 水 m w''' Kg/m3
质量
WATER VAPOR 水蒸气质 Yw kg/kg
量分数
oxygen 分数 X O2 ( Z ) mol/mol
氧气体积
Oxygen mass fraction 氧气质量 YO2 ( Z ) kg/kg
分数
fuel 燃气体积 X F (Z ) mol/mol
分数
nitrogen 氮气体积 X N2 ( z) mol/mol
分数
water vaper 水蒸气体 X H 2 o (Z ) mol/mol
积分数
carbon dioxide co 体积分 X CO2 ( Z ) mol/mol

42

carbon monoxide 体 积 分 XCO(Z) ppm

soot volume fraction 煤烟体积 ρ Ys/ ρ s ppm
分数
soot density 烟粒子浓 ρ Ys mg/m3

extinction coefficient 消 光 系 K=km ρ Ys 1/m

visibility 能见度 S=c/k m
DROPLET_FLUX_X x 方向水 m& w'' ( SLCFonly ) Kg/m2/s
质量流量
DROPLET_FLUX_Y y 方向水 m& w'' ( SLCFonly ) Kg/m2/s
质量流量
DROPLET_FLUX_Z z 方向水 m& w'' ( SLCFonly ) Kg/m2/s
质量流量
表 4.2:对 THCP,SLCF 或 PL3D 的烟气输出量。注意放低的情况量只对牵涉到
混和分馏的计算适用。如果个别种类通过 SPEC 名单组列出,质量和体积分数是
[SPECIES_ID]和[SPECIES_ID]_VE。water vaper 和 WATER VAPOR 各自表明
由燃烧产生的水蒸气的体积分数和来自被蒸发的喷水器液滴的质量分数。对
extinction coefficient 和 visibility 的详细讨论见 5.10 节。

图 4.3 位于起火区的一个垂直平面在火熄灭后 t=(30,60,240)的有细微变化的温


度轮廓线的片断快照文件。这些轮廓的数据文件通过增加语句 &SLCF PBY=1.5,

43
QUANTITY=`TEMPERATURE` /到一个 FDS 输入文件来产生。

图 4.4:位于起火区的一个垂直平面在火熄灭后 t=(30,60,240)的有细微变化的矢
量图的片断快照文件,这些矢量图的数据文件通过增加语句 &SLCF PBY=1.5,
QUANTITY=`TEMPERATURE`,VECTOR=.TRUE. /到一个 FDS 输入文件来产
生。

44
物理量 描述 符号 单位
净辐射
• ''
RADIATIVE_FLUX 换热强 qr KW/m2

进入实
体的热 • ''
CONVECTIVE_FLUX q c = h(Tg − Tw ) KW/m2
对流换
热强度
进入实
体的热 • '' • ''
HEAT_FLUX qr + qc KW/m2
交换强

对于温
度低的
• '' • ''
GAUGE_HEAT_FLUX 墙壁的 q r / ε + q c + h(Tw − T∞ ) + σ (Tw4 − T∞4 ) KW/m2
等效换
热强度
入射的
• '' • ''
INCIDENT_HEAT_FLUX 热流强 q r / ε + q c + σTw4 KW/m2

墙体温
WALL_TEMPERATURE Tw C

INSIDE_WALL_TEMPER 墙体内
Ts(x) C
ATURE 温度
单位面
• ''
BURNING_RATE 积的质 mf Kg/m2/s
量损失
PRESSURE_COEFFICIEN 压力系 1
Cp=(p-p0)/ ρ ∞U 2 N/A
T 数 2
单位面
• ''
WMPUA 积的含 mw Kg/m2
水量
单位面
积水的 • ''
WCPUA qw KW/m2
制冷强

45
表 4.3:对于 THCP 和 BNDF 的实体状态的输出量。注意:(1)HEAT_FLUX
和 GAUGE_HEAT_FLUX 是不同的概念。前者表示由实体表面吸收的能量速率,后
者表示如果表面温度较低时所能吸收的能量的总量。当在实验中比较预测时,采用
GAUGE_HEAT_FLUX 更加恰当。如果在实验中使用的热流强度标准的温度和周围
环境不同,我们需要把 GAUGE_TEMPERATURE 写入 MISC 行。 (2)如果需要描
述 PRESSURE_COEFFICIENT , 我 们 同 时 需 要 确 定 公 式 中 的 U, 通 过 参 数
CHARACTERISTIC_VELOCITY 写入 MISC 命令行。 (3)为了得到墙体内温度――
INSIDE_WALL_TEMPERATURE,参数 DEPTH(m)必须在 THCP 命令行中提供。
注意,INSIDE_WALL_TEMPERATURE 只能在 THCP 中使用,不能用于 ENDF 和
QUANTITY.

对于单独的 BNDF 命令行,输出文件形式为 CHID_n.bf。我们可以不指定物理


坐标系,但是仅局限于 QUANTITY 和 DTSAM。
注意 BNDF 文件可以变的非常庞大,所以在取定时间间隔的时候应该慎重。减
小输出文件大小的一个方法是在遇到障碍物的时候“关闭”对于边界信息的描述。
对于任意已经给定的 OBST 命令行,如果包括 BNDF_BLOCK=.FALSE.,那么障碍
物 就 不 是 彩 色 的 。 为 了 关 闭 所 有 边 界 的 描 述 , 需 要 在 MISC 行 设 置
BNDF_DEFAULT=.FALSE. 。然后,对于单独的障碍在适当的 OBST 行重新设定
BNDF_BLOCK=.TRUE.。
图 4.5 显示了一个边界文件中几张栩栩如生的截图,这些截图的表面的色彩代
表了它们的温度。边界文件的显示可以通过从 Smokeview 中加载/卸载菜单的选项中
调出。

4.7.4 等值面:ISOF 命令行组


ISOF 命令行组允许一条记录储存一个或者多个单一气体状态量值,并且可以对
它 们 进 行 排 序 。 这 些 量 包 括 DENSITY , TEMPERATURE , HRRPUV 和
MIXTURE_FRACTION。在默认情况下,混合部分的计量值被存储。比如,三个不
同的温度值可以通过下边的命令行存储
&ISOF QUANTITY=`TEMPERATURE`, VALUE(1)=50., VALUE(2)=200.,
VALUE(3)=500./
这里的值表示摄氏度。注意 isosurface 输出文件 CHID_n.iso 可能变的非常庞大,所
以实验要考虑不同的取样率。
图 4.6 显示了 isosurface 文件中的几张截图,这些截图表示了许多时间段的火焰
(混合部分的水平≈0.05)以及烟气层分界面(混合部分的水平≈0.001) :上述值仅
仅是一个范例。烟气层的可视化效果随着混合部分的不同而产生很大的变化。

46
Isosurface 文件可以通过在 Smokeview 的装载/卸载菜单中的选择文件选项调出。

物理量 描述 符号 单位

VOLUME FLOW 体积流动速度 ∫ u ⋅dS m3/s

MASS FLOW 质量流动速度 ∫ ρu ⋅dS Kg/s

HEAT FLOW 热对流流动速率 ∫c p ρ (T − T∞ )u ⋅dS Kw

HRR 热释放速率 ∫ q& ′′′dV Kw

表 4.4:仅对 THCP 输出量的积分。这些物理量与点估计法不同,具体参照 4.7.1。

4.7.5 静态数据转存:PL3D 命令行组


PL3D 是限定什么样的数据可以被输出到 PLOT3D 格式的文件中的命令行组。
在输入的文件中,只有一个命令行。表 4.2 中的 5 个物理量通过 DTSAM 语句中应
及时的写成一个文件。默认的格式为
&PL3D DTSAM=TWFIN/5, QUANTITIES=`TEMPERATURE`, `U-VELOCITY`,
`V-VELOCITY`, `W-VELOCITY`, `HRRPUV`/
由于 Smokeview 使用上述文件绘制速度矢量,所以将速度矢量分解成上面的速度分
量形式是最好的。在参数 QUANTITIES(1)和 QUANTITIES(5)中可以改变相应的物
理量。
在 Plot3D 文件中,数据的存储使用了经过改进的 NASA 格式,许多 CFD 程序
都使用这些数据来描述模拟的结果。An FDS simulate creates a Plot3D file every
DTSAM seconds。Plot3D 数据的可视化途径有三种:采用 2D 曲线形态,矢量图以
及等值面。图 4.7a 展示了利用 2D 表示 Plot3D 曲线形态的样本。如果 u、v 和 w 这
三个速度分量中的一个或者多个储存在 Plot3D 文件中,那么我们就可以用矢量图来
表示。矢量的长度与方向表示了流体流动的方向和相应的速度。矢量的颜色表示了
流体物理量的标量数字,比如温度。图 4.4b 显示了在疏散门处的烟气流动的矢量。
从中我们可以注意,高温烟气(红色)从门的上部离开着火房间而低温的空气从门
的下部进入室内。图 4.8 给出了一个等值面的范例来表示两种不同的温度水平。
Plot3D 数据存储在 .q. 为扩展名的文件中。如果其他的可视化程序包正被用来使用
去运行这个文件,我们还有一个可选择的文件可以输出相同的信息。如果我们在
PL3D 命令行中写入 WRITE_XYZ=.TRUE., 就可以得到一个扩展名为 .xyz 的文件。
Smokeview 并不需要这种文件,因为我们可以在其他的文件中获得相同的信息。

4.7.6 从输出数据文件中解压缩
与从 Smokeview 中提供的计算结果相比,我们更希望从其他一些文件中得到。

47
因此,软件提供了采用 FORTRAN 90 语言编译的简单的 fds2ascii.f 程序,他的 PC
编辑版本文件称作 fds2ascii.exe。当需要运行这个程序的时候,可以在命令提示符后
键入 fds2ascii。这时候,使用者会被问及一系列问题,包括处理哪种类型的输出文
件,时间间隔和平均时间等问题。然后生成一个单一的文件 CHID_fds2ascii.csv。

图 4.5:燃烧后墙体温度在时间 t=(30,60,240)秒时,边界文件的截图。对
于这些截图数据文件的产生,可以在 FDS 输出文件中增加一行命令,
&BNDF QUANTITY=’WALL_TEMPERATURE’ /

图 4.6:燃烧后,在时间 t=(30,60,240)秒时,混合部分水平的截图。于这
些截图数据文件的产生,可以在 FDS 输出文件中增加一行命令,
&ISOF QUANTITY=’MIXTURE_FRACTION’, VALUE(1)=0.05,
VALUE(2)=0.001 /

48
火灾发生时的纵刨面 2D 温度 在通过门口纵刨面的温度向量图。按“a”
轮廓图以及天花板下的横刨面 键可以改变向量的尺寸,按“s”键可以
图 改变向量显示的数量。

图 4.7:Plot3D 轮廓及向量图范例

49
a) 140°C 的等值面 b) 320°C 的等值面

图 4.8:Plot3D 等值轮廓的范例

50
5 专门化的特性
下面的章节描述了 FDS 模型中的一些专门化的特性,这些特性通常不会被工程
应用所引用。这些特性中的一部分描述了当前的研究成果以及应该考虑的一些薄弱
环节。

5.1 停止与重新启动计算
一般来说,一项模拟是由具有先后次序的事件所构成的。然而,在一些偶然的
条件下,比如使用者需要关闭计算程序的时候,就需要一些局部调整,然后从刚才
的中断点继续进行计算。为了达到这样的目的,首先需要在输出文件所在的路径中
创建 CHID.stop 文件来保存中断点。需要注意的是,FDS 对大小写非常敏感。FDS
在每个时间段中查找是否有上述文件的存在,如果找到,就会在创建一个名称为
CHID.restart(或者 CHID_nn.restart)的文件之后关闭计算程序。当重新运行程序的
时候,CHID.restart 文件必须在当前工作路径中存在,并且要在数据文件中的 MISC
命令行中添加表达式 RESTART=.TRUE,从而控制程序继续进行计算。比如,假设
一项 CHID 名字为“plume”的工作被使用者中断,同时,使用者创建了一个虚拟文
件叫做“plume.stop” ,这个文件存储的路径与所有已经创建的输出文件的路径相同。
为了从中断点重新开始工作,我们需要在输入文件 plume.data(或者使用者以其他
名称命名的输入文件)中的 MISC 命令行中添加 RESTART=.TRUE。被保存的重新
开始文件和源程序具有相同的 CHID,它可以将新的数据继续写入。
当我们重新运行程序的时候,对重新运行程序的输出检测被记录在 CHID.out
文件中,这个文件是由源程序建立的。所有其他从源程序运行的输出文件也被记录
在这个文件当中。
当用户在程序运行期间内想要周期性的存储重新开始文件以防止突然断电或者
系统崩溃所造成的影响,我们可以在程序中设置等间隔时间的保存方式。比如,当
我们需要每 50 秒储存一次重新开始文件的时候,我们只需要在源文件开始处的
MISC 命令行写入 set DTCORE=50。默认的 DTCORE 为无限制,这意味着除非用户
自己创建了一个名称为 CHID.stop 的虚拟文件,否则不需要创建重新开始文件。
注意在程序停止和重新开始之间,计算内容不能有根本性的改变,比如增加或
者挪动出口以及障碍物。改变只能局限于某些参数,它们不会立刻改变已存在的流
体范围。由于重新开始的能力在 NIST 中很少使用,所以它的结构也比较脆弱不完
善。因此我们必须在停止和重新开始程序期间对输出文件检查,以确保没有意外事
件发生。

51
Y 轴变换 X 轴变换

图 5.1:分段线性变换 图 5.2:多项式变换

5.2 扩展栅格:TRNX,TRNY 以及 TRNZ 命令行组


默认栅格单元的计算区域的大小是相等的。然而,对于一些特殊栅格单元来说,
在直角坐标系的一个或两个方向上的长度可以是不相等的。对于给定的直角坐标系
-x,y,z,我们可以采用一个函数将不等空间物理栅格映射成相等空间的计算栅格。
以 x 轴为例,利用函数式 x=f(ξ)可以将等空间的计算坐标(CC) (XBAR0≤ξ≤XBAR)
映射成物理坐标(PC) (XBAR0≤x≤XBAR)。这个函数有三条强制的限定条件:首
先,它必须是单调函数;其次,它映射的计算坐标点 XBAR0 必须和物理坐标点
XBAR0 重合;第三,它映射的计算坐标点 XBAR 必须和物理坐标点 XBAR 重合。
默认的转化函数式为 f(ξ)= ξ(等栅格) 。如果在 x 轴方向的栅格等距,那么就不需要
进行专门的规定,也就是不需要写入&TRNX 命令行。对于 y 轴和 z 轴也同样如此。
我们可以使用两种类型的转化函数式。第一种,也是最简单的一种,是分段的
线性函数。图 5.1 以 y 轴为例,给出了一个分段线性转化的范例。图中说明了怎样
将不等空间物理栅(纵轴)格映射成相等空间的计算栅格(横轴) 。在这个范例中,
函数中的各个直线段部分的连接点为用户描述点(CC,PC) 。注意,这些点应该在附
加的命令中给出具体数值。在本样本中,这些点的参数设置如下:
&TRNY CC=0.30, PC=0.50, MESH_NUMBER=2 /
&TRNY CC=1.20, PC=1.00, MESH_NUMBER=2 /
参数 CC 指定计算坐标,位于横轴;参数 PC 给定了物理坐标,位于纵轴。在
本样本中,我们将横轴上坐标从 0-0.3 的等空间栅格单元映射成纵轴上坐标从 0-0.5
的栅格单元。然后将横轴上坐标从 0.3-1.2 的部分映射成纵轴上 0.5-1.0 的部分。最
后,将横轴上坐标从 1.2-1.5 的部分映射成纵轴上 1.0-1.5 的部分。直线段的斜率表

52
示了栅格是否被延展(斜率大于 1)或者是否被收缩(斜率小于 1)
。这个过程的重
点是用户通常在考虑延展或者收缩物理坐标时,必须推敲合适的计算空间(横轴)
来确定相应的计算坐标。注意,以上的变换只能应用于多重网格中的两重。
第二种转换形式可以采用下面的多项式函数:
dIDERIVf(CC)/dξIDERIV=PC
图 5.2 给出了多项式函数进行转换的范例。下面是范例中参数的使用:
&TRNX IDERIV=0, CC=0.75, PC=0.75, MESH_NUMBER=3 /
&TRNX IDERIV=1, CC=0.75, PC=0.55, MESH_NUMBER=3 /
上边的命令行是根据 f(0.75)=0.75 和 df/dξ(0.75)=0.5 写成的。或者说,函数
将 0.75 映射为 0.75,在 ξ=0.75 的时候函数的斜率为 0.5。注意,这些限制是可以选
择的。两个强制性的限制条件 f(XBAR0)=XBAR0 和 f(XBAR)=XBAR 并不需
要在程序中列出。这主要是由于强制限制条件已经包含在等式的线性系统中了,也
就是等式解决了 n 项多项式的系数问题。在上边的例子中,两种可选择的限制条件
加上两种强制限制条件可以构成一个单一的 3 次多项式 f(ξ)=c0+c1ξ+c2ξ2+c3ξ3。
更多的可选择限制条件将会导致更高阶的多项式。程序将会检查函数的单调性,如
果函数不是单调的,将会生成一个错误报告。注意,以上的转换应用于多重网格中
的三重。
在图 5.1 和 5.2 中的于横轴和纵轴平行的直线表示了我们是如何将横轴上等空间
的计算栅格转换成纵轴上不等空间的物理栅格。转换函数的斜率表示了计算单元被
伸展(斜率大于 1)或者被收缩(斜率小于 1)的程度。注意,在一个区域内延展的
单元会导致其它区域单元的延展。当一个或者两个坐标方向产生变换,在三维模式
下,栅格单元的变形率将会产生变化。从安全的角度来说,导致改变单元变形率的
转换不应该超过 2 或者 3。我们需要紧记,大型的涡流模拟技术主要是根据这样一
种假设:栅格的数量应该充分满足涡流的形成,这样的涡流对于混合是可靠的。一
般来说,涡流的形式受到栅格单元最大尺寸的限制。如果第三个方向上的尺寸相对
较大,那么在一个或者两个方向上扩展栅格可能并不必然导致较好的模拟。我们也
需要注意,一般的,转换会降低计算的效率,对于两个坐标方向上的转换将会比从
一个坐标方向上的转换效率更低。

5.3 初始条件:INIT 命令行组


通常,FDS 的计算开始于恒定的环境条件;也就是说,温度、空气密度和质量
分率的种类是固定的。然而,对于一些问题,在一些矩形房间内,我们可以便利的
改变环境条件。如果需要这样,我们可以增加一行命令:
&INIT XB=0.5, 0.8, 2.1, 3.4, 2.5, 3.6, QUANTITY=’TEMPERATURE’,
VALUE=30。
在这里,区域通过六个数据进行了限制,初始温度设定为 30°C。对于
QUANTITY=’DENSITY’或者 SPECIES_ID 我们可以使用同样的结构,SPECIES_ID

53
是一个特殊的字符串,它以列举的种类命名。
在检验烟囱效应的影响中,这样的结构是很有用的,因为烟气的进口温度和出
口温度是不同的。
通过在 SURF 命令行中的 TMPWAL0 参数,我们可以给出固体障碍物的初始温
度。

5.4 建立或移动障碍,打开或关闭风口
在许多火灾场景中,门、窗的开闭能引起给人印象深刻的变化在火灾场景中,
有时是有意做这些行为,有时是火灾的结果。在 FDS 计算体制中,这些行为由创建
或拆除一个实体障碍物代表,或打开或关闭一个外部开口。
在 OBST 行输入 T_REMOVE 或 T_CREATE 时间参数移去或建立实体障碍。例
如:
&OBST XB=…,SURF_ID=′whatever′,T_CREATE=39./
这行表示在模拟开始后的 39s 后增加这个已给的障碍,同样,下行表示在模拟
开始后的 39s 后减去这个已给的障碍。
&OBST XB=…,SURF_ID=′whatever′,T_REMOVE=39./
先建障碍后移去如下行所做:
&OBST XB=…,SURF_ID=′whatever′,T_CREATE=30.,T_REMOVE=39./
移去一个障碍,然后再建一个来代替它,需用两行:
&OBST XB=…,SURF_ID=′whatever′, T_REMOVE=30./
&OBST XB=…,SURF_ID=′whatever′, T_CREATE=39./
因为代码将这看作两个不同的障碍。
一个增加的特性一个障碍用温感器控制时间的增长或减短。在 FDS 中这个设备
是 HEAT(温度)探头。给特征组 HEAT_REMOVE 或 HEAT_ CREATE 赋值,温度
的名字将指导 FDS 移去或建立障碍物在探头激活时,例如:
&OBST XB=…,SURF_ID=′whatever′,HEAT_REMOVE=′det2′/
&HEAT XYZ=…,RTI=…, ACTIVATION_TEMPERATURE=87.,LABEL=′det1′/
&HEAT XYZ=…,RTI=…,ACTIVATION_TEMPERATURE=110.,LABEL=′det2′/
上几行引起给定的障碍物在指定的热探头被激活是被移去,假如
HEAT_REMOVE 或 HEAT_ CREATE 被设成“ALL”
,那么被期望的结果在任何一
个热探头被激活而产生。
障碍物的移去或建立也可用于联系两个控制域的门的建模。假如一个人想开或
关一个对计算域外(如大气)的门窗时,一个相似的参数可用在 VENT 行中。例如:

54
&VENT XB=…,SURF_ID=′OPEN′, T_CLOSE=39./
这行表示秒后关闭朝向控制域外的开口。
&VENT XB=…,SURF_ID=′OPEN′, HENT_OREN=′det1′
&HEAT XYZ=…,RTI=…,ACTIVATION_TEMPERATURE=87.,LABEL=′det1′/
&HEAT XYZ=…,RTI=…,ACTIVATION_TEMPERATURE=110.,LABEL=′det2′/
这行表示当第一个热探头激活时,打开本是关闭的开口。
对开口一个增加的特性是定义一个时间或热探头,这个可控制但开口的代码被
应用时,例如,假设当.温感′det2′激活时,打开风扇。
&.SURF_ID=′FAN′, VOLUME_FLUX=5./
&VENT XB=…,SURF_ID=′FAN′, HENT_ACTIVATE=′det2′/
假 如 要 关 闭 风 扇 , 用 参 数 HENT_DEACTIVATE 用 同 样 的 方 法 。 注 意 :
T_ACTIVATE 和 T_DEACTIVATE 与 T_OPEN 和 T_CLOSE 相当。同时也要注意这
些控制参数都不用镜像(MIRROR)这个命令。

5.5 额外的成分
通常,当用 HRRPVA 或 HEAT_OF_VAPORIZATION 定义火时,需用一个混合燃
烧模型。标量变量 Z 表示燃烧度,纯燃料(Z=1)纯空气(Z=0) 。主要的燃烧反应
物和产物 O2,CO2,H2O,N2,CO 和碳黑都是 Z 的二维函数。换句话说,在任一网格单
元的的 Z 值决定气体的质量数。在 REAC 行用户自定义的化学量被用于产生与 Z 反
映质量有关的表格。人们不必要也不能显式的列出燃烧反应物和反应物。
然而假定件既不是反应物又不是产物的气体输入反应区。这种气体用一个输送方
程与其他混合气体分离的单独的被追踪。事实上,根本就不需要火,FDS 可以被用
作输送一个混合的不然气体。
SPEC 被用作定义每个附加的物质种类。每个 SPEC 行都至少通过叫 ID 的特征组
定义种类的名字。然后,若最初环境反应气体存在而不是 0,那么用参数
MASS_FRACTION_0 定义。计算中可包括的几种气体被列于表 5.1。这些气体的物
理特性已知且不必要再定义。然而,若一个需要气体不在表 5.1 中所列。则需要定
义分子量 MW,单位 g/mol。另外,若做 dns 计算,需定义 Lennard_Jones 潜在参数
σ (SIGMALJ) 和 ε /k(EPSILONKLJ) 或 黏 度 ( VISCOSITY kg/m/s ) , 热 导
(THERMAL_COEDUCTIVITY w/m/k)和给出已给定的种类与背景种类之间的分
布密度(m2/s)(DIFFVSION_COEFFICIENT)
&SPEC ID=′ARGON′,MASS_FRACTION_0=0.1,MW=40./
对于所列的类有三种边界条件,对于一个给定的类是由它的位置来表明的。例如,
第二个所列的种类是 N=2。假定想要在固定墙面无流的条件,不要进行任何设定。
假 如 第 N 种 的 mass fraction 是 一 种 被 迫 流 动 边 界 的 某 个 数 值 , 设 定

55
MASS_FRACTION(N)相当于在适当的 SURF 行要求的 mass fraction。假如想要第 N
种的质量流,设定
MASS_FLUX(N)而不用设 MASS_FRACTION(N)。若已设 MASS_FLUX,则不需设
VEL。VEL 将依据质量流自动计算,质量流单位是 kg/m2/s。
用 TAU_MF(N)或 RAMP_MF(N)来控制种类 N 的或质量流的增量。N 的表面 mass
fraction 由下式给出:
YN(t)= YN(0)+f(t)( YN- YN(0)) YN(0) 是 N 的 环 境 m.f.( 在 第 N 个 SPEC 行 中 用
MASS_FRACTION_0 描述 YN(0),YN 是想要的 m.f.f(t)函数是递增的。 (在 SURF 行用
2
MASS_FRACTION(N)描述 YN)f(t)函数可是 t 的双曲正切或用户自定义函数。对
一个用户自定义函数,给这个递增函数一个名字 RAMP_MF(N)一个特殊组(见 4.4.1
时间边界层条件)。做为例子
&SPEC ID=′ARGON′,MASS_FRACTION_0=0.1,MW=40./
&SPEC ID=′HELIUM′
&SPEC ID= ′ INLET ′ ,MASS_FRACTION(2)=0.2,VEL=-0.3, TAU_MF(2)=0.5,
TAU_V=0.5/
这几行表示在计算区域除了默认的环境物质空气外还有氩气和氦气。在入口,
氦(质量 20%)氩(质量 10%)空气(70%,补充余下的)以 0.3m/s 流入流域。氦
的 mass fraction 和流速根据双曲正切(t/0.5)函数都是递增的。

5.6 定常速率或预混燃烧
默认状态下,FDS 假定火实质上是燃料和氧气间无穷快反映,并且这个反应
不依靠周围气体温度。并假设反应区域是个无穷薄,燃料在一侧,氧气在另一侧。
假如想要一个定常速率或预混燃烧,需作以下几步:
1) FDS 只有在 DNS 模式下才会有定常速率反应。在 MISC 行设置
DNS.=.TURE.注意,也可以在 LES 计算中用定常速率反应,但由于
在大规模计算中,温度会被网格抹掉,一些反应参数由于低温可能
会修改。
2) 在 MISC 行环境气体通常被设为 N2(′NITROGEN′)
3) SPEC 被用来定义每一个增加的气体, 不要用 SPEC 行定义环境气体。
每个 SPEC 行都将包含气体名字(ID)和它的环境(最初) mass
fraction,MASS_FRACTION_0。能包含在计算中的气体都被列于表
5.1。这些气体物理特性都已知不需再定义。然而,如果想要一种不
在表 5.1 中所列的气体,必须定义它的分子量 MW,单位是 g/mol。另
外,假如做的是 DNS 计算,要定义σ和ε/k。或者在给定气体与环
境气体间的黏度(kg/m/s),热导(w/m/k)和分散系数(m2/s)。如
果在定常反应中消耗或产生所列气体,需定义它的化学系数 NU.注

56
意,除了环境气体作为一个 diluent,否则它不能参与反应。
4) 参看 5.5 节关于气体边界层。
表 5.1:可选择的气体特性
Mol.Wgt. σ ε/k
种类
(g/mol) (Å) (K)
空气 29 3.711 78.6
CO2 44 3.941 195.2
CO 28 3.690 91.7
He 4 2.551 10.22
CH4 16 3.758 148.6
N2 28 3.798 71.4
O2 32 3.467 106.7
C3 H 8 44 5.118 237.1
H2O 18 2.641 809.1

5) REAC 组用于指出燃料和反应速率参数
FUEL 表明那种气体是燃料
BOF 预幂因素是一阶化学反应,单位 cm3/mol/s
E 一阶化学反应的激活能量,单位 KJ/Kmol
XNO 一阶化学反应的氧气浓度指数(缺省 1)
XNF 一阶化学反应的燃料浓度指数(缺省 1)
DELTAH 一阶化学反应的有效燃料热单位 KJ/Kg(缺省 40,000KJ/Kg)

5.7 高温分解模式
燃料可是气体,固体和液体。气态燃料更易燃烧,因为燃烧是无相态变化,事
实上,在 SURF 行中定义 HRRPUA 和定义气体燃料流速是相当的。假如上述是所
想要的一切则不需看这一节,否则,预测固、液态燃料的燃烧(速率需要更多的信
息来定义它们的物理特性。
5.7.1 热塑性
一般默认固体燃烧物是一个纯材料且在表面燃烧。分别用 PHASE=′CHAR′
或 PHASE=′LIQUID′定义材料分别是燃烧后成炭或是液态。 (见下)。对于一个热
塑性材料,定义材料的热特性。材料可被看作是 thermally-thick 或 thin,对于前者,

57
定义厚度 DELTA(m),密度 DENSITY(kg/m3),导热系数(thermal conductivity )KS 或
RAMP_KS(w/m/k),定义定压比热 c-p 或 RAMP_C_P(KJ/m2/k)或分别定义厚度,密度
和热 c-p 或 RAMP_C_P(KJ/m2/k)。默认的厚度是 0.1m,密度是 450 kg/m3,假如材料
是 thermally-thin 不需定义导热系数。
热塑性的燃烧率用下式表示:
m’’=Aρse-E/RT (5.1)
材料密度ρs 也可直接由参数描述,或有其他参数推导。最好还是直接描述密
度,系数 A 由”A”命名组定义,单位是 m/s。E,激活能量,由”E”命名组定义,单位
KJ/Kmol。记住 1Kcal 是 4.184KJ,小心 1000 这个因子。对大多数实体燃料,A,E 不
易得到。然后,假如他们已知则都描述出来。不要因为他们是一对而只写一个。若
A,E 未知,事实经常是这样,描写 MASS_FLUX_CRITTCAL(Kg/m2/s)和 TMPIGN
(℃) 。但燃料表面达到 TMPIGN 温度时,以 MASS_FLUX_CRITTCAL 速度燃烧,
可引导选择 A,E 。注意温度时摄氏度读入,但在程序里则转化为开氏温标。
MASS_FLUX_CRITTCAL 默认值是 0.02 Kg/m2/s,默认的 TMPIGN 是 5000℃。
(换
句话说,无燃烧发生)
若固体是热塑性时,记得包含 HEAT_OF_VAPORIZATION(KJ/Kg)
5.7.2 炭质燃料
默认的,燃烧物被认为是同性的并燃烧在表面发生的,然而,许多材料在内部
燃烧,在 SURF 行设 PHASE=′CHAR′,然后定义材料的未燃度和炭化度。对于
纯的 ( 未燃 ) 材料,那些特性有厚度 DELTA(m) ,密度 DENSITY(kg/m3), 导热系数
(thermal conductivity )KS 或 RAMP_KS(w/m/k), 定 义 定 压 比 热 c-p 或
RAMP_C_P(KJ/m2/k),对于炭化燃料,参数相似:CHAR_DENSITY, KS_ CHAR,或
RAMP_KS _CHAR,C_P_CHAR 或 RAMP_C_P_CHAR。
作为热塑性材料燃烧性质由相似的参数描述:
m’’=A(ρs-ρc) e-E/RT (5.2)
未 燃 材 料 的 密 度 ρ s 和 炭 化 材 料 的 密 度 ρ c 都 可 由 DENSITY 和
CHAR_DENSITY 直接写出。系数 A 由”A”命名组定义,单位是 m/s。E,激活能量,
由”E”命名组定义,单位 KJ/Kmol。对大多数实体燃料,A,E 不易得到。另一种方法是
描写 MASS_FLUX_CRITTCAL(Kg/m2/s)和 TMPIGN
(℃)。但燃料表面达到 TMPIGN
温度时,以 MASS_FLUX_CRITTCAL 速度燃烧,可引导选择 A,E。注意温度时摄
氏度读入,但在程序里则转化为开氏温标。MASS_FLUX_CRITTCAL 默认值是 0.02
Kg/m2/s,默认的 TMPIGN 是 5000℃。(换句话说,无燃烧发生)
记住假如作为炭化燃料,需包括 HEAT_OF_VAPORIZATION(KJ/Kg)
。注意
HEAT_OF_VAPORIZATION 指的是热分解前原始材料气化的。由表面的热流模拟未
燃材料炭化结果并不是有效的值。
描写炭化材料的附加参数是 MOISTURE_FRACTION,给出未燃材料的含水
量。现给出一个炭化材料的描述,仅仅作为一个例子:

58
&SURF ID=′SPRUCE′
PHASE=′CHAR′
MOISTURE_FRACTION=0.05
DELTA=0.01
TMPIGN=360.0
HEAT_OF_VAPORIZATION=500.
DENSITY=450.
RAMP_KS=′KS′,
RAMP_C_P=′CPV′,
RAMP_C_P_CHAR=′CPC′,
RAMP_KS _CHAR=′KS C′,
CHAR_DENSITY=120.
WALL_POINTS=30.
BACKING=′INSULATED′
& RAMP ID=′KS′,T=20.,F=0.13/
& RAMP ID=′KS′,T=500.,F=0.29/
& RAMP ID=′KSC′,T=20.,F=0.077/
& RAMP ID=′KS′,T=900.,F=0.16/
& RAMP ID=′CPV′,T=20.,F=1.2/
& RAMP ID=′CPV′,T=500.,F=3.0/
& RAMP ID=′CPC′,T=20.,F=0.68/
& RAMP ID=′CPV′,T=400.,F=1.5/
& RAMP ID=′CPV′,T=900.,F=1.8/
5.7.3 液体燃料
对于液体燃料,在 SURF 行定义 PHASE=′LIQUID′热参数与有厚度热边界层
固体相似,液体蒸发率由 Clausius-Clapeyron 方程给出(参看 FDS 技术指导)
。这个
方法的唯一缺点是不管何种燃点源气体燃料都燃烧,即,如果定义 PHASE= ′
LIQUID′燃料立即开始燃烧,一个液体燃料的例子如下:
&SURF ID=′METHANOL′
HEAT_OF_VAPORIZATION=1101.
PHASE=′LIQUID′

59
DELTA=0.01
KS=0.20
DENSITY=900.
C_P=2.5
TMPIGN=65./
注意,TMPIGN 是液体的蒸发温度,用与固体导热相同的方程由导热系数,密
度和热容等计算液体的热损失。显然,液体的导热重要,但在模型中不给予重视。

5.8 液体燃料液滴的燃烧
由于喷淋得液滴蒸发已归纳,所以可模拟喷嘴液体燃料。在合适的 PART 行写
语句 FULE=.TRUE.可追踪燃料蒸发,喷口的描述与喷淋相同。燃料特性的描述如下:
&PART ID=′heptane′,FUEL=.TRUE.,
VAPORIZATION_TEMPERATURE=98.0.
HEAT_OF_VAPORIZATION=316.0
SPECIFIC_HEAT=2.25,
DENSITY=688.0,…/
液体燃料的蒸发温度是摄氏温度,蒸发热单位是 KJ/Kg,热容单位 KJ/Kg/K,密
度单位 Kg/m3,FUEL=.TRUE.自动采用一个混合部分计算,在其中从喷嘴蒸发的液体
当稀释到适当的值时就燃烧。注意这个模型是脆弱的且受网格的影响,若网格太粗
糙,蒸发液体稀释到不能燃烧的度,可由燃料的类型和从喷口中喷出的量来解决这
个问题。

5.9 水喷淋模型
人们一直怀疑由水喷淋的灭火模型的可靠性,因为喷淋头的长度小于一个网格
的宽度。在气体灭火方面,火焰由于低温或缺氧而熄灭。关于气态灭火详情见 4.4.3

对于固体物质、水通过对燃料表面降温减少燃料热释放率还改变释放可燃气的
化学反应。若燃料设定 HEAT_OF_VAPORIZATION,不需要多设其他的灭火参数。
假定影响燃料表面的水从热分解过程带走能量并因此降低燃料的燃烧率,若将表面
设定 HRRPUA(单位面积热释放速率) ,需给出水灭火的度的参数,描述水的灭火
性的经验的方法是通过指数函数定义热分解的减少。燃料燃烧损失由下式列出
m’’f(t)= m’’f,0(t)e-fk(t)dt (5.3)
m’’f,0(t)是无水时用户给定的单位面积燃烧率,k 是单位面积水质量的函数。m’’w
单位 kg/m2

60
k(t)=E_COEFFICIENTm’’w(t)S-1 (5.4)
E_COEFFICIENT 是经验值,单位 m2/ kg/s
通常燃料很复杂时用这个灭火算法,如纸盒形物品
用在灭火计算中另一种参数是燃料的 POROSITY。或者因为它的吸水性,或者
因为它内部的凹陷使水不能像瀑布一样流下。POROSITY 和 E_COEFFICIENT 默认
值都是零,并在 SURF 行对二者都要描述。

5.10 可见度
若用混合方法作火灾计算,烟中混有其他的燃烧的主要成分,在这种空间,可
见性最有用的量是。
减光系数,K[10],通过烟气距离为 L 的单色光强度按下面公式衰减:
I / I 0 = e − KL (5.5)

减光系数 K 是烟气粒子浓度 ρYs 与 Km 的乘积


K = KmρYs (5.6)

可利用公式(5.7)评估烟气能见度:
S =C/K (5.7)
C 为烟气中可见物的无量纲特征值,例如当为发光标志时 C=8,当为反光标志
时 C=3,由于 K 是变量,所以 S 随 K 改变而改变,FDS 能追综烟气产生浓度的变
化。
通常采用三个参数来描述烟气浓度和能见度,每一个参数在 REAC 行输入。第
一个参数是 SOOT— YIELD,它是可以转换成碳烟燃烧材料的分数;第二个参数
MASS_EXTINCTION_COFFICIENT,即为公式(5.6)中的 Km,当燃烧材料为木
2
材和塑料时建议其默认值为 7600 m / kg ,第三个参数是 VIISIBILLITY_FACTOR,
即公式(5.7)中的常数 C,其默认值为 3,
切片,Plot3D 或热电耦输出量减光系数是 K,能见 D 度 S 通过关键字 visibility
输出。

5.11 分层高度及高层和低层平均温度
防火专家通常需要评估燃烧小房间内热烟气与冷烟气的分界面,相对简单的火
灾模型就是参考这两低层和高层的平均温度来直接计算。在 FDS 的软件中,没有
明显两层分区,而是一个连续温度画面,并依据垂直温度画面估测分层高度和平均
温度的方法。例如:令温度 T 为连续函数 T(z)在 z 轴上的函数,这里 z=0 为地面,
z=H 是顶棚。定义 Tu 为上层温度,TL 为低层温度,Zint 为分界高度,根距能量守恒

61
定律得:
( H − z int )Tu + z int T1 = ∫ 0H T ( z )dz = I 1 (5.8)
和质量守量定律(假定为理想气体)得:
1 1 1
( H − z int ) + z int = ∫ 0H dz = I 2
Tu Tt T ( z) (5.9)
联立解得:
T1 ( I 1 I 2 − H 2 )
z int =
I 1 + I 2T12 − 2T1 H (5.10)

利用 Simpson’s 规则联合方程 I1 和 I 2 ,得到公式(5.11)


。有关这个过程讨论在
Ref.【11】
在 Smoke view 中的 Slice(SLCF)文件或在“thermocouple”(THCP) 输入文件中
的 a spread sheet 文件显示分层高度( LAYER HEIGHT )、上层温度 (UPEPER
TEMPERATURE)和低层温度(LOWER TEMPERATURE),例如输入:
﹠THCP XYZ=2.0,3.0,0.5, QUANTITY=′LAYER HEIGHT′, LABEL=′whatever′ /
即在 x=2 和 y=3 时,作为烟气层高度的记录,z=0.5 没被使用,只要在 PKIY 行中定
义了 z 的范围内,z 可为任意值,因此 THCP 是可以忽略的,通常低层到高层的范
围为 1 ≤ K ≤ KBAR ,对此的改变,加参数 K _LOW 和 K_HIGH 到 THCP 或 SLCF
行,注意每一个网只能设置一个极限。
如果使用多个网格,THCP 相应网格到 XYZ 坐标上,如果同一点上如 2 个或多
个网格重复,要控制网格的下限,即在输文件列入网格,在 Slice 文件中,加参数
MESH_NUMBER 到 SLCF 行,表明网格被直接使用,这样减少计算时间。

5.12 渗漏
在 FDS 计算中存在渗漏。在计算中需满足以后个条件:
一)与小房间外样一致的计算区域的边界设定;
二)在外墙上无门窗洞口;
三)只采用一种网格;
如果满足以上条件,在 MISC 行上描述 LEAK-AREA,并在 SORF 行上设定墙质(无
论是否在外边界上),程序规定渗漏与 Leaking 相符,LEAK-AREA(渗漏面积,m2)
为:
AL = V p∞ / 2( P0 − P∞ )
(5.12)
,P ∞ 是空气密度(kg/m3).
V 为给定大气压 P0(Pa)下气流速度(m3/S)

62
5.13 室外火灾和流动
室外模拟火灾与室内相类似,而这里有几种有用参数可调用,第一,随高度增
加的风速很容易被描述。在任意洞口处风速侧面图为抛物线,而在 SURF 行中参数
PROFILE 可设定为其它图,例如,PROFILE=′PARABOLIC′即为以峰值为 VEL 的抛
物图,而设定空气风速图,其形式以 u=u0(z/z0)p 变化。如果描述大气风速图时,用
Z0 代替 Z,PLE 代替 P,VEL 参考 M。
室外模拟中另外一个重要参数是大气的温度下降率,尤其在大气的开始几百米
内,温度每千米减少几摄氏度。DT0DZ 是以单位℃/m 大气下降率,在室外计算时
这个参数必须被设置,这个范围的高度是几十或几百米,默认值是
DT0NZ=–g/cp ≈ -0.0097℃/m。
图 5.3 是室外场景的一个例子,在图 5.4 里给出了相应的数据输入,TANKS 是
由规则的圆柱体构成,火被设定在 TANKS 顶部,计算每个边界时需要考虑风因素。

5.14 2D 和轴对称图形计算
在 FDS 中利用空间笛卡尔坐标系解决方程,通过在&GRID 行设置 JBAR=1 的
语句,可以完成平面笛卡尔坐标和柱坐标(轴对称图形)的计算,通过轴对称可用
&PNIM 行中的 YBAR 参数代替 XBAR 参数。无边界条件时应设置 y=YBAR0

63
64
65
66
或 y=YBAR,而不是在 RBAR=0 的轴对称计算中设定 X=RBARO,YBAR 与 YBAR0
的区别很小,所以 Smoke view 在 2D 能被显示,图 5.5 表示了轴对称 helium plume
的图像,图 5.6 为其相应数据的输入。

5.15 斜压的旋涡
假设公式 5.13 成立可近似解出压强
1 1 2~
∇· ∇ρ~ = ∇ ρ
p ρ0 (5.13)
这个近似结果表明由于密度和梯度压强的非队列或斜压扭矩导致旋涡是可以忽
略的。通常情况下,由实验证明旋涡主要由浮力产生。忽略斜压扭矩,将会简化由
动力方程的分解得到的不同部分的椭圆方程的解。通过分解压强等式的相关项的到
扭矩与压强的比例关系
∇ρ~ ∇ρ~ ⎛1 1⎞
∇· = ∇· + ∇·⎜⎜ + ⎟⎟∇ρ~
ρ ρ ⎝ρ ρ ⎠ (5.14)
在 初 级 阶 段 压 强 值 由 左 边 第 二 部 分 表 示 , 平 均 密 度
P =2PminPmax/(Pmin+Pmax) .如果是真,在 MISC 行上显示 BARACLINIC=.TURE.
语句。在 DNS 计算中(DNS=.TURE.),正确结果被默认。

67
5.16 Fine—Tuning 辐射传热模型
在解决辐射传热的等式中,有几种方法可以改进部分程序的完成,这几种方法
大部分增加了计算机时间,两种操作模式——灰色气体模型(默认)和大空间模型
[1],通过 RADI 修改过此模型。如果运行灰色气体模型,在整体参数 NUMBER—
RADIATIDN —ANGLES 行中可增加许多参数,在 TIME—STEP—INCREMENT 行
中可以减少辐射时间 3 分钟,在 ANGLE—INCREMENT 行中可以减少 5 参数。如
果设置了语句 TIME—STEP—INCREMENT 和 ANGLE—INCREMENT 为 1,在单
一的时间段里辐射区域会扩大。
由于液体的渗入影响辐射吸热的参数有以下:RADTMP 是假定的辐射源温度,
在液体渗入的交叉部分和分散计算中使用它,默认温度为 900℃,NMIEANG 是函
数中极平面的离散点,增加 NMIEANG 可改进液体渗入的辐射特性的精确度,精确
度在初始阶段能被观察到,而不是在实际的模拟期间 NMIAENG 的默认值.
如采用六边模型,设置 WIDE—BAND—MODEL=.TRUE..当燃烧是相对无碳黑
量时,这种模型可以采用,因为它加入大量有效的计算,加三处燃烧源须设置 CH4
—BANDS=.TRUE.,更多细节参考 FDS 技术指南。
值得注意的是,辐射在混合燃烧模型中已被设定。如果在混合燃烧模型没有使
用,而 VARBON DIOXIDE 作为燃烧物被描述的话,辐射仍被使用或者语句 RADI
中吸收系数 KAPRA0 被设定,同时仍要注意,通过如入语句 RADIATION=FALSE
到 MISC 语句中可以减少辐射传热(可以节约 CUP 时间 20%)
。用于等量计算,辐
射可自动减少。如果发生燃烧和辐射减少,那么在 REAC 行中的 RADIATIVE—
FRACTION 语句从总的热释放速率中减掉在计算中完全消失辐射能量。

5.17 重力
在 FDS 使用中通常假定 FDS 的方向与 z 轴相反,或者更简单为向下。然而,
对于斜层顶和烟窗其重力需要改变,例如,在 MISL 行中重力失量的三个数和具表
达式 GVEC=0.0,0.0,-9.81(单位 m/s2)
,这是一个默认结果,它可以在任何方向进行
更改。
注意:如果喷淋是指定的,重力失量无须改变,通常沿固体滴下的液体的逻辑
控制轨道被假定为重力方向与 Z 轴相反。

5.18 等温线和盐水模拟
FDS 是专门的火灾模拟软件,而且它还可以被应用在其它流体模拟中。首先,
MISC 行列中,设置 ISOTHERMAL=.TRUE.。逻辑参数表明在计算时未改变温度并
无辐射传热,因此减少大量的计算时间。
模拟混合的淡盐水实验是模仿建筑中烟气运动。虽然 FDS 很少被使用在这方
面,但仍能解决淡盐水的相互作用。这些特征数据输入如:

68
&MISE ISOTHERMAL=.TURE.,BANCKGROUND-SPECIES=′FRESHWATER′,
DENSITY=1000.,VISCOSITY=1.0E-3,SC=1. /
&SPEC ID=′SALT WATER′, DENSITY=1052., VISCOSITY=1.0E-3 /
在输入文本中, 注意 FRFSH WATER 和 SALT WATER
要定义盐水的边界条件。
没有特殊含义只是代码,它是由密度、粘性和 SC 来确定,如没有指定 DNS=TRUE
,计算则以大旋涡模拟计算,在这个实例中粘性作为低范围的 smagorinsky 粘性而
SC 通常与离散物质稠度有关。

5.19 不规则几何
FDS 的最大特点是简化的数字网格,然而,存在特定的几何特征不能符合矩形
网格。在这些实例中,采用矩形来构建曲线几何,这个程序称为“stair stepping”

值 得 关 注 的 是 stair stepping 改 变 墙 体 附 近 的 流 动 模 式 , 规 定 参 数
SAWTOOTH=.FALSE.来减墙体附近流动域内的梯级挤压,语句 OBST 可组成封闭梯
级,参数的作用是避免在尖角处形成旋涡,缓解构成封闭的矩齿状,这不是解决问
题的唯一办法,但是提供了一种简化的方法。通过在尖角处增加障碍物不受约束,
确保不规则流动域。

5.20 映像
在计算范围内有不同方法描述不同物体可颜色,而软件 Smoke view 让图像更加
真实,这个技术称为“映像”,例如将木质镶板映射到墙体,在 SURF 行中设定镶
板文本的物理特性。
&SURF ID=′WOOD PANEING′,…., TEXTURE—MAP=′PANELING.JPG′,
TEXTURE—WIDTH=1., TEXTURE—HEIGHT=2./
设定 JPEG 文件为 Paneling(镶板).Jpg, Smoke view 软件将会读取并展示使用
镶板的图像文件夹(SGI 用户;利用 rgb 文件代替 JPg).当 Smoke view 首次执行时
不显示图像,通过菜单 show/hide 来控制参数和图像的物理尺寸,在这个实例中,
图像 JPEG 是宽 1m 高 2m 的顶棚,图像被重复是没问题的,如果图像有明显说明,
TEXTURE—ORIGIN 应被加入到 VENT 语句或 OBST 语句,构造图被应用。例如:
&OBST XB=1.0,2.0,3.0,4.0,5.0,7.0, SURF――ID=′wood paneling′,
TEXTURE—ORIGIN=1.0,3.0, 5.0, /
即 1×1×2m 的镶板被位于点(1.0 3.0 5.0), TEXTURE--ORIGIN 默认值
为(0,0,0)
,而通常加入语句 TEXTURE--ORIGIN 到 MISC 行可更改所有默认语句。

69

You might also like