張 健 ,宋志剛
(昆明理工大學(xué)建筑工程學(xué)院,云南 昆明 650500)
截止2019年,已有五批次共計6 819個村落入選“中國傳統(tǒng)村落名錄”,其中西南三省共1 756個傳統(tǒng)村落,占總數(shù)的25.9%,貴州(724個)、云南(708個)位列全國前兩位[1-2]. 建筑群的消防安全是傳統(tǒng)村落保護面臨的重要問題,多次古城鎮(zhèn)及傳統(tǒng)村落的火災(zāi)事故[3]表明:建筑間的火災(zāi)蔓延是造成木結(jié)構(gòu)建筑群大面積火災(zāi)損失的主要原因. 合理估算建筑群火災(zāi)蔓延風(fēng)險可為傳統(tǒng)村落的風(fēng)險控制和管理提供決策依據(jù),為火災(zāi)保險提供技術(shù)支撐. 傳統(tǒng)村落的開發(fā)保護中常面臨部分建筑的消防改造、建筑功能改變及增建建筑等問題,需要對改變后的建筑群火災(zāi)蔓延風(fēng)險進行多次再評估.
目前,對火災(zāi)風(fēng)險最通用的定義為潛在火災(zāi)事件產(chǎn)生的后果及其發(fā)生的概率[4],主要以事故概率計算和火災(zāi)損失后果的分析計算為基礎(chǔ)[5]. 建筑群的火災(zāi)蔓延損失后果需要結(jié)合建筑群火災(zāi)蔓延分析獲得,目前國內(nèi)外已發(fā)展出了經(jīng)驗?zāi)P蚚6]、概率模型[7-8]、元胞自動機模型[9-11]、物理模型[12]以及基于場-區(qū)-網(wǎng)數(shù)值模型[13]等多種火災(zāi)蔓延分析模型. 但上述模型在用于建筑群火災(zāi)蔓延模擬時存在工作量大、成本高、獲取建模數(shù)據(jù)困難等問題,尤其在多個建筑改造或增建后,計算建筑群火災(zāi)蔓延損失時需對模型進行多次反復(fù)計算. 基于上述問題,本文提出一種基于有向圖的建筑群火災(zāi)蔓延風(fēng)險分析方法,將建筑群中單體建筑視為有向圖的節(jié)點,建筑間的蔓延關(guān)系視為節(jié)點間的邊. 通過火災(zāi)蔓延模擬判定相鄰節(jié)點間的引燃關(guān)系,建立建筑群整體的蔓延路徑及有向圖的鄰接矩陣,在此基礎(chǔ)上,結(jié)合有向圖的遍歷算法確定特定場景下火災(zāi)蔓延損失及多場景建筑群的火災(zāi)蔓延損失期望. 建筑改造或建筑布局改變后的火災(zāi)蔓延損失可通過鄰接矩陣的修正,重新應(yīng)用上述火災(zāi)蔓延損失期望分析方法確定.
連片建設(shè)的木結(jié)構(gòu)建筑群一旦發(fā)生火災(zāi),極易發(fā)生建筑間火災(zāi)蔓延的現(xiàn)象[14]. 在給定環(huán)境溫度、風(fēng)速等條件下,不同初始起火點的設(shè)定,因其建筑規(guī)模、風(fēng)格、相互位置及可燃物數(shù)量等因素的不同形成不同的火災(zāi)蔓延損失結(jié)果,即產(chǎn)生不同的損失場景.對于一個具有M個節(jié)點的建筑群,在考慮有m個初始起火節(jié)點的情況下,損失場景數(shù)共有個,為便于討論,本文只考慮一個初始起火點的情況,共計M個損失場景. 火災(zāi)蔓延后的財產(chǎn)風(fēng)險可定義為火災(zāi)財產(chǎn)損失及其發(fā)生概率的乘積[5],在假定發(fā)生一次火災(zāi)的前提下,火災(zāi)蔓延的損失也會因初始起火建筑的不同而有所差異[15],具有一定的不確定性,在此情況下,建筑群火災(zāi)蔓延導(dǎo)致的財產(chǎn)風(fēng)險(損失期望)可表示為

