跳转到内容

工程师火灾模拟/FDS/计算域

来自维基教科书,开放世界中的开放书籍

计算域

[编辑 | 编辑源代码]

其次,通过 MESH 名字列表组定义计算域。

所有 FDS 计算都必须在由称为网格的直角体积组成的域内执行。每个网格被划分为矩形单元,单元的数量取决于所需的流动动力学分辨率。一些初始条件通过 INIT 名字列表组对流动域进行规定。

定义网格,MESH

[编辑 | 编辑源代码]

MESH 是定义计算域体积的名称列表组。例如,

&MESH IJK=10,20,30, XB=0.0,1.0,0.0,2.0,0.0,3.0 /

定义一个网格,该网格跨越从原点 (0., 0., 0.) 开始的体积,并在正 x 方向上延伸 1 米,在正 y 方向上延伸 2 米,在正 z 方向上延伸 3 米。

该网格通过参数 IJK 细分为均匀单元。在本例中,该网格被划分为 10 厘米的立方体:x 方向上 10 个立方体,y 方向上 20 个立方体,z 方向上 30 个立方体。

任何超出网格边界延伸的障碍物或通风口都会在边界处被截断。在网格外部定义对象不会有任何损失,并且这些对象也不会出现在 Smokeview 中。

请注意,网格单元最好类似于立方体,即单元的长度、宽度和高度应该大致相同。

请记住,大涡模拟技术 (LES) 基于这样一个假设,即数值网格应该足够精细以允许形成负责混合的涡流。一般来说,涡流的形成受网格单元最大尺寸的限制,因此在 1 或 2 个方向上缩小网格分辨率不一定能导致更好的模拟,如果第三个尺寸很大。

由于计算的重要部分使用基于快速傅里叶变换 (FFT) 的泊松求解器在 y 和 z 方向上进行,因此网格的第二个和第三个尺寸应该分别为 的形式,其中 k、m 和 n 是整数。例如, 是良好的网格单元划分,但 37、99 和 109 不是。

网格单元划分的第一位数(I 中的 IJK)不使用 FFT,不需要作为小数的乘积给出。

以下是在 1 到 1024 之间可以分解为 2、3 和 5 的数字列表

IJK 值
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. . .

下表总结了一些 MESH 参数

参数 类型 描述 单位 默认值
ID 字符串 标识符
IJK(3) 整数 方向上的单元数 10
XB(6) 实数 体积

多个网格

[编辑 | 编辑源代码]

计算域可以由许多连接的网格组成。每个网格必须有其 MESH 名字列表组。

例如,

 &MESH IJK=32,32,16, XB=0.0,1.6,0.0,1.6,0.0,0.8 /
 &MESH IJK=32,32,16, XB=0.0,1.6,0.0,1.6,0.8,1.6 /
 &MESH IJK=32,32,16, XB=0.0,1.6,0.0,1.6,1.6,2.4 /
 &MESH IJK=32,32,16, XB=0.0,1.6,0.0,1.6,2.4,3.2 /

描述一个由四个连接的网格组成的域,如下图所示。

火灾动力学模拟的 4 网格计算域示例

连接必须始终遵循一个简单的网格对齐规则,正好一个整数(1、2、3......)数量的精细单元与每个粗单元相邻。网格对齐如下图所示

将几何对象与网格对齐

在设置多网格计算时,还应遵循以下经验法则

• 避免将网格边界置于预期会发生 *关键动作* 的地方,尤其是火灾。有时火灾从一个网格蔓延到另一个网格是不可避免的,但如果可能,尽量使网格界面相对没有复杂的现象,因为跨网格边界的的信息交换还没有像一个网格内单元到单元的交换那样准确。

• 如果一个平面障碍物靠近两个网格相邻的地方,请确保 *每个网格都能看到障碍物*。如果该障碍物距离一个网格的边界即使只有 1 毫米,该网格也不会考虑它,在这种情况下,信息就不会在网格之间正确传递。

• 使用相对粗糙的网格单元来实验不同的网格配置,以确保 *信息在网格之间正确传递*。有两个需要关注的问题。首先,是否看起来气流受到网格边界的严重影响?如果是,尝试将网格边界移开活动区域。其次,从一个网格到另一个网格的单元尺寸差异过大吗?如果是,请考虑从细网格到粗网格移动信息时信息丢失是否可以容忍。

网格的一致性

[编辑 | 编辑源代码]

