孙召才
(交通运输部广州打捞局,广州 510260)
改革开放以来,我国经济建设事业蓬勃发展,其中对外贸易发展尤为迅速,港口成为了人民生产生活所需物品的大型集散中心之一[1]。随着航运事业的进一步发展和完善,港口的货运总量持续增高,货运品种不断丰富增加,而且包含大量化工、建造等产业所需的易燃易爆物资,使发生火灾的概率增大。如何有效控制港口火灾事故的发生以及当事故发生时,如何保障港口内人员安全疏散,成为港口规划运营的重点研究内容。针对火灾模拟,孙绍南等[2]基于BIM技术使用Pyrosim软件进行火灾烟气模拟;马晨霞等[3]基于港口仓库模型使用Pyrosim软件对仓库火灾的发展过程进行了模拟仿真;针对突发火灾灾情下的应急疏散模拟,唐国磊等[4]针对港口客运站火灾特点和人员疏散影响因素,建立了基于AnyLogic的港口客运站作业系统仿真模型和基于Pathfinder的人员疏散仿真模型;金泽人等[5]提出了基于元胞自动机的火灾场景移动方向规则和基于行人流的异步型人流模拟模型;黄凯等[6]基于Pyrosim软件对某教学楼一层全尺寸模型的火灾数值模拟分析,建立基于火灾产物影响下的人员疏散模型。贾幼磊等[7]基于Anylogic仿真软件构建了考虑码头和堆场生产作业的全港道路交通系统仿真模型,对不同区域着火后人员和车辆疏散进行仿真分析,支撑码头着火安全应急疏散预案制定。
目前,对于火灾发展蔓延规律的模拟主要着重于二维平面的研究,模拟结果虽然简洁直观,但是与真实场景的差别较大,随着计算机三维建模技术的发展与成熟,借助相关软件和算法,能够将复杂现实场景在计算机中实现三维仿真模拟,因此可以将火灾态势发展、人群疏散的二维仿真结果在三维仿真环境中进行可视化模拟,使研究结果更加清晰直观,更有利于消防指挥决策和疏散演练,尽量将灾害带来的经济损失和人员伤亡降到最低。为此,以某港口为例,基于元胞自动机结合港口环境、气象等条件提出火灾蔓延模型,并在此基础上以社会力改进的蚁群算法对疏散人群的疏散行动进行模拟,并基于Unity3D物理引擎平台针对模拟结果进行可视化。
元胞空间是元胞在空间中分布的空间格点,为了便于在现有的计算机环境下进行火灾蔓延过程的展示,采用类似圆形的二维Moore正方形网格划分元胞空间[8]。元胞空间网格大小根据Hamada提出的在一定风速下火蔓延的极限距离公式来确定,公式如下
H=1.15×(5+0.5v)
(1)
式中:v表示风速,(m/s);H表示一定风速下火灾蔓延的极限距离,m。当风速为0时,火灾蔓延的极限距离是5.75 m,如果元胞边长值大于5.75 m,不便于模拟火灾的真实蔓延情况,因此选取元胞边长b=5 m。
模型元胞的状态代表当前时间该地理位置的相应网格的火势状态,将港口火灾模型元胞状态属性定义为0、1、2三种。其中0状态表示当前元胞所处地理位置存在不可燃烧的障碍物,且无法进行状态转换;1状态为可燃烧而尚未燃烧,状态1可转换为状态2;2状态代表当前元胞正在燃烧,且具有点燃邻域中状态1元胞的能力。
为了更好地描述元胞状态的变化,元胞自动机通常将时间离散成等间隔的时间步,公式如下
(2)
式中:H为火灾蔓延的距离,即元胞边长b;v为火灾蔓延的速度。以港口地势开阔为基础条件,在本实验中设定火灾蔓延的速度为2.5 m/s,模型的时间步为2 s。
在港口火灾蔓延模型中,元胞状态转换的规则表示燃烧元胞扩燃的规则。预设元胞状态的转换规则如图1所示。
图1 元胞状态转换规则
根据上述对港口火灾的影响因素的分析,定义点燃概率P(i,j)与场地结构耐火等级、风气象荷载等影响因素相关,公式如下[9]
P(i,j)=R(i,j)×A(i,j)
(3)
式中:R(i,j)为港口发生火灾的区域建筑类型对于火灾发展蔓延的影响;A(i,j)为港口场景下风速以及风向对于火灾发展蔓延的影响。选用符合港口场景的建筑结构类型影响参数[10]作为R(i,j)的取值,如表1所示。
表1 R(i,j)取值参考
模型在理想无风和有风状态下进行模拟分析,假定港口火灾受东风影响,选取1~5 m/s的轻微风、6~8 m/s的轻劲风作为两种风速变量,A(i,j)的取值如图2所示。
2-a 风速为1~5 m/s 2-b 风速为6~8 m/s 2-c 从左到右影响依次为0.1、0.2、0.3、0.4、0.5、0.6、0.8、1.0
构建发生火灾的港口场景,假定火灾发生在集装箱装卸区域,该区域呈正方形,面积为10 000 m2,共设E1、E7两个应急疏散专用出口,其中E2-E6区域为集装箱摆放区域,E8区域为可供人员疏散行走区域,如图3所示。为了方便对比,设定起火位置如图4所示,火灾发展蔓延的结果如图5~图7所示。
图3 模拟港口区域平面示意图
5-a t=20 s 5-b t=40 s 5-c t=60 s 5-d t=80 s
6-a t=20 s 6-b t=40 s 6-c t=60 s 6-d t=80 s
7-a t=20 s 7-b t=40 s 7-c t=60 s 7-d t=80 s
(1)理想无风条件下火灾蔓延结果。
(2)东风风速1~5 m/s条件下火灾蔓延结果。
(3)东风风速6~8 m/s条件下火灾蔓延结果。
基于火灾蔓延元胞自动机模型模拟结果,考虑到人与人、灾害和障碍物之间的相互作用力,使用社会力模型改进蚁群算法中的信息素更新准则[11],对港口火灾场景下的人群疏散进行模拟。
Dirk Helbing和Peter Molnar两位学者[12]在研究中将运动中的人员个体简化为受力学影响、具有运动规律的粒子,假设粒子的重量为m,针对粒子分析其运动过程中受到的作用力,粒子在疏散过程中所受的社会力Fo公式如下
Fo=fo+∑o≠o′foo′+∑xfox
(4)
式中:fo为粒子o自身主观引导对疏散出口产生的自驱动力,foo′为粒子o与粒子o′小于一定距离时的排斥力,fox为粒子o在疏散过程中与障碍物、灾害等之间的排斥力。
选择出口作为条件对启发函数进行改进,使人群疏散的目标方向为离当前节点最近的出口方向[13],公式如下
(5)
(6)
式中:μab(t)为路径ab上信息素的浓度;ρab(t)为o在路径ab的启发函数值;α和β分别为μab(t)和ρab(t)的影响因子。
在整个疏散过程中,个体所受到的排斥力会由于人群拥挤和火灾逼近等原因不断增加,对疏散出口的驱动力维持稳定,社会力总和Fo会呈现整体上升的趋势[6]。在一定时间间隔内针对所有个体,记录其所受社会力的情况
[Fo1(t1),Fo2(t2),…,Fon(tn)]
(7)
式中:on表示n个疏散个体;tn表示某时刻。计算个体社会力标准差,若当前时刻个体o的社会力标准差与前时刻相比出现了大幅度增长变化,则下一时刻通过以下规则对场景中的信息素浓度进行更新
(8)
(9)
图8 疏散流程示意图
在火灾蔓延模型基础上的人群疏散模拟结果如下。
(1)理想无风状态下火灾场景疏散模拟结果。
①40人疏散模拟结果如下,无被困人员,如图9所示。
9-a t=20 s 9-b t=40 s 9-c t=60 s 9-d t=80 s
②60人疏散模拟结果如下,被困3人,如图10所示。
10-a t=20 s 10-b t=40 s 10-c t=60 s 10-d t=80 s
③80人疏散模拟结果如下,被困3人,如图11所示。
11-a t=20 s 11-b t=40 s 11-c t=60 s 11-d t=80 s
(2)东风下火灾场景60人疏散模拟结果。
①风速为1~5 m/s疏散模拟结果如下,被困5人,如图12所示。
12-a t=40 s 12-b t=60 s 12-c t=80 s 12-d t=100 s
②风速为6~8 m/s疏散模拟结果如下,被困8人,如图13所示。
Unity3D是一个实时3D互动内容创作和运营的物理引擎平台,拥有高制作速度和简易操作等优点,支持Windows、iOS、MacOS等多个平台。Unity平台具有强大的兼容性与适配性,支持3dx Max、Maya、Lightwave、Collade等多种格式导入[15],除了模型原有内容外,还可以添加模型的Mesh、Vertex、Color以及骨骼动画等,可通过搭建逼真的三维场景以及动画制作等来对灾害应急场景进行模拟。基于2中对港口火灾发展和人群疏散模拟的试验结果,使用Unity3D引擎对2中实验结果进行可视化模拟。
创建合理的港口场景是火灾场景人群疏散仿真模拟的重要前提,将在3ds Max中制作好的模型导出为FBX文件格式,在Unity3D的Scene窗口下进行摆放,添加光源,调整光源的方向、强度等参数,以及调整其他场景属性、环境属性,增强场景美观感和真实感。并将研究区域离散成20×20的四边形元胞空间,港口建模与试验模拟区域如图14、图15所示。
图14 港口全景建模
通过脚本控制火焰和烟气粒子的尺寸,制作火势和烟气增大的效果。由于火焰和烟气会随风进行摆动,因此通过脚本为其添加强制力模拟风力使其向力的方向进行摆动。记录每一时间步模拟区域火灾的变化,编写脚本根据时间控制粒子的实例化,从而实现火灾和烟气蔓延过程的三维动态可视化。
为工人模型添加刚体组件使其在仿真物理环境下进行运动,保证疏散模拟的真实性。为模型设置动画转换树,通过运动速度的大小来切换静止、行走和奔跑状态。为了防止在疏散模拟过程中模型和模型互相穿过的现象出现,需要为模型添加符合形状的碰撞体,并通过NevMesh组件对场景进行烘焙提取可运动的区域,如图16所示。
图16 烘焙场景可通过区域
为工人模型添加NevMeshAgent组件设置导航代理实现疏散运动,根据疏散模拟结果在离散区域设置人员疏散位置,在脚本中调用nav.destination方法将疏散出口设置为人员运动目标位置,直至与出口发生碰撞完成疏散。
调整摄像机的位置来记录和观察港口火灾场景人群疏散过程,仿真结果如下图,其中用○标注表示被火灾围困的人员。
(1)理想无风状态下疏散结果可视化,如图17所示。
17-a t=0 s 17-b t=20 s 17-c t=40 s 17-d t=60 s
(2)1~5 m/s东风火灾场景疏散结果可视化,被困5人,如图18所示。
18-a t=20 s 18-b t=40 s 18-c t=60 s 18-d t=80 s
(3)6~8 m/s东风火灾场景下疏散结果可视化,被困8人,如图19所示。
19-a t=20 s 19-b t=40 s 19-c t=60 s 19-d t=80 s
基于Unity3D物理引擎平台,结合搭建的港口场景以及制作的火焰烟气粒子系统针对2中的数学模拟结果进行可视化模拟,为工人模型添加必要组件作为可运动的前提,添加动画状态机基于人物速度控制人物运动状态,基于疏散模型结果编写脚本为人物制定疏散路径,实现港口火灾场景下人群疏散模拟可视化。
本文使用元胞自动机作为理论基础,结合港口特殊地理场景发生火灾的特征,构建了火灾蔓延模型,并以此为基础,使用社会力蚁群算法对火灾场景下的人群疏散运动过程进行了模拟,最后基于Unity3D物理引擎平台对港口火灾场景下的人员疏散过程进行可视化展示。港口火灾的发展蔓延过程的模拟和仿真可视化可以精确到某一特定时间点的火灾发展情况,包括蔓延方向、蔓延趋势以及已经覆盖的火灾面积等信息,能够使港口工作人员、消防官兵以及与此密切相关的工作人员更好地了解到火灾发展蔓延的全部过程,帮助消防人员高效使用消防力量;同样的,港口火灾场景下的人员疏散模拟和仿真可视化能够为港口相关机构组织工作人员消防演练提供参考,对于在火灾发生后降低人员伤亡有极其重要的意义。在后续的研究中,随着计算机运算能力的增强、火灾发展理论的成熟完善,对火灾的模拟方式更趋向于大规模网络模拟,模拟结果会更接近于火灾真实发展过程。