吕梦雅,闫 瑾,任喜亮,唐 勇,*,周莉莎
(1.燕山大学 信息科学与工程学院,河北 秦皇岛 066004;2.河北省计算机虚拟技术与系统集成重点实验室,河北 秦皇岛 066004)
近年来,各地林火火灾高发,山东威海、四川凉山、山西沁源等陆续发生的森林火灾都带来重大损失,变化多端的林火蔓延尤其给火灾预防和扑救带来巨大的困难。其中树冠火蔓延对森林的摧毁性最大,不仅能烧毁针叶、树枝和地被物等,而且燃烧产热量大、蔓延速度飞快,难以扑灭。因此研究树冠火的发生条件和蔓延规律,并对树冠火的生长转换过程进行实时仿真,有着重要的学术价值和现实意义。
1946年,W.R.Fons首次提出林火蔓延数学模型,此后,许多学者也都开始利用数学工具对林火蔓延进行建模并以此来分析预测林火的蔓延过程。目前,用于刻画林火蔓延的数学模型主要有McArthur模型、加拿大林火蔓延模型、Rothermel模型和王正非林火蔓延模型,此外还有很多基于上述模型修正演变而来的各种蔓延模型。其中树冠火蔓延模型是广受关注的重点之一。此类模型多以地表火蔓延模型为研究基础,重点开展地表火向树冠火的生长转换和树冠火自身蔓延两部分的研究。1972年,美国农业部Rothermel[1]采用了加权平均法获得可燃物的参量,从宏观尺度来描述林火蔓延,该模型是一个半经验模型,没有考虑温度对火焰蔓延模型精确性的影响;1977年,加拿大森林研究所Wagner[2]提出了树冠火蔓延模型,但是他偏向于数值模拟和简单可视化,模拟过程复杂,同时没有考虑交互的影响,效果不够真实;1996年,中国科学技术大学吴清松等人[3]对燃烧过程中水分蒸发等物理条件对树冠火蔓延速率的影响进行了研究,并建立了物理模型从而控制树冠火蔓延,该模型是一维模型,适用范围小,同时没有对转换过程进行描述;2012年,天津大学刘世光等人[4]提出一种基于Rothermel模型的地表火随时间变化的建模方法,并对火焰蔓延进行真实感绘制,但实现的火焰细节不够丰富;2013年,燕山大学唐勇等人[5]充分考虑了火焰燃烧过程中的物理特性,并利用基于物理的N-S方程对火焰运动进行建模,并对火焰进行光线投影渲染后移植到GPU进行计算,极大提高了仿真速度,但是加入烟雾和阴影之后仿真真实性有待提高;2015年,丁伟龙等人[7]为了在视觉上模拟单一植物的燃烧现象,提出了一种基于物理的多参数植物燃烧模拟方法,同时引入了分形和粒子系统来增加植物模型燃烧的真实性,但该方法没有考虑自然环境因素对火焰运动的影响,实现的火焰运动不够真实,仿真效果不好;2017年,斯坦福大学Sören Pirk等人[8]通过改变植物的物理化学属性,实现与火焰的交互,生成真实的植物燃烧现象,不过他们的研究局限于单株树木,未考虑大场景多株树木下树冠火生长蔓延运动的情况;2018年,Miguel G Cruz等人[11]分析了5种不同燃料类型的火势蔓延模型的准确性,并与其他模型进行对比,但是模拟精确性较低,误差较大;2019年,奥胡斯大学Michael B. Nielsen等人[12]通过物理方程建模的方式模拟物体燃烧,视觉效果上很逼真,但缺乏实时性。
因此,本文提出一种改进的树冠火生长蔓延模型,通过引入脉动风场丰富火焰细节,提高火焰蔓延真实性。再次,应用能量守恒定律,建立树冠火随温度场动态变化模型,增加树冠火转换过程的精确度。最后,运用Huygens原理和纹理映射技术对火焰蔓延进一步优化仿真,保证实时性。
本文采用Wagner提出的树冠火模型进行计算,此模型主要考虑了树木自身因素对火焰蔓延过程及火焰运动的影响,包括树叶的含水率M和林木枝下高H,计算公式如下:
(1)
(2)
其中,IO是树冠火发生临界状态时地表火蔓延的火焰强度阈值,Ib是地表火蔓延时火焰强度,IR是地表火蔓延的反应强度,R是地表火火焰蔓延速率值,σ是蔓延时可燃物的表面积与体积比。
传统树冠火蔓延模型没有考虑外力项因素对蔓延过程及火焰运动的影响,难以用于复杂条件下火焰蔓延的模拟。真实环境中,火焰蔓延会受到风力、地形等外部因素的影响。其中,风速作为主要影响因子,其对火焰蔓延的影响远超其他因素。因此,本文引入脉动风场重新计算火焰强度,对传统树冠火生长蔓延模型进行改进,以增加火焰的细节,提高火焰蔓延模拟的真实性。改进后计算公式为
14.2e0.154 7v(t),
(3)
式中,v(t)为脉动风速。
火焰的蔓延会受到风场的影响,将脉动风场看作是一个典型的非完全均匀时空随机场。设m个点空间相关脉动风速时程列向量的(Autoregressive model)模型可表示为
(4)
其中,p是AR模型的阶数值;Δt是模拟风速时间步长;ψK是AR模型的自回归系数矩阵;v(t-KΔt)是t时刻之前K个时刻的脉动风速;N(t)是独立随机过程向量,N(t)=L·n(t),n(t)是正态随机过程;L是m阶下三角矩阵。
将速度的表达式代入式(3)得到火焰强度IO值,通过引入脉动风场改进火焰强度的计算,增加火焰的细节,提高火焰运动真实性。
在火焰蔓延过程中,当地表火蔓延火焰强度Ib大于阈值IO时,就会引发地表火向树冠火的转换;反之,当Ib小于等于IO时,表示地表火不会向树冠火发生转换。
为了提高模拟的准确性,本文以任一时刻温度变化状态出发,应用能量守恒定律,建立树冠火随温度场动态变化生长过程。结合Wagner提出的树冠火生长蔓延模型,得到火的蔓延速度计算式:
R=RO+αT,
(5)
其中,RO是火的初始蔓延速度,T是温度,α是比例系数,值为0.05。
由能量守恒定律推导出温度场随时间变化的微分方程表达式:
(6)
其中,T为火场温度;t为火焰蔓延时间;ρ为火源密度;CP为比热;λ是导热系数;L是潜热。
为简化计算,忽略潜热的计算项,即温度场的表达式为
(7)
使用Jacobi迭代求解出每一时刻T值,将其代入式(5)得到火焰蔓延的速度R。通过引入温度场动态变化函数改进火焰蔓延速度的计算,使树冠火生长过程更加准确。
为了使树冠火生长蔓延更具有真实感和实时性,本文采用基于Huygens的波动传播模型对火焰蔓延区域进行实时仿真,原理是通过计算火场边界上每一个点的过火区形状来描述火场边界,过火区由随时间动态变化的连续扩展多边形表示,为保证实时性和精度要求,将选择多边形的一点设置为一个独立的初始着火点,本文将多边形顶点的数量控制在1~624,在计算中,一定时间间隔内参数值设置是近似不变的,火场边界是通过这些着火点依次引燃邻近未燃区来完成蔓延的。
根据Huygens波动传播原理进行蔓延区域的实时仿真可分三步进行:
首先,选取一个着火点,蔓延形成一系列着火点。
然后,应用连续扩展的多边形顶点判别的算法,计算逐个着火点的位置关系,定义3点P1(x1,y1),P2(x2,y2),P(x3,y3)的坐标,其行列式形式如下:
(8)
最后,设图1中各个连续的顶点为P1,P2,…,Pi,利用行列式结果的正负值判断着火点向量的位置关系。
图1 多边形顶点示意图Fig.1 Polygon vertices
重复上述过程可以建立多个着火区域,通过实验可证明基于Huygens原理的仿真可以优化火焰蔓延过程,保证实时性和计算精确性,使蔓延过程更加真实。
基于物理的烧焦效果真实但实时性差,本文采用设定燃料类型的方法,通过模拟过火前后地表形态的变化,获得较为真实且实时的烧焦效果。被燃烧纹理是主要燃料,对于每个被燃烧纹理,在操作面板中设定对应的燃料值,如果纹理不易燃,则唯一需要设定的变量是“纹理ID”,它是纹理顺序中纹理的数组索引:0~n,本文设定不同的烧焦标记纹理,将表示随时间变化不同的烧焦程度。
由实验结果可知,使用纹理映射技术可以模拟不同的烧焦程度,并且在树冠火生长蔓延实时仿真中依然可以保持很高的帧率。
本文实验基于Windows系统,处理器为Intel Core i5 9400 2.90GHz,内存为16G,显卡为NVDIA GeForce GTX 1650。软件环境采用Unity3D虚拟引擎进行系统开发,并结合C#以及CG/Unity Surface Shader编程语言。
图2为引入动态温度场和脉动风场的火焰模拟,a)为文献[6]通过传统的粒子系统模拟的火焰效果,可以看出火焰的边缘较为模糊,缺乏真实感,b)为文献[11]通过物理方法模拟的火焰效果,火焰的细节比较真实,但是做不到实时,c)为本文引入动态温度场和脉动风场进行改进后的火焰模拟效果,火焰细节更为明显,更具真实感。
图2 火焰模拟细节对比Fig.2 Comparison of flame simulation details
图3为本文改进的树冠火蔓延模型模拟效果,a)为文献[7]基于生物学-数学公式和支持建模的方式联合模拟植物树模型燃烧效果,b)为文献[6]基于物理定律的方法模拟植物燃烧过程的效果,可以看出二者火焰运动不够真实,细节不够丰富,c)为本文引入脉动风场后树木燃烧的蔓延模拟,火焰运动更具有随机性,效果更真实。
图3 树冠火燃烧模拟对比Fig.3 Comparison of crown fire combustion simulation
图4为本文通过调整风系数,不同风向不同风速对火焰的蔓延方向以及蔓延大小产生不同的影响,根据大气运动原理可知,风的方向和火焰蔓延方向一致。a为无风情况下火焰的蔓延效果,b引入风场后的火焰蔓延效果且风为东风、风速为2,c为风速为5下火焰的蔓延情况。
图4 引入风场对比Fig.4 Comparision of introducing wind field
图5为引入动态温度场树冠火的生长转换过程。a为Ib≤IO时效果图,此时地表火不会向树冠火发生转换,只是地表火蔓延,b为Ib>IO时效果图,此时地表火强度大于阈值,发生地表火向树冠火的转换。通过应用能量守恒定律得到随时间动态变化的火焰蔓延速度,该方法使转换过程更加精确,同时满足火焰模拟的实时性要求,大大加强了真实感。
图5 地表火向树冠火转换Fig.5 Conversion of surface fire to crown fire
图6为采用Huygens原理和纹理映射技术对烧焦效果进行实时仿真。a为文献[4]的林火蔓延烧焦效果图,火焰的细节和效果都不是很好,同时做不到实时。b,c,d为本文烧焦效果图,通过不同的纹理ID,展示不同时间的烧焦程度,可以看到烧焦效果更好,更具有真实感,同时保证实时性。
图6 不同烧焦程度对比Fig.6 Comparison of different scorch levels
为检测改进树冠火生长蔓延模型的仿真效率,表1列出了本文实验以及部分文献数据的对比状况。其中,可以明显看出本文模型增加了火焰模拟细节的同时,确保了树冠火生长转换的精确度,保证了实时性。
表1 不同方法的实验性能对比Tab.1 Comparison of experimental performance of different methods
本文完成了对树冠火生长蔓延模型的改进。首先,引入脉动风场改进树冠火生长蔓延模型,增强了火焰细节,使火焰模拟更加真实;然后,应用能量守恒定律建立动态温度场模型,使树冠火转换过程更加精确;最后,将Huygens原理与树冠火生长蔓延模型相结合,并采用纹理映射技术的方法改善了实时仿真的问题。但是该模型的适用范围还存在一定问题,没有考虑不同可燃物以及更加多变的环境因子下火焰的蔓延情况,场景过大时系统的运算速率偏低,这些将是我们未来工作的重点。