所有几何对象都必须符合矩形网格。如果您创建的几何对象不完全符合底层网格,FDS 会将它们移到最接近的网格单元,如下图所示

火灾动力学模拟中良好和不良网格连接的示例

选择正确的网格尺寸:灵敏度研究

[编辑 | 编辑源代码]

FDS 中最重要的数值参数是网格单元大小。CFD 模型在数值网格上求解质量、动量和能量守恒方程的近似形式。与偏导数离散化相关的误差是网格单元大小和所用差分类型的函数。FDS 使用纳维-斯托克斯方程的时间和空间导数的二阶精度近似,这意味着离散化误差与时间步长或单元大小的平方成正比。理论上,将网格单元大小减小 2 倍可以将离散化误差减小 4 倍。但是,它也会使计算时间增加 16 倍(时间和每个空间维度的系数为 2)。显然,随着对数值网格进行细化,会有一个收益递减点。确定在任何给定计算中使用什么大小的网格单元被称为网格敏感性研究

通常,您应该使用相对粗糙的网格构建 FDS 输入文件,然后逐渐细化网格,直到您在结果中没有看到明显的差异。

当结果质量的改进超过计算成本时,就会达到收益递减点。达到这一点取决于应用。它还取决于感兴趣的数量。某些数量,如热气层温度或高度,通常不需要像热通量到火源附近的目标那样精细的数值网格。

对于涉及浮力羽流的模拟,一个衡量流场分辨率的指标由无量纲表达式 给出,其中 是特征火灾直径, 是网格单元的标称尺寸。 定义为

其中 是火灾的热释放速率,以 kW 为单位, 是空气密度(~1.2 kgm−3,cp 是空气热容(~1 kJ kg−1K−1), 是环境空气温度(~293 K),g 是重力加速度(~9.81 m s−2)。

数量 可以被认为是跨越火灾特征(不一定是物理)直径的计算单元数。跨越火灾的单元越多,计算的分辨率就越高。最好用这个无量纲参数来评估网格质量,而不是绝对网格单元大小。例如,对于从大型火灾评估烟雾和热量在建筑物中蔓延,10 厘米的单元大小在某种意义上可能是足够的,但可能不适合研究非常小的、阴燃的源头。

例如,在 [NUREG 1824] 的网格敏感性研究中, 值范围从 4 到 16。这些值用于充分解析羽流动力学,以及模型的其他几何特征。这个范围并不表示对所有模型使用什么值,而只是表示对特定模型集有效的值。

计算域的初始条件,INIT

[编辑 | 编辑源代码]

在任何计算开始时,温度在任何地方都是环境温度,流速在任何地方都是零,没有任何东西在燃烧,并且所有物质的质量分数都是均匀的。

要在流域的某个体积区域内更改起始环境条件,请添加以下形式的行

 &INIT XB=0.5,0.8,2.1,3.4,2.5,3.6, TEMPERATURE=30. /

气相的初始温度应为 30 摄氏度,而不是在规定的体积内的环境温度。此结构也可以用于DENSITY 或 MASS_FRACTION(n)。

INIT 结构可能有助于检查烟囱效应在建筑物中的影响,其中内部和外部的温度不同。

有关设置固体障碍物的初始温度,请参见小节 [sub:initial-temp-of-solid-obst]。

MISC 名字列表组也可以用于设置各种初始条件。

可以通过 U0、V0 和 W0 参数在域上规定初始速度。通常,每个坐标方向上的气体速度的初始值都为 0 米/秒,但在某些情况下,立即开始流动很方便,例如在涉及风的户外模拟中。

可以通过 TMPA 参数规定域的不同环境温度。

要对倾斜屋顶或隧道进行建模,您可以更改重力向量的方向。GVEC 参数包含重力的 3 个分量,单位为 m/s2。默认值为 GVEC=0,0,-9.81

例如,

 &MISC U0=2., TMPA=25., GVEC=-0.114377,0.,-9.809333 /

生成 +x 方向的初始风速为 2 米/秒,将环境温度设置为 25 摄氏度,并将重力向量弯曲到 -x 方向。

下表总结了一些 INIT 参数

参数 类型 描述 单位 默认值
DENSITY 实数 密度的初始值 kg/m3 环境
MASS_FRACTION(n) 实数 物种 n 的初始值 Kg/Kg 环境
TEMPERATURE 实数 温度的初始值 °C TMPA
XB(6) 实数 体积
华夏公益教科书