式中:L(i)為火災(zāi)蔓延場景i(建筑i初始起火)的火災(zāi)蔓延損失,可用火災(zāi)引燃的建筑數(shù)量或建筑引燃面積表示;P(i)為火災(zāi)蔓延場景i發(fā)生的概率,發(fā)生一次火災(zāi)前提下,與建筑面積成正比[5],如式(2)所示.

式中:si為建筑i的面積.
M個節(jié)點組成的建筑群,若不考慮各單體建筑面積權(quán)重的影響,則各單體建筑起火的概率相同,均為1/M.
場-區(qū)-網(wǎng)復(fù)合模擬技術(shù)是一種廣泛應(yīng)用于大規(guī)模建筑或建筑群火災(zāi)分析的數(shù)值計算方法[13,16],這種方法將建筑的一個房間或一個單體建筑視為一個節(jié)點,采用場域或區(qū)域模擬方法分析節(jié)點火災(zāi)過程,采用連接節(jié)點的弧來表達節(jié)點間的信息和能量交換,從而形成火災(zāi)分析計算的網(wǎng)絡(luò)模型. 在分析火災(zāi)在建筑群的蔓延過程時,使用類似的網(wǎng)絡(luò)方法[15],將建筑群中的單體建筑模型化為節(jié)點,利用火災(zāi)蔓延模型分析不同節(jié)點間的引燃關(guān)系,用弧的指向描述不同節(jié)點間的蔓延路徑關(guān)系,從而建立有向圖模型[17-18].
有向圖G定義為節(jié)點和邊的集合G= {V,E},V={v1,v2,···,vM}為節(jié)點集合,E= {e1,e2,···,eN}為邊的集合,N為邊的數(shù)量,對應(yīng)建筑群中蔓延路徑的數(shù)量. 不同的初起火災(zāi)建筑,可以定義不同的火災(zāi)蔓延場景,從而定義出不同的有向圖模型,在發(fā)生一次火災(zāi)情況下,對于一個具有M個建筑的建筑群,可以定義出M個有向圖模型. 圖1給出了一個具有5個建筑所定義的有向圖,各個場景的有向圖的節(jié)點集合均為V= {v1,v2,v3,v4,v5},但邊的集合有所不同.

圖1 不同火災(zāi)蔓延場景的有向圖Fig. 1 Directed graphs of different fire spread scenarios
采用有向圖中的鄰接矩陣AM×M描述各火災(zāi)蔓延場景中不同節(jié)點之間的直接引燃關(guān)系,蔓延矩陣PM×M描述各火災(zāi)蔓延場景的蔓延范圍及火災(zāi)損失.對于第i個單體建筑,評估其在火災(zāi)發(fā)生后引燃周邊建筑的蔓延路徑,實際上是確定節(jié)點vi的鄰接向量a(i,j) (i,j=1,2,···,M)的過程,通過對每一建筑火災(zāi)蔓延路徑的評估,可以確定出整個建筑群火災(zāi)蔓延的鄰接矩陣A= (a(i,j)).a(i,j) 如式(3)所示,(vi,vj) =1表示僅有一條由節(jié)點vi指向節(jié)點vj的邊.

A中第i行取值為1的元素對應(yīng)的列數(shù)表示因節(jié)點vi起火能夠直接被引燃的節(jié)點編號,第j列中取值為1的元素對應(yīng)的行數(shù)表示能夠直接引燃節(jié)點vj的火災(zāi)蔓延場景. 以圖1所示的5個火災(zāi)蔓延場景為例,鄰接向量a(i,j) (i,j=1,2,3,4,5)確定的有向圖鄰接矩陣如式(4)所示.

