1、鲍姆(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.)。Gl
2、enn Forney开发了相关的可视化程序Smokeview 。Kuldeep Prasad 为其增加了多网格的数据结构,为平行处理做准备。William (Ruddy) Mell为其增加了特殊的火灾发展程序使模型可用于微重力条件燃烧和荒原火灾蔓延的评估。Charles Bouldin 设计了并行处理代码的基本框架。贾森弗洛伊德,一前尼斯特文件后,写混合物小部分和小滴蒸发常规。 Simo Hostikka,尼斯特VTT 大楼的客人研究人员和运输,芬兰,那些辐射解答者和那些炭热解常规写。 虽然不再在尼斯特,两个继续对源码做出显著贡献。Jason Floyd ,NIST Post-Doc 的起草者
3、之一编写了混合物部分和液滴蒸发部分的程序。NIST 来自芬兰 VTT 建筑与运输的访问学者Simo Hostikka, 编写了辐射和高温分解产物部分的程序。两位研究者虽然目前都已离开NIST, 但仍然对FDS的源代码的发展作者杰出贡献。1 引言火灾动力学模拟模型(FDS)是一个对火灾引起流动的流体动力学计算模型。软件对于低速、热驱动流的定量计算使用那维尔-斯托克斯方程(粘性流体方程), 其侧重于火灾产生的烟气和引起的热传输。方程的公式和数值运算法则在配套文件火灾动力学模拟模型(4.0 版本) - 技术参考指南 1中给出。Smokeview是用于展示一次FDS模拟结果的可视程序。本指南中给出了
4、Smokeviewis 的一些示例详细的描述在配套文件Smokeview 4 版本的用户指南 2中给出。1.1 FDS的特点FDS的版本1于2000年2月公开发布。版本2在2001年12月公开发布。 到目前为止,模型约一半的应用用于烟气控制系统的设计和喷淋喷头或探测器启动的研究,另一半用于住宅和工厂火灾模拟。在整个的发展过程中,FDS的目的是在致力于解决防火工程中实际问题的同时为火灾动力学和燃烧学的基础研究提供一个工具。流体动力模型 FDS对于低速、热驱动流的定量计算使用那维尔-斯托克斯方程(粘性流体方程),其侧重于火灾产生的烟气和引起的热传导。核心运算是一个明确的预测校正方案,在时间和空间二
5、阶上精确。湍流通过大涡流模拟(LES)的Smagorinsky 来处理。 如果基础的数值表足够清晰,则可进行直接数值模拟(DNS)。 LES默认这种操作。燃烧模型 对大多数应用来说,FDS使用一个混合物百分数燃烧模型。 混合物百分数是一个守恒量,其定义为起源于燃料的流动区给定点的气体百分数。模型假定燃烧是一种混合控制(mixing-controlled),且燃料与氧气的反应进行非常快。所有反应物和产物的质量百分数可通过使用“状态关系”燃烧简化分析和测量得出的经验表达式由混合物百分数推导出。辐射传输 辐射传热通过模型中的非扩散灰色气体的辐射传输方程解决,在一些有限的情况下使用宽带模型。方程求解采
6、用类似于对流传热的有限体积法,因而,命名为“有限体积法”(FVM)。选用约100个不连续的角度,由于辐射传热的复杂性,有限体积解算程序在一次计算中需占约15的CPU处理时间。水滴能吸收热辐射,这在有细水雾喷头的场所起很大的作用,在其他设置喷淋喷头的场所也起到一定作用。这种吸收系数以Mie理论为基准。几何结构 FDS 将控制方程近似为在直线的栅格(网格)上,因此用户在指定矩形障碍物时须与基础网格一致。多网格 这是用来在一次计算过程中描述使用不止一个矩形的网格的一个术语。当使用单网格不易计算时,可采用多于一个的矩形网格。边界条件 给定所有固体表面的热边界条件,以及材料的燃烧特性。通常,材料特性储存
7、于一个数据库中并可用名称调用。固体表面的热量和质量转换通常可使用经验公式解决,但当执行直接数值模拟(DNS)时可直接进行估算。1.2 FDS4的优势FDS4具备FDS3的所有性能,同时,进行了一些完善、重组和缺陷修正。其中比较重要的方面有:平行处理 通过使用信息传送接口(MPI) 可用多台计算机进行一次FDS计算。详细情况见第3.2.2 部分。多网格 对多网格性能进行了改善,使模拟设计具有更多灵活性。详见第4.2.3 部分。孔洞 现在障碍物可以以一个具体的剪切块代表。这对于固体墙面的雕花门和窗很有意义,因其不需要把墙拆成散片。详细情况参见第4.4.5 部分。炭化模型 实现了炭化模型,可对固体材
8、料的薄热解正面进行跟踪。正面原始燃料与炭化的材料分离。燃料和炭的热性质应由用户提供。详见第5.7.2 部分。随温度变化的材料特性 现在可认为固体材料性质是一个温度的函数,应注意的是这种精确改变了一些在FDS以前版本中使用的常规热解。在第4.4.1 部分给出这种变化对输入文件的影响程度。拉格朗日粒子 涉及到拉格朗日粒子的输入文件格式发生了变化,拉格朗日粒子包括喷淋液滴和跟踪粒子。基础的物理模型是相同的,但在程序代码中与NIST研究现行使用的不同。FDS 3的输入文件在FDS4中仍可运行,但是作用效果发生了变化。粒子参数转换的详细情况见第4.5 部分 。烟气层高度 加入了一个关于烟气层(界面)高度
9、的简单计算,以便用户可以与区域模型计算进行比较或者能以更简单的方式表达FDS的结果。详见第5.11 部分。2 启动火灾动力学模型(FDS) 是一个Fortran 90 计算机程序,用于计算热流体和火灾的控制方程。关于方程以及怎样数值求解的详细描述见参考文献1。FDS的输出结果由程序Smokeview.可视化,Smokeview 的用户指南见参考文献 2。2.1 怎样得到FDS 和 Smokeview关于 FDS和Smokeview的所有文件可以在以下地址获得:http:/fire.nist.gov/fds ,在网页上可以找到关于新版本、缺陷修订等信息。因为FDS不总是兼容,新版本的执行文件包括
10、版本号fds#.exe。 用户也许愿意保留老版本FDSU的执行文件以便进行新旧版本输出结果的比较。而图示程序Smokeview 以兼容为背景,因此鼓励用户以新的Smokeview文件取代旧的。FDS 的分配包括个人电脑Windows 操作系统的自提取安装程序, 引导Unix, Linux以及 Mac 用户 进入源程序代码、一些编译执行文件和生成文件等的文件传输协议(FTP)地址。下载安装程序之后,双击图标开始一系列的安装步骤。在安装中最重要的是目录(通常称作c:nistfds)的生成,在目录下要安装FDS和 Smokeview的执行文件、Smokeview 的选择文件smokeview.ini
11、 以及包括一些示例、参考手册和补充数据的文件。安装程序还定义了变量路径和Smokeview 程序的相关扩展文件.smv ,这样用户即可选择在命令行键入命令提示符也可选择双击任意.smv 文件。已经下载了FDS早期版本并保留了文件结构的用户,只需对新文件进行不同的分配。为避免命名的冲突,不同版本的相关文件通常在文件名中插入版本号。2.2 计算机硬件要求FDS需要较快的的 CPU 和质量好的随机存取存储器 (RAM)。对于基于Windows操作系统的个人电脑(PC), 处理器至少需要 1 GHz Pentium III、512 MB的RAM。当然配置越高越好,要求高的用户应考虑配备最快的CPU和最
12、大的RAM。 此外,需要一个大的硬盘驱动器用于储存输出计算结果。通常单次的计算结果就会生成约1 GB 的输出文件。 现在大多数的计算机硬盘至少20 GB。对于基于 Unix的工作站,处理器和内存的配备至少应 达到PC 机(个人电脑)的要求。在近几年内购买的绝大多数计算机都满足运行的要求。Smokeview 需要额外的内存(RAM),需达到至少 512 MB,目的是计算机不需要与磁盘进行“交换”就可以展示结果。对于Smokeview,具备快速的图形处理器比快速的CPU更重要。如果已达到可以运行FDS 和 Smokeview,则具备一个快速的CPU也是重要的。2.3 计算机操作系统(OS)和软件要
13、求 开发FDS和 Smokeview 目的是使当前的防火工程能够在一个合理的花费下进行相当完善的火灾模拟。因此, 设计开发的FDS 和 Smokeview可以在Microsoft Windows、Mac OS X、以及 Unix/Linux的各种执行系统下运行。因为大多数的工程师使用的是 MS Windows系统, FDS 和Smokeview 的编译版本适用于这种操作系统 ( OS.)。 FDS或Smokeview可在Windows 95(其缺乏Smokeview1所需的程序库) 以外的任何版本运行。Unix, Linux和 Mac 用户可在下载合适的提前编译执行文件并进行适当的安装后也可以
14、运行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 的
15、用户在操作Smokeview 视窗时会遇到麻烦,在条件允许的情况下,建议使用Windows 2000 及以上系统。3 运行 FDS运行 FDS 相对来说是简单的。描述给定火灾场景的所有参数创建一个文本文件作为“数据库”或“输入”文件。在本指南中数据文件为job name.data, 其中“job name”代表可以确定模拟的任意特征,与计算相关的所有结果输出文件名都具备这一共有前缀。除了输入文件以外,还有一些包含模拟输入参数的外部文件。因为其包含 描述一般材料和燃料的参数,每一个这样的文件被认为使“数据库”文件。 通常数据库文件保存在一个独立的地址目录中。包含具体喷头信息的文件也随数据库文件一
16、起保存,数据库和喷头文件可以 进行修改或移动。建议新用户在创建新输入文件前从一个已存在的数据文件开始,运行,然后对其输入文件进行合适的改动。通过运行实例,用户可以熟悉操作过程、学习使用 Smokeview以及 确定其计算机配置能否胜任。3.1 创建FDS输入数据文件输入数据文件为程序提供描述火灾场景的参数。参数编进相关变量组中。例如:SURF 组包含描述固体表面性质的参数。输入文件的每一行包含同组的参数,这些行用Fortran格式化语言写。每条记录以字符& 开始,其后紧随名录组的名称 (HEAD, GRID, VENT,等.),接下来是该组的相关输入参数,最后以一个斜线结束。关于输入参数的细节
17、可参见第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 Comm
18、and Prompt window, and change directories (“cd”) to where the input file for the case is, 然后键入以下内容运行fds4 job_name.data在输入文件中“job name ”字符串通常被指定为CHID。建议输入文件的命名和CHID相同,以便在一次运算中的相关文件名一致。 FDS 读取输入文件作为标准输入 (用符号“ job_name.err &注意,在以上的后一种情况中屏幕输出结果保存在输出文件 job name.err 中 ,其详细的诊断信息自动在文件CHID.out 中保存, 其中CHID 是一
19、个字符串,通常在输入文件中名字是job_name 。最好在后台运行以便不影响控制台进行其他工作。3.2.2 进行一次 FDS运算 (多处理器方案)使用多处理器和多个RAM进行计算机联网运行FDS 比使用单处理器要难得多。计算机之间的接通还需要更多的技术,包括在每台机子上创建用户、地址分配、提高网络速度、计算机之间相互观测等。其中一些细节可通过并行处理软件处理,另一些则不能。虽然这一处理过程在未来的几年中必将得到简化,但目前来说,并行处理仍是较新的技术,对于其使用者要求更高的操作系统和网络连接专业技术知识。FDS使用 MPI (数据传输接口) 3 使多台计算机进行一次运算工作。实际上,此时运算工
20、作被分解给多个网孔,一个处理器对应一个网孔。每个处理器运行一个给定网孔的FDS任务(称为一个分支) , MPI 负责处理网孔之间信息的传输。 像存在不同的Fortan和C语言编译器一样,也存在不同的MPI实现方式,其本质上都是一个FDS的调用子程序库,在快速网络之间进行数据传输。子程序调用标准化已经被广泛接受,这使不同的商家和团体在开放的工作平台工作的同时可以自由的开发完善软件。FDS并行处理的执行方式取决于安装的MPI实现方式。为避免产生任何冲突,并行处理时不使用单处理器运行时采用的简单命令提示符风格,而是通过寻找输入文件名的方式。即打开一个只有一行的fds.data文本文件并提取其第一行。
21、文件 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程序库后,必需的地址名录是共享的
22、,任一计算机发出 命令:mpirun config.txt 后运算开始。其中,config.txt 是一个文本文件,它包括执行FDS的名称和分配、工作目录以及工作组中各台计算机名。例如, config.txt 文件可能是如下形式:exe machine1nistfdsfds4_mpi.exedir machine1nistfdssampleshostsmachine1 2machine2 1machine3 2注意,所有的计算机应可以访问machine1中的执行文件工作目录,这可以通过Windows的共享功能实现。Unix/Linux环境下,此过程则需要横向交联每台计算机的文件系统。后的数字代
23、表此项之路的编号。在此例中,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
24、5 fds4_mpi 运行。文件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 进展监控对于一个给定计算
25、的诊断写入一个名为 CHID.out.的文件。 关于 CPU 使用和模拟时间的内容在这里给出,以便用户可以了解该程序的进展程度。在一次运算的任何时间都可以运行 Smokeview 直观地观测程序的进展。要在预定结束时间前停止运算,可以直接关闭程序,更好的方法是在同一个地址名录中创建一个CHID.stop文件。此文件的存在可以顺利的停止程序,并忽略Smokeview中为可视化存在的流动变量。因为计算可能会持续数小时或数天,FDS具备了重新起动功能,使用的详细情况见第5.1部分。简单地说,即在计算运行的开始应指明重新起动文件的保存频率。如果发生意外打断计算,如停电,则计算将从最后一次保存的重新起动
26、文件开始。3.4 错误陈述FDS计算可能会在用户预定地时限内结束,以下是常见错误陈述和诊断清单:输入文件错误:最常见的错误是输入误差,这些错误会导致程序即时中止并出现陈述如“ERROR: Problem with the HEAD line.” 对于此类错误,检查错误陈述指明的输入文件中对应的行。确定参数名正确拼写;确定在记录句末有一斜线“/”;确定每个参数键入正确的信息,如一个真实的数字或若干整数或者其他;确定未使用非 ASCII 语言字符(因有时可能存在从其他应用或文字处理软件剪贴内容);区别0和“Os”、区别“1 s ”和“ !s ”。确定省略号用于指定字符串;确定 在Unix/Linu
27、x 创建的文本文件不用于DOS 环境,反之亦然。 确定所有列出的参数都被使用新版的FDS经常放弃或改变参数以强制用户对旧的输入文件检查。数值不稳定: 在FDS计算中,时间步长缩短引起的数值误差有可能引起某些位置流动速度的增加。其中,代码中的逻辑决定了结果的非物理性并且在CHID.out.文件中的一个错误就中止计算。在这种情况下,FDS 将忽略最后的Plot3D 文件中止,使用户可检查计算范围内的错误。通常,假定计算范围内的大速度向量起源于小区域时易得到不稳定的数值。这种不稳定性的通常原因是网格单元的长宽比大于2:1、高速流经过小开口、热释放速率的突变或者是流场内发生多个突变。依据不同的情况,解
28、决的方法不同。应在报告之前尽量的诊断和修正问题,但这对于输入文件编写者以外的人员来说很难。计算机资源不足:计算可能需要使用大于计算机 RAM的空间,或者输出文件用完了所有的磁盘空间。 在这种情况下计算机就不能保证产生有效的错误信息。有时计算机不能响应。用户应保证有足够的计算机资源运行计算。应注意,对于FDS计算没有多大和多长时间的限制,其取决于计算机的资源配置。对于开始任一新的模拟时都应尽量采用最合适的网格(grid),并在计算机允许范围内逐渐精炼,然后在规模上稍微缩小以便计算机可以顺利的运行。尽量以90运行。运行错误: 计算机操作系统或者FDS程序都有可能出错。计算机操作系统把错误信息在屏幕
29、上打出或者写入诊断输出文件。大多数错误信息对于对于大多数人即使是程序员来说都是难以读懂的,但尽管如此,有时当涉及到一些具体细节还是可以获得一些启示,比如 “stack overflow,” “divide by zero,” 或“file write error, unit=.”这些可能由于FDS得一些缺陷造成。例如,一个数字被0除、一个序列在分配之前使用或者其他得一些问题。在错误报告之前,应尽量简化输入文件消除错误。这一过程经常可明确计算特征并有利于故障排除。泊松初始化: 有时在运算的一开始就出现错误陈述 “Poisson initialization.”出现问题。在FDS中的压力方程是 泊松方程,泊松解算包含一个在计算开
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1