FDS是火灾研究中常用的数值模拟软件,本文是FDS系统学习记录笔记。

本文学习过程参考FDS官方文档(NIST):FDS User Guide

FDS github地址:GitHub - firemodels/fds: Fire Dynamics Simulator

在github地址中可以获取FDS和SMV软件,以及相应的文档。

这一部分主要涉及FDS的基本概念:

一、在fds使用之前的相关概念

1. FDS的输入文件是用文本输入的,在这里建议使用第三方图形用户界面(GUI)建立相应的火灾构筑物模型,可以使用PyroSim之类的进行可视化建模。

2.FDS可以在一台计算机上运行,可以使用单台计算机的一个或多个核,也可以在多台计算机上运行。

3.OpenMP:OpenMP可以用来管理计算过程中使用电脑内核数量,默认情况下,FDS将在一台计算机上使用大约一半的可用内核。

4.要更改FDS模拟可用的核数,可以设置一个名为OMP_NUM_THREADS的变量。

5.MPI(Message-Passing Interface):MPI即消息传递接口。MPI的主要作用是使得多台计算机或一台计算机上的多核能够运行多网格FDS作业。一般我们在运行模拟是都在同一台计算机,此处暂时不多做赘述,更多信息可以参考FDS User Guide3.2的内容。

二、FDS输入文件中的基本概念

1.输入文件命名:尽量使用有意义的英文名称。输入文件名中不应该有空格。请使用下划线字符来表示空格。

2.参数的命名格式:以&字符开头,后接相应的指令名称,后面是以逗号隔开的输入参数列表,最后以/结尾。例如:

&DUMP NFRAMES=1800, DT_HRR=10., DT_DEVC=10., DT_PROF=30. /

该条语句设置DUMP组的各个参数,但要确保以斜杠结束记录,否则该语句无法执行。

参数可以使用逗号、空格或者是换行符隔开,建议使用逗号和换行符。

3.注释和注解:注释和注解可以添加到文档中,但不要放在&和/包含区域内。

4.输入文件中的参数可以是整数、实数、字符串、逻辑参数(T或者F)、多维数组。

5.多维数组的赋值:如果第三层的第二种材料的质量分数为0.5:

MATL_MASS_FRACTION(3,2)=0.5

6.字符串可以用单引号或双引号括起来。但直接复制粘贴其他文本编辑器的内容,可能无法正确地读取标点符号。

三、FDS输入文件结构

1.fds的输入文件中可以以任何顺序排列,但最好以某种系统的方式组织它们。

2.FDS通常不会读取文件的最后一行,因此要以“&TAIL/”作为fds输入文件的结尾。

3.一个输入文件的一般结构示例:

&HEAD CHID='WTC_05', TITLE='WTCPhase1,Test5'/
&MESH IJK=90,36,38, XB=-1.0,8.0,-1.8,1.8,0.0,3.82 /
&TIME T_END=5400. /
&MISC TMPA=20. /
&DUMP NFRAMES=1800, DT_HRR=10., DT_DEVC=10., DT_PROF=30. /
&REAC FUEL ='N-HEPTANE'
FYI ='Heptane,C_7H_16'
C = 7.
H = 16.
CO_YIELD = 0.008
SOOT_YIELD = 0.015 /
&OBST XB= 3.5, 4.5,-1.0, 1.0, 0.0, 0.0, SURF_ID='STEELFLANGE'/ Fire Pan
...
&SURF ID ='STEELFLANGE'
COLOR ='BLACK'
MATL_ID ='STEEL'
BACKING ='EXPOSED'
THICKNESS = 0.0063 /
...
&VENT MB='XMIN', SURF_ID='OPEN'/
...
&SLCF PBY=0.0, QUANTITY='TEMPERATURE', VECTOR=T /
...
&BNDF QUANTITY='GAUGEHEATFLUX'/
...
&DEVC XYZ=6.04,0.28,3.65, QUANTITY='VOLUMEFRACTION', SPEC_ID='OXYGEN', ID='EO2_FDS'/
...
&TAIL /Endoffile.

4.建议在查看新场景时,首先选择一个类似于案例的预先编写的输入文件,进行必要的更改,然后以相当低的网格分辨率运行案例,以确定几何结构是否正确设置。因为当设置网格较多时,计算时间较长,先通过网格密度来验证方案是否正确。

