森林火灾模型讲解.docx
《森林火灾模型讲解.docx》由会员分享,可在线阅读,更多相关《森林火灾模型讲解.docx(9页珍藏版)》请在冰豆网上搜索。
森林火灾模型讲解
森林火灾模型
摘要..........................................................3
问题分析..................................................4
提出假设..................................................5
构建模型..................................................5
模型结果分析..........................................8
模型评价..................................................10
结论..........................................................10
参靠文献..................................................11
摘要
森林火灾是一种影响后果严重、人为很难控制的一类自然灾害。
森林火灾危害巨大,它不仅毁坏森林资源,破坏自然环境,造成环境污染,而且可以造成巨大的生命和财产损失。
1987年5月6日至6月2日的黑龙江省大兴安岭火灾造成的火灾场面积达到133万平方千米,有10807户、56092人受灾,死亡213人,直接经济损失高达20亿元。
国家每年投人大量的资金用于森林防火。
在1997,1998,1999年的防火经费分别达到2103万元、5181万元和7350万元,呈逐年上升的趋势。
因此,长期以来国内外开展了关于森林火灾成灾规律、火蔓延规律、林火的特殊火行为以及林火发生规律的研究。
森林火灾发生时,快速准确地模拟和预测火势的蔓延和发展,可以为及时部署灭火力量、控制火灾蔓延提供科学的决策依据,且具有重大的实际意义。
本文根据林火蔓延的自身特点结合元胞自动机(CA)分析,并提炼出影响森林火灾蔓延的关键影响因素。
这一模型中森林用一个二维网格来表示,其中每个格点代表一棵树或代表空地,各节点的树具有相同的生长概率和着火概率,以一定的规则进行演化。
这一模型忽略树木间的差别,假设初始状态只有一个着火点,不存在闪电袭击导致着火,从这一个着火点开始蔓延,如果绿树最近邻居中有一个树在燃烧,则它变成正在燃烧的树。
通过这样的模型,研究蔓延的概率达到多大时森林可能会被烧光。
随着目前CA研究的深入,CA在森林火灾扩散的预测研究中越来越广泛,论文结合提出的模型,并根据CA表现出的很强的模拟复杂系统的能力,采用Matlab平台,做了模拟仿真的实验工作。
采用动态方式进行模拟,使用图形页面展示,并可以根据仿真显示结果调整更新相关参数,最终得到一个能更好的模拟现实森林火灾蔓延情况的预测模型。
最终,通过对显示结果的对比分析,验证了模型的可靠性及可用性。
关键词:
森林火灾;元胞自动机(CA);蔓延;生长概率;着火概率
问题分析
森林火灾是一种常见的、极具突发性和破坏性的自然灾害。
通过构建森林火灾蔓延模型来仿真分析可能发生和正在发生的林火行为,能够辅助防火决策以便有效减少损失,这是火灾预测与预防的有效手段,也是国内外研究的热点。
其中,基于元胞自动机的林火蔓延模型能够较好地仿真林火蔓延的自组织复杂过程,广泛应用于林火蔓延预测研究。
本文主要研究在一个着火点的条件下,蔓延概率与森林被烧光的关系。
使用元胞自动机建立相应模型,得到部分蔓延概率与森林是否被烧光的结果。
论文主要研究了俩个方面:
森林蔓延率与森林被烧光时间的关系及森林被烧光最小蔓延率与森林生长率的关系。
结果直观显示蔓延概率与森林被烧光(树木剩余率小于等于5%)的关系。
提出假设
森林火灾是一种常见的自然灾害,森林火灾给社会经济和人民生命安全带来很大的损失。
根据现实情况,提出以下假设:
一、森林蔓延率越大,森林被烧光所需时间越短。
二、森林生长率越大,森林被烧光最小蔓延率越大。
构建模型
1.基于元胞自动机的森林火灾模型:
1.1元胞的边长
一般来说,在模拟过程中,元胞尺寸越小,越能显示火势蔓延的细节。
但是,元胞尺寸过小,会增加计算时间和数据量。
笔者的目的是快速、动态地模拟森林火灾蔓延时的情况,因此,要根据笔者的目的选取合适的元胞尺寸。
1.2火势蔓延的速度
1.3时间的确定
1.4邻域
通常元胞自动机包含俩种邻域,第一种是Vonneumann邻域,由一个中心元胞和东南西北的四个邻胞组成。
第二种是Moore邻域,它另外包括东北、西北、东南、西南四个方位。
本论文为了快速地模拟森林火灾蔓延时的情况,选取第一种。
1.5元胞的形态
元胞状态S定义三个值:
0、1、2。
树木未着火,元胞定义为2;正在燃烧的树木,元胞定义为1;燃烧一轮后(即向周围发生扩散后),变为空地,元胞定义为0,并按生长率重新生长。
1.6元胞发生着火的概率
2.模拟算法:
模型结果分析
所建立的森林火灾蔓延系统经过编译调试,进行了不同蔓延率下的元胞仿真试验,得到了森林完全燃烧所需的平均循环次数。
见下表:
表一:
森林蔓延率与循环次数的关系
蔓延率pspread
循环次数i
1
2
3
4
5
平均值
0.61
513
542
543
422
561
516.2
0.65
378
467
373
340
387
389
0.69
398
429
372
393
351
388.6
0.73
446
381
397
470
322
403.2
0.77
381
384
471
369
450
411
0.81
423
367
350
430
405
395
0.85
420
440
341
263
331
359
0.89
380
344
372
401
319
363.2
0.93
379
323
392
351
257
340.4
0.97
391
408
282
255
297
326.6
1.00
277
390
361
283
362
334.6
图一:
燃烧时间与蔓延时间关
由烧光时间和蔓延率的关系曲线可以直观的看出:
当蔓延率小于百分之六十左右时,森林有极大的可能无法完全燃烧;当蔓延率在百分之六十到百分之六十五之间,森林烧光所需时间急剧缩短;而当蔓延率大于百分之六五后,森林烧光所需时间波动缓慢的缩短。
另外,在加入森林生长率这个因素以后,再次运行程序,得到不同生长率下,森林被烧光的最小蔓延率,得下表:
表二:
生长率与烧光最小蔓延率
生长率
0
0.00005
0.0001
0.00015
0.0002
0.00025
0.0003
0.00035
可能烧光的最小蔓延率
0.62
0.63
0.63
0.64
0.66
0.68
0.72
0.88
由烧光最小蔓延率与生长率关系曲线可以看出,在生长率大于0.0035时,烧光的最小蔓延率是大于0.85;而当生长率在0到0.0035之间时,可以明确的看出,烧光最小蔓延率随生长率增加,呈现幂指数势增长。
模型评价
此森林火灾蔓延模型在描述森林火灾演化时,根据模型计算出的数据和真实森林火灾数据存在着相当的差距。
对此,我们在此模型中引进了生长率,蔓延率俩个量,可以更加生动形象得模拟森林火灾。
得出以下结论:
1、当蔓延率大于百分之六十左右时,森林在一定时间内会完全燃烧(即森林剩余率为5%)。
2、随着森林生长率的小幅增加,将大大提高森林烧光最小蔓延率。
另外,为了减轻森林火灾模型中网格边界引起的大火灾区的混沌现象,文中采用了较大的网格。
以上为此模型的优点;但是,此模型也存在这明显的缺点,生长率与蔓延率俩个量过于笼统,并不能直观的在森林中看出。
此外,在真实火灾中,环境因素也对火灾有着巨大的影响,例如:
地势,树木分布,树木种类,降水,风力大小等。
希望在以后的学习中可以建出更加完善的模型。
结论
笔者以元胞自动机的概率模型为基础,结合森林火灾蔓延的自身特点,通过设置一片森林、一个着火点、树木生长率及树木与树木与树木间的蔓延率,构建了森林火灾蔓延的概率模型。
通过模拟结果可得出以下结论:
一)、不同的蔓延率,对森林是否完全燃烧及森林完全燃烧所需时间长短有着显著的影响。
研究结果也显示,生长率越高,森林越不容易完全燃烧。
二)、模型能够快速、准确地再现火蔓延的过程,火灾过程的模拟,不仅提高了人们对火灾危害的认识,而且也为消防扑救及森林建设提出了科学依据。
三)、由于森林火灾数据的缺乏,模型参数的取值还需进一步验证,模型还需要进一步完善,例如:
树木分布不同对火灾蔓延的影响,风势对火灾蔓延的影响及不同地势对火灾蔓延的影响。
根据这个模型,在森林空格位上种植一些经济作物,既可以防止火灾蔓延又可以得到一些收入。
虽然此模型考虑到森林中也会存在石头,河流以及人类砍伐等已经非常接近火灾发生的真实情况,但是还是存在一些缺陷,比如并未考虑到树木种类的不同,种群分布的不同,人为纵火的概率等影响因素,这些还有待于进一步研究。
参考文献
[1].宋卫国等.小尺度森林火灾的渐进幂率分布[J].火灾科学,2003,12
(2):
66-73.
[2].宋卫国,范维澄,汪秉宏.中国森林的自组织临界性[J].科学通报,2001,46(13):
1134-1137.
[3].黄华国,张晓丽.基于三维原胞自动机模型的林火蔓延模拟[J].北京林业大学学报,2005-27(3):
94-97.
[4].WloframS.AnewkindofScience[M].Wolframmei-dalnc.2002.
附件:
核心代码:
n=300;
pspread=0.62;
pgrowth=0;
ul=[n,1:
n-1];
dr=[2:
n,1];
veg=zeros(n);
hang=fix(299*rand
(1))+1
lie=fix(299*rand
(1))+1
veg(hang,lie)=1
imh=image(cat(3,veg,veg,veg));
veg=2*ones(n);
veg(hang,lie)=1
for i=1:
3000
e=length(find(veg==0));
if(e>85500)
break
else
h1=veg;
h2=h1;
h3=h2;
h4=h3;
h1(300,1:
300)=0;
h2(1:
300,300)=0;
h3(1:
300,1)=0;
h4(1,1:
300)=0;
sum=(h1(ul,:
)==1)+(h2(:
ul)==1)+(h3(:
dr)==1)+(h4(dr,:
)==1);
sum1=((sum==1).*(1-(1-pspread)));
sum2=((sum==2).*(1-(1-pspread)^2));
sum3=((sum==3).*(1-(1-pspread)^3));
sum4=((sum==4).*(1-(1-pspread)^4));
s=sum1+sum2+sum3+sum4;
veg=2*(veg==2)-((veg==2)&((sum>0)&(rand(n,n)
set(imh,'cdata',cat(3,(veg==1),(veg==2),zeros(n)))
pause(0.000000001)
drawnow %更新事件队列强迫matlab刷新屏幕
end
end
i