在已知鄰接矩陣的情況下,可通過有向圖的節(jié)點遍歷算法[18]計算不同火災(zāi)蔓延場景的蔓延范圍.節(jié)點遍歷是指從某一源節(jié)點vi出發(fā),直至所有和vi有路徑相通的節(jié)點(從源節(jié)點可達的節(jié)點)均已被訪問為止. 節(jié)點遍歷算法可用于分析單體建筑i發(fā)生火災(zāi)后可能引燃的最大范圍,當(dāng)整個建筑群的建筑都能被引燃時,通過遍歷算法可得到所有節(jié)點的集合,當(dāng)只有部分建筑被引燃時,遍歷算法得到的是vi作為源點的最大連通子圖或建筑群能被引燃的最大區(qū)域. 在獲得建筑群火災(zāi)蔓延鄰接矩陣的情況下,從節(jié)點vi出發(fā),基于深度優(yōu)先的遞歸遍歷算法[18]可按如下步驟實現(xiàn):
步驟1設(shè)置M×M維的輔助矩陣D所有元素初值為0,遍歷次數(shù)變量F的初值設(shè)為1;
步驟2從節(jié)點vi出發(fā)遍歷,找到鄰接矩陣的第i行a(i,j)中所有取值為1的列號j,滿足條件的節(jié)點集合記為J,用輔助矩陣記錄滿足條件的所有節(jié)點編號D(F,j) =j,同時將鄰接矩陣第j列的元素置為0;
步驟3F=F+1;
步驟4在節(jié)點集合J找到未訪問過的列號k,從節(jié)點vk出發(fā)遍歷,重復(fù)步驟2、3,直到J為空集.
基于源點vi的遍歷可得到一個節(jié)點集合Vi,Vi是初始起火建筑為vi時可能引燃的所有建筑,對應(yīng)了vi作為源點的最大連通子圖或者起火建筑為i時的火災(zāi)蔓延損失場景. 經(jīng)過節(jié)點遍歷分析,可用式(5)確定火災(zāi)蔓延矩陣P= (p(i,j)) .

矩陣P第i行取值為1的元素對應(yīng)的列數(shù)表示節(jié)點vi起火后能夠被引燃的節(jié)點編號,第j列中取值為1的元素對應(yīng)的行數(shù)表示能夠引燃節(jié)點vj的火災(zāi)蔓延場景. 以圖1所示的5個蔓延場景為例,各個節(jié)點的火災(zāi)蔓延向量確定的火災(zāi)蔓延矩陣如式(6)所示.

火災(zāi)蔓延場景損失可表達為各個引燃建筑面積或數(shù)量的求和,如式(7)所示.

式中:Pi為P的第i行元素組成的行向量;S= (s1,s2,···,si,···,sM)T為建筑群各單體建筑的面積矩陣,若不考慮各單體建筑面積權(quán)重時,S= (1,1,···,1)T為M行元素值為1的列向量.
節(jié)點或邊的增刪會引起網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)生變化,在實際工程中,節(jié)點的增加可用于描述村落開發(fā)過程中增建建筑、占道經(jīng)營及街道、建筑間栽種樹木等對建筑群火災(zāi)蔓延路徑的影響;節(jié)點的刪減對應(yīng)于建筑群中某一建筑的拆除;邊的增加對應(yīng)于建筑使用過程中開設(shè)門窗及改變建筑材料、高度、朝向等條件導(dǎo)致對相鄰建筑引燃狀態(tài)的影響;邊的刪減對應(yīng)于為提高建筑消防安全,增設(shè)防火墻、防火門窗、封堵洞口及安裝自動噴淋系統(tǒng)等防火措施[19-20],以阻斷與相鄰建筑的火災(zāi)蔓延路徑帶來的影響.
建筑群中某一建筑i被拆除,則網(wǎng)絡(luò)中節(jié)點vi及其相連的邊不再存在,對應(yīng)于有向圖鄰接矩陣的i行i列也需進行刪除. 根據(jù)建筑i的實際消防改造效果,邊的刪除可能存在3種情況:刪除節(jié)點vi指向節(jié)點vj的邊、刪除節(jié)點vj指向節(jié)點vi的邊、同時刪除節(jié)點vi指向節(jié)點vj及節(jié)點vj指向節(jié)點vi的邊,分別按式(8)~(10)進行修正,其中節(jié)點vj(j=1,2,···,M)為節(jié)點vi的相鄰節(jié)點.

