工程师的火灾模拟/FDS/输出
最后,用户规定输出量(DEVC、SLCF、BNDF、ISOF)。
所有输出量必须在计算开始时指定。在大多数情况下,如果信息没有从一开始就指定,则无法在计算结束后检索信息。
FDS 计算每个离散时间步长内每个数值网格单元的温度、密度、压力、速度和化学成分。通常有数十万到数百万个网格单元,以及数千到数十万个时间步长。此外,FDS 计算固体表面的温度、热通量、质量损失率以及其他各种量。
因此,用户必须仔细选择要保存的数据,就像在设计实际实验时一样。即使只保存了计算信息的极小一部分,输出通常也包含相当大的数据文件(可能有多个 G 字节!)。
请记住,所有输出量必须在计算开始时指定。在开始计算之前,仔细考虑应保存哪些信息。
气相的典型输出量包括
• 气体温度;
• 气体速度;
• 气体物质浓度(水蒸气、CO2、CO、N2);
• 烟雾浓度和能见度估算;
• 压力;
• 单位体积的热释放率;
• 混合分数(或空燃比);
• 气体密度;
• 单位体积的水滴质量。
在固体表面,FDS 预测与气相和固相之间的能量平衡相关的其他量,包括
• 表面和内部温度;
• 热通量,包括辐射和对流;
• 燃烧速率;
• 单位面积的水滴质量。
程序记录的全局量包括
• 总热释放率 (HRR)热释放率 (HRR);
• 洒水器和探测器激活时间;
• 通过开口或固体的质量和能量通量。
空间中单个点的各种量的时程历史或全局量(如火灾的热释放率 (HRR))保存在简单的逗号分隔文本文件中,可以使用电子表格程序(如 Openoffice.org Calc 或 Microsoft Excel)绘制这些文件。
大多数场或表面数据使用 Smokeview 进行可视化。FDS 和 Smokeview 协同使用来模拟和可视化火灾现象。Smokeview 通过显示动画示踪粒子流、计算气体变量的动画等值线切片和动画表面数据来执行此可视化。Smokeview 还在场景中任何地方的固定时间点显示等值线和固定数据的矢量图。
命名列表组 DUMP 包含控制输出文件写入速率的参数,以及与输出文件相关的各种其他全局参数。
例如,NFRAMES 参数是每次计算的输出转储次数。默认值为 1000。设备数据、切片数据、粒子数据、等值面数据、3D 烟雾数据、边界数据、固相轮廓数据和控制函数数据每 (T_END - T_BEGIN) / NFRAMES 秒保存一次,除非另有说明。
下表总结了一些 DUMP 参数
参数 | 类型 | 描述 | 单位 | 默认值 |
---|---|---|---|---|
NFRAMES | 整数 | 每次计算的输出转储次数 | 1000 |
用于控制逻辑的相同设备 DEVC(参见第 [cha:Devices-and-control-logic] 章)用于保存空间中单个点处的给定量,以便可以将此量绘制为时间的函数,例如热电偶温度测量。
规定的 QUANTITY 记录为名为 mycase_devc.csv 的输出文件中的列。这种类型的文件可以导入任何电子表格程序。
示例
s | °C | °C |
---|---|---|
FDS 时间 | TC_A01 | TC_A02 |
0.00E+000 | 2.00E+001 | 2.00E+001 |
5.00E+000 | 2.98E+001 | 2.77E+001 |
1.00E+001 | 2.35E+001 | 2.26E+001 |
例如,如果您只想记录给定点处温度的时程历史,请添加
&DEVC XYZ=6.7,2.9,2.1, QUANTITY='TEMPERATURE', ID='T-1' /
将在输出文件 mycase_devc.csv 中添加一列,标签为 T-1。
FDS 报告在点 XYZ 所在单元格中计算的 QUANTITY 的值。
在规定固相量时,请确保将探头放置在固体表面。由于网格并不总是与输入障碍物位置对齐,因此并不总是很明显固体表面在哪里。
为了帮助 FDS 找到合适的表面,请使用参数 IOR(方向索引)建议面的正确方向。
在某些情况下,FDS 仍然无法确定要指定哪个固体表面,在这种情况下,诊断输出文件中会出现错误消息。重新定位探头并重试。例如,该行
&DEVC XYZ=0.7,0.9,2.1, QUANTITY='WALL TEMPERATURE', IOR=-2, ID='wt1' /
指定面向负 y 方向的墙壁的表面温度。
除了点测量之外,DEVC 组还可以用于报告积分量。例如,您可能想知道门或窗户的质量流出量。要报告此内容,请添加该行
&DEVC XB=0.3,0.5,2.1,2.5,3.0,3.0, QUANTITY='MASS FLOW', ID='mf1' /
请注意,在这种情况下,指定的是面而不是点。
QUANTITY='HRR'热释放率 (HRR) 可用于计算域子集内的总热释放率。在这种情况下,六元组 XB 应定义体积而不是面。
请记住,避免跨越多个网格边界的表面或体积:FDS 必须决定在积分中使用哪个网格。
SLCF 名称列表组参数允许您记录多个点的各种气相量。切片是指整个域的子集。它可以是线、面或体,具体取决于 XB 的值。
如果给定的 SLCF 线具有属性 VECTOR=.TRUE,则可以在 Smokeview 中创建动画向量。如果两个 SLCF 条目位于同一平面上,则只需其中一条线具有 VECTOR=.TRUE。否则,将创建冗余的速率分量切片集。
例如,该行
&SLCF PBX=0.8, QUANTITY='TEMPERATURE', VECTOR=.TRUE. /
记录了 x~=~0.8 平面上的温度和动画速度矢量
下表总结了一些 SLCF 参数
参数 | 类型 | 描述 | 单位 | 默认值 |
---|---|---|---|---|
QUANTITY | 字符串 | 要输出的量的名称 | ||
VECTOR | 逻辑 | 包含流向量 | .FALSE. | |
XB(6) | 实数 | 面 | m | |
PBX, PBY, PBZ | 实数 | 平面 | m |
BNDF 名称列表组参数允许您记录所有固体障碍物上的表面量。与 SLCF 组一样,每个量都用单独的 BNDF 行规定。但是,不需要指定物理坐标,只需指定 QUANTITY。
例如,该行
&BNDF QUANTITY='WALL_TEMPERATURE' /
记录所有固体障碍物面的 WALL_TEMPERATURE。
对于某些输出量,需要通过 PROP 名称列表组指定其他参数。在这种情况下,将字符串 PROP_ID 添加到 BNDF 行,以告诉 FDS 在哪里可以找到必要的额外信息。
请注意,BNDF 文件可能会变得非常大,因此在规定时间间隔时要小心。
减少输出文件大小的一种方法是关闭所需障碍物上边界信息的记录。在任何给定的 OBST 行上,如果包含字符串 BNDF_OBST=.FALSE.,则该障碍物不会被考虑用于边界量的输出。要关闭所有边界记录,请在 MISC 行上设置 BNDF_DEFAULT=.FALSE. 然后,可以使用 BNDF_OBST=.TRUE. 在相应的 OBST 行上重新打开各个障碍物。可以使用 BNDF_FACE(IOR)=.TRUE. 控制给定障碍物的各个面,其中 IOR 是方向的索引。
下表总结了一些 BNDF 参数
参数 | 类型 | 描述 | 单位 | 默认值 |
---|---|---|---|---|
QUANTITY | 字符串 | 要输出的量的名称 |
ISOF 名称列表组用于指定气相标量量的输出,作为三维动画等值线。例如,300°C 温度等值面显示气体温度为 300°C 的位置。可以通过以下行保存三个不同的温度值
&ISOF QUANTITY='TEMPERATURE', VALUE(1)=50., VALUE(2)=200., VALUE(3)=500. /
其中这些值以 °C 为单位。
任何气相量都可以通过等值面进行动画处理,但要小心。要渲染等值面,必须在每个输出时间步长在每个网格单元中计算所需的量。对于像 TEMPERATURE 这样的量,这不是问题,因为 FDS 会计算它并保存它。但是,烟尘密度或氧气需求在每个网格单元中计算时会消耗大量时间。
下表总结了一些 ISOF 参数
参数 | 类型 | 描述 | 单位 | 默认值 |
---|---|---|---|---|
QUANTITY | 字符串 | 要输出的量的名称 | ||
VALUE(3) | 实数 | 等值线值 |
当您使用默认混合分数燃烧模型进行火灾模拟时,FDS 会自动创建两个输出文件,这些文件由 Smokeview 渲染成逼真的烟雾和火焰。
默认情况下,输出量烟尘的 MASS FRACTION 和 HRRPUV(每单位体积的热释放率)用于可视化。
与总能量预算相关的量在逗号分隔文件 mycase_hrr.csv 中报告。此文件会自动生成。
该文件包含六列。第一列包含以秒为单位的时间。第二列到第五列包含积分能量增益和损失,所有单位均为 kW。第二列包含总热释放率,第三列包含对所有边界(固体和开放)的辐射热损失,第四列包含对边界的对流和辐射热损失(即流出或流入域的能量),第五列包含传导到固体表面的能量。第六列包含以 kg/s 为单位的总燃料燃烧率。它仅作为对总热释放率的检查。
示例
s | kW |
---|---|
FDS_HRR_Time | HRR |
0.00E+000 | 0.00E+000 |
5.00E+000 | 2.04E+002 |
1.00E+001 | 2.16E+002 |
如果您使用混合分数方法进行火灾计算,则烟尘会与所有其他主要燃烧产物一起跟踪。
通过烟尘的距离 L 传递的单色光 I 的强度根据以下公式衰减
光消光系数光消光系数 K,是烟尘颗粒密度,和质量比消光系数 Km 的乘积。与燃料相关的质量消光系数
如 [Mulholland 2002] 所示,可以通过使用以下公式估算烟尘的能见度
其中 C 能见度系数 是一个无量纲常数,表征通过烟尘查看的物体类型。
由于 K 随域中的点而变化,因为它取决于烟尘密度,因此能见度 S 也随之变化。
请记住,FDS 只能跟踪其生产率和成分已指定的烟尘。预测两者都超出了当前版本模型的能力。三个参数控制烟尘的产生和能见度;每个参数都在 REAC 行上输入
• SOOT_YIELD 是转换为烟尘的燃料质量的比例。
• MASS_EXTINCTION_COEFFICIENT,即方程 [eq:Km] 中的 Km。默认值为 8700 m2/kg,这是木头和塑料火焰燃烧的推荐值。
• VISIBILITY_FACTOR,即方程 [eq:S] 中的 C。对于发光信号 C=8,对于反光信号 C=3。默认情况下 C 为 3。
能见度 S 通过 QUANTITY 关键字 VISIBILITY 输出。
消防工程师通常需要估计燃烧隔间内热烟上层和较冷下层界面位置。相对简单的火灾模型,通常被称为双区模型区域模型,直接计算该量,以及上下层的平均温度。在像 FDS 这样的计算流体动力学 (CFD) 模型中,不存在两个不同的区域,而是一个连续的温度剖面。然而,已经开发了一些方法来估计连续垂直温度剖面上的层高和平均温度。
可以使用输入文件中的 DEVC 行指定 LAYER HEIGHT、UPPER TEMPERATURE 和 LOWER TEMPERATURE 量。例如,条目
&DEVC XB=2.0,2.0,3.0,3.0,0.0,3.0, QUANTITY='LAYER HEIGHT', ID='whatever' /
在 z~=~0 到 z~=~3 之间生成 x~=~2 和 y~=~3 处烟层高度的时间历程。如果使用多个网格,则垂直路径不能跨越网格边界。
有各种方法可以记录固体边界处的热通量。如果你想记录到表面的净热通量,q对流 + q辐射,使用 QUANTITY='HEAT FLUX'。各个分量,净对流热通量和辐射热通量,分别是 CONVECTIVE HEAT FLUX 和 RADIATIVE HEAT FLUX。
如果你想将预测的热通量与测量结果进行比较,你通常需要使用 GAUGE HEAT FLUX。NET HEAT FLUX 和 GAUGE HEAT FLUX 之间的区别在于,前者是能量被固体表面吸收的速率;后者是指如果表面是冷的或使用 GAUGE_TEMPERATURE 指定的某个温度,将被吸收的能量量。
所有上述热通量输出量都在固体表面定义。
FDS 为每个标记气体和固体之间界面的边界单元求解一维热传导方程,假设提供了材料层的材料特性。结果可以通过 DEVC 或 BNDF 输出传输到其他模型,这些模型预测墙壁或结构的机械响应。对于许多应用,一维热传导方程的解是足够的,但在固体内部横向热传导显着的情况下,可以采用另一种方法。FDS 包含绝热表面温度 (AST)绝热表面温度 (AST) 的计算,该量代表到固体表面的热通量,遵循 [Wickstrom 2007] 提出的想法。
显然,将信息传递给更详细的模型的目的是获得比 FDS 可以提供的更好的固体温度预测(并最终获得其机械响应)。
示踪粒子可以从通风口或障碍物中注入流场,如第 [sec:Injecting-Lagrangian-particles] 节所示,然后在 Smokeview 中观察。也可以绘制轨迹线。
下表显示了常用的输出量的整理列表。列“NameList”详细说明了可以在哪里指定相应的 QUANTITY:B 边界文件 (BNDF)、D 设备 (DEVC)、I 等值面文件 (ISOF)、S 切片文件 (SLCF)。
QUANTITY | 描述 | 单位 | NameList |
---|---|---|---|
NET HEAT FLUX | 固体边界处的辐射热通量和对流热通量的总和 | kW/m2 | B,D |
RADIATIVE HEAT FLUX | 固体边界处的辐射热通量 | kW/m2 | B,D |
CONVECTIVE HEAT FLUX | 固体边界处的对流热通量 | kW/m2 | B,D |
MASS FLUX* | 指定物质在固体表面的质量通量 | kg/m2/s | B,D |
MASS FRACTION* | 指定物质的质量分数 | kg/kg | D,I,S |
VOLUME FRACTION* | 指定物质的体积分数 | mol/mol | D,I,S |
LAYER HEIGHT | 估计燃烧隔间内热烟上层和较冷下层界面位置的高度 | m | D |
UPPER TEMPERATURE | 上层温度 | °C | D |
LOWER TEMPERATURE | 下层温度 | °C | D |
MASS FLOW | 计算通过给定平面区域的集成质量流量。 | kg/s | D |
HEAT FLOW | 计算通过给定平面区域的集成热流量。 | kJ/s | D |
VOLUME FLOW | 计算通过给定平面区域的集成体积流量。 | m3/s | D |
VISIBILITY | 烟雾中的能见度长度 | m | D,I,S |
SOOT VOLUME FRACTION | 烟灰体积分数 | mol/mol | D,I,S |
FED | 基于 CO、CO2 和 O2 的有效分数剂量,如 [Purser 2002] 所提出的 | D | |
TEMPERATURE | 气体温度 | °C | D,I,S |
THERMOCOUPLE | 模拟热电偶的温度,通常接近气体温度。 | °C | D |
WALL TEMPERATURE | 固体界面温度。 | °C | B,D |
ADIABATIC SURFACE TEMPERATURE | 参见第 124 页第 14.12 节。 | °C | B,D |
VELOCITY | 气相速度 | m/s | D,I,S |
NORMAL VELOCITY | 气相壁面法向速度 | m/s | D,B |
WALL CLOCK TIME | 经过的挂钟时间 | s | D |
∗这些量需要使用 SPEC_ID 指定气体物质。
以下是一些输出量的示例
&DEVC XYZ=0.1,0,2.39, QUANTITY='THERMOCOUPLE', ID='2.4' / &DEVC XB=0.1,0.1,0,0,0.0,2.4, QUANTITY='LAYER HEIGHT', ID='layer_h' / &ISOF QUANTITY='TEMPERATURE', VALUE(1)=60.0 / &SLCF PBY= -3., QUANTITY='TEMPERATURE', VECTOR=.TRUE. / &BNDF QUANTITY='ADIABATIC SURFACE TEMPERATURE' /
有些输出量需要通过 SPEC_ID 指定物质名称,例如 MASS FRACTION 量。SPEC_ID 可以选择在执行混合分数计算时隐式定义的一种物质(燃料、氧气、氮气、水蒸气、二氧化碳、一氧化碳、氢气、烟灰、其他),或通过 SPEC 行定义的额外气体物质
&SLCF PBX= 0.1, QUANTITY='VOLUME FRACTION', SPEC_ID='carbon dioxide' / volume fraction of carbon dioxide issued from mixture fraction model gas phase combustion model &SLCF PBX= 0.1, QUANTITY='VOLUME FRACTION', SPEC_ID='CARBON DIOXIDE' / volume fraction of carbon dioxide defined in a SPEC namelist group and injected separately in the flow domain