FDS学习笔记(一)FDS中的基本概念相关推荐

  1. SpringBoot学习笔记(4)----SpringBoot中freemarker、thymeleaf的使用

    1. freemarker引擎的使用 如果你使用的是idea或者eclipse中安装了sts插件,那么在新建项目时就可以直接指定试图模板 如图: 勾选freeMarker,此时springboot项目 ...

  2. Hadoop学习笔记—11.MapReduce中的排序和分组

    Hadoop学习笔记-11.MapReduce中的排序和分组 一.写在之前的 1.1 回顾Map阶段四大步骤 首先,我们回顾一下在MapReduce中,排序和分组在哪里被执行: 从上图中可以清楚地看出 ...

  3. 【theano-windows】学习笔记十七——梯度中的consider_constant

    前言 主要是在写玻尔兹曼机相关的theano时, 在计算梯度grad的时候发现一个参数名字叫做consider_constant,来看看这个到底做了什么事情 参考博客: using consider_ ...

  4. 【theano-windows】学习笔记十一——theano中与神经网络相关函数

    前言 经过softmax和MLP的学习, 我们发现thenao.tensor中除了之前的博客[theano-windows]学习笔记五--theano中张量部分函数提到的张量的定义和基本运算外, 还有 ...

  5. 【theano-windows】学习笔记六——theano中的循环函数scan

    前言 Scan是Theano中最基础的循环函数, 官方教程主要是通过大量的例子来说明用法. 不过在学习的时候我比较习惯先看看用途, 然后是参数说明, 最后再是研究实例. 国际惯例, 参考网址 官网关于 ...

  6. SpringBoot学习笔记(9)----SpringBoot中使用关系型数据库以及事务处理

    在实际的运用开发中,跟数据库之间的交互是必不可少的,SpringBoot也提供了两种跟数据库交互的方式. 1. 使用JdbcTemplate 在SpringBoot中提供了JdbcTemplate模板 ...

  7. cockroachdb mysql_CockroachDB学习笔记——[译]CockroachDB中的SQL:映射表中数据到键值存储...

    CockroachDB学习笔记--[译]CockroachDB中的SQL:映射表中数据到键值存储 原文标题:SQL in CockroachDB: Mapping Table Data to Key- ...

  8. vue文件里在style的样式需要什么loader_Vue学习笔记之Webpack中css、less、图片等文件处理...

    一.webpack中使用css文件: loader是webpack中一个非常核心的概念,去转化webpack不能转化或打包的文件. 安装loader: 官网介绍: 安装: cnpm install - ...

  9. ASP.Net学习笔记015--ASP.Net中使用Cookie

    ASP.Net学习笔记015--ASP.Net中使用Cookie 表单数据欺骗: 原理跟收到欺骗短信一样,移动信号塔[基站],伪装的移动信号塔会屏蔽移动信号,并且 在信号范围内的手机会自动切换为接收伪 ...

  10. Java学习笔记1:Java中有关print、println、printf的用法和区别

    Java学习笔记1:Java中有关print.println.printf的用法和区别 最近在学习java,写一些笔记记录下. 1.print()函数是一般的标准输出,但是不换行. 2.println ...

最新文章

  1. float js 正则 验证_使用HTML和Vuejs进行表单验证
  2. jQuery使用之(一)标记元素属性
  3. 2019牛客暑期多校训练营(第十场)
  4. python怎么输入两行_python交互模式下输入换行/输入多行命令的方法
  5. 深度linux magento,linux下安装magento
  6. 浅谈微博营销如何吸引流量
  7. Visio2007画E-R图
  8. 安全篇 ━━ ITlearner ASP探针 V1.2
  9. websockets_WebSockets简介
  10. matlab中的多行注释
  11. python语言的多行注释以什么开头_python实现多行注释的方法
  12. 新加坡国际学校IB课程体系
  13. Pandas:写了一个简易的销量异常检测器
  14. 从0到1:开启商业与未来的秘密
  15. [游戏] 星际争霸2:一个新的传奇?
  16. 科大讯飞胡郁:我所领导的超脑项目,代表了AI的未来
  17. C/C++基础 sleep()、usleep()、nanosleep()的用法
  18. 在线教育,如何选择一个合适的视频云平台
  19. Databuscanal对比
  20. 三角形用代码实现,三角形实现原理。

热门文章

  1. Linux meset
  2. java utf8 gbk 乱码,java UTF-8转GBK不乱码
  3. 人脸识别 | AI产品经理需要了解的CV通识(二)
  4. 从零开始学自然语言处理-十万字长文带你深入学习自然语言处理全流程
  5. Java对接ChinaPay提现(公私钥方式)
  6. Linux下的tree的简单使用
  7. MySQL子查询(嵌套查询)-----详细
  8. C语言 输出螺旋数组
  9. 华为A1路由器虚拟服务器,华为a1路由器怎么设置
  10. php 识别图框,自动识别比例插入CAD图框教程