當(dāng)建筑i在使用過程中構(gòu)造或性能發(fā)生改變時,需重新判定其與周圍相鄰節(jié)點vj的蔓延關(guān)系,并按式(11)、(12)進行修正. 當(dāng)建筑群增建一棟建筑或栽種一顆樹時,可認(rèn)為有向圖增加一個節(jié)點vi,則相應(yīng)的鄰接矩陣增加一行一列,并按式(13)將其置為0,判定增加節(jié)點vi與相鄰節(jié)點vj的火災(zāi)蔓延關(guān)系,并按式(11)、(12)對有向圖鄰接矩陣進行修正.

建筑改造或建筑布局改變后,通過刪除或增加節(jié)點和邊得到改變后的鄰接矩陣,重新利用有向圖的節(jié)點遍歷算法確定蔓延矩陣,并按式(7)、(1)分別計算特定火災(zāi)場景的火災(zāi)損失及考慮多場景的建筑群火災(zāi)蔓延損失期望. 刪除、增加節(jié)點vi或與其相連的邊后,引入建筑群火災(zāi)蔓延損失期望降低率ΔR?i或火災(zāi)蔓延損失期望增長率ΔR+i表征改變后的建筑群火災(zāi)蔓延風(fēng)險較原建筑群火災(zāi)蔓延風(fēng)險的變化,如式(14)、(15)所示.
式中:R?i、R + i分別為刪除、增加節(jié)點vi或與其相連的邊后建筑群火災(zāi)蔓延風(fēng)險.
對節(jié)點、邊刪除或增加后,建筑群火災(zāi)蔓延風(fēng)險改變的評價可用于建筑群火災(zāi)風(fēng)險控制、管理及建筑規(guī)劃布局的研究.
本文選取的傳統(tǒng)村落建筑群為文獻[15]中使用的案例,是典型的桿欄式民居木結(jié)構(gòu)建筑群. 根據(jù)現(xiàn)有的村落建筑布置及數(shù)量進行了修正,村落中共有民居建筑106棟,建筑面積10 900 m2,各建筑位置分布及編號如圖2所示,各單體建筑面積如圖3所示.

圖2 建筑布局及編號Fig. 2 Building layout and numbering

圖3 各單體建筑面積Fig. 3 Areas of single buildings
結(jié)合場-網(wǎng)復(fù)合模擬技術(shù)模擬火災(zāi)蔓延過程,判定各節(jié)點之間的引燃關(guān)系,繪制出各節(jié)點之間的蔓延路徑,構(gòu)建建筑群火災(zāi)蔓延有向圖,如圖4所示,該有向圖模型中共有106個節(jié)點,129條邊.

圖4 多場景建筑群火災(zāi)蔓延有向圖Fig. 4 Directed graphs of multiple fire spread scenarios
考慮所有建筑火災(zāi)蔓延場景建立建筑群火災(zāi)蔓延鄰接矩陣A,通過節(jié)點遍歷算法獲得火災(zāi)蔓延矩陣P. 計算考慮引燃建筑面積的火災(zāi)蔓延場景i火災(zāi)損失及發(fā)生一次火災(zāi)前提下的火災(zāi)蔓延場景i損失期望,分別如圖5、6所示.

圖5 不同火災(zāi)蔓延場景的損失Fig. 5 Losses for different fire spread scenarios
由圖5、6可以看出:該村落建筑群發(fā)生一次火災(zāi)時最大火災(zāi)蔓延場景損失為1 796 m2,約占總建筑面積的16.5%,多場景建筑群火災(zāi)蔓延損失期望為624 m2.
4.2.1 刪除節(jié)點或邊
網(wǎng)絡(luò)節(jié)點被刪除,與該節(jié)點相連的邊也被刪除,限于篇幅,本文僅討論斷開各個節(jié)點與周圍相鄰節(jié)點邊的情況,即保留節(jié)點,僅刪除該節(jié)點相鄰的邊.按式(10)對各節(jié)點相鄰的邊刪除后的有向圖鄰接矩陣進行修正,并按2.2節(jié)所述節(jié)點遍歷算法及式(5)確定建筑群火災(zāi)蔓延矩陣. 計算不同節(jié)點改變后的多場景建筑群火災(zāi)蔓延損失期望,如圖7所示. 按式(14)計算刪除各節(jié)點相鄰的邊后建筑群火災(zāi)蔓延損失期望降低率,如圖8所示.

圖8 刪除節(jié)點vi的相連邊后建筑群火災(zāi)蔓延損失期望降低率Fig. 8 Reduction rate in loss expectation of fire spread in buildings after deleting edges connecting nodevi
由圖7、8可知:斷開節(jié)點與周圍相鄰節(jié)點的邊后,建筑群火災(zāi)蔓延損失期望呈不同程度的降低,建筑群中 40、42、43號節(jié)點相鄰的邊刪除后,建筑群火災(zāi)蔓延損失期望降低率均為20.0%以上,降幅較為明顯;另外有4個節(jié)點刪除相鄰的邊后,建筑群火災(zāi)蔓延損失期望降低率為10.0%~20.0%;有26個節(jié)點相鄰的邊刪除后,建筑群火災(zāi)蔓延損失期望降低率在5.0%~10.0%;有73個節(jié)點相鄰的邊刪除后,建筑群火災(zāi)蔓延損失期望降低率不足5.0% (其中低于1.0%的有43個節(jié)點),表明約68.9%的建筑改造后效果不佳(降低率不足5.0%). 因此,可通過依次搜索火災(zāi)損失期望降低率最大的建筑進行消防改造,以降低該村落的火災(zāi)蔓延風(fēng)險,不同改造節(jié)點數(shù)量后建筑群火災(zāi)蔓延風(fēng)險見表1所示,表中,L(i)max為火災(zāi)蔓延場景i的最大火災(zāi)蔓延損失.

表1 改造不同節(jié)點數(shù)量后建筑群火災(zāi)蔓延風(fēng)險Tab. 1 Fire spread risk for different numbers of nodes involved in fire preventions
表1可以看出:隨著改造節(jié)點數(shù)量的增加,該村落建筑群火災(zāi)蔓延風(fēng)險逐漸降低,但火災(zāi)蔓延場景的最大損失及建筑群火災(zāi)蔓延損失期望的降低幅度逐漸減小,表明其造效果逐漸趨緩,加大投入帶來的回報不再理想. 通過對6個節(jié)點的消防加強改造,火災(zāi)蔓延場景最大損失降低61.9%,建筑群火災(zāi)蔓延損失期望降低52.1%.
4.2.2 增加節(jié)點或邊
考慮增建建筑位于較為密集的建筑區(qū)域. 本文選取3個位置,依次增建,增建建筑1位于8、21、22號節(jié)點之間,節(jié)點標(biāo)號為107;增建建筑2位于23、68號節(jié)點之間,節(jié)點標(biāo)號為108;增建建筑3位于4、6、10號節(jié)點之間,節(jié)點標(biāo)號為109,其相應(yīng)位置見圖9所示. 為保證增加節(jié)點發(fā)生火災(zāi)時與周圍建筑能互相引燃,107號、108號及109號建筑面積分別為100、100、300 m2,按式(11)~(13)對鄰接矩陣進行修正,按2.2節(jié)所述節(jié)點遍歷算法及式(5)確定建筑群火災(zāi)蔓延矩陣. 求得增加不同節(jié)點數(shù)后建筑群火災(zāi)蔓延場景最大損失及火災(zāi)蔓延損失期望,見表2所示.

圖9 增建建筑位置Fig. 9 Locations of added buildings

表2 增加不同節(jié)點數(shù)量后建筑群火災(zāi)蔓延風(fēng)險Tab. 2 Fire spread risk of buildings for adding different numbers of nodes
表2可以看出:隨著節(jié)點數(shù)量的增加,建筑群火災(zāi)蔓延場景最大損失及火災(zāi)蔓延損失期望大幅增加. 當(dāng)增加一個節(jié)點(107號)時,建筑群火災(zāi)蔓延損失期望增加20.5%,增加第2個節(jié)點(108號)時,建筑群火災(zāi)蔓延損失期望增加53.8%;增加第3個節(jié)點(109號)時,建筑群火災(zāi)蔓延損失期望為1 829 m2,為原建筑群損失期望的2.93倍,最大引燃建筑數(shù)量56棟,火災(zāi)蔓延場景最大損失5 311 m2約占總建筑面(11 400 m2)的46.6%,為原建筑群最大損失的2.96倍. 由圖4、9可以看出,本文設(shè)置增加節(jié)點的位置均位于不同連通子圖之間,增加節(jié)點起到了“橋節(jié)點”的作用,使不同連通子圖聯(lián)系在一起,導(dǎo)致建筑群整體火災(zāi)蔓延風(fēng)險大幅增加,見圖10所示. 節(jié)點的增加使得建筑群火災(zāi)蔓延有向圖的連通性有所提高,火災(zāi)蔓延風(fēng)險顯著提高.

圖10 增加節(jié)點后建筑群火災(zāi)場景蔓延情況Fig. 10 Scenario of fire spread in buildings after adding nodes
1) 在已知建筑間火災(zāi)蔓延關(guān)系的基礎(chǔ)上,本文方法可通過矩陣的運算快速求出建筑群火災(zāi)蔓延損失,建筑消防改造或建筑布局變化可通過有向圖鄰接矩陣節(jié)點信息的變化反映,只需單獨判定變化節(jié)點與周圍節(jié)點間的蔓延關(guān)系,無需對建筑群進行重復(fù)的火災(zāi)蔓延模擬,極大地減少了工作量;
2) 增刪節(jié)點或邊后的建筑群火災(zāi)蔓延風(fēng)險的變化,可用于指導(dǎo)村落建筑群的火災(zāi)蔓延防控及建筑規(guī)劃布局. 通過計算不同節(jié)點刪除后建筑群火災(zāi)損失期望的降低率可有效給出建筑群最危險建筑(最優(yōu)改造節(jié)點);通過對比不同位置新增節(jié)點導(dǎo)致建筑群火災(zāi)蔓延損失期望的增長,可分析使用過程中諸如樹木、新增建筑等新增可燃物對建筑群火災(zāi)蔓延風(fēng)險影響;
3) 算例分析表明:僅對少數(shù)建筑群中潛在高危險建筑的拆除或加強(節(jié)點或邊的刪除),可大幅度降低火災(zāi)發(fā)生后建筑群的火災(zāi)蔓延風(fēng)險,對該村落危險性較高的6個節(jié)點進行消防加強改造,可使建筑群火災(zāi)蔓延場景最大損失降低61.9%,建筑群總火災(zāi)蔓延損失期望降低52.1%;該村落在進行建筑規(guī)劃布局或管理上,應(yīng)避免新增建(構(gòu))物、樹木等可燃物位于建筑密集區(qū)域或連通多個建筑密集區(qū)域的“橋節(jié)點”處,防止建筑群火災(zāi)風(fēng)險大幅增大.