孫紅三, 燕 達, 周 欣, 黃 宇, 蘇小紅, 郭 勇
(1.清華大學建筑節(jié)能研究中心, 北京 100084; 2.東南大學建筑學院, 南京 210009; 3.廣州大學土木工程學院, 廣州 510006; 4.哈爾濱工業(yè)大學計算機科學與技術學院, 哈爾濱 150001)
隨著中國城鎮(zhèn)建設的飛速發(fā)展,建筑節(jié)能已成為建筑可持續(xù)發(fā)展的最重要課題之一。由于建筑物及其環(huán)境控制系統(tǒng)受氣候條件、圍護結(jié)構、設備系統(tǒng)和控制策略等眾多因素影響,以及新型圍護結(jié)構、人行為、機電系統(tǒng)、可再生能源系統(tǒng)等新技術的不斷發(fā)展,使得建筑能耗全性能模擬技術成為建筑節(jié)能的關鍵問題之一,并且促使了建筑能耗模擬技術不斷地面臨著新的技術發(fā)展挑戰(zhàn)。而建筑全性能仿真軟件則是仿真模擬的直接工具,也是實施建筑設計、運行、節(jié)能診斷等綠色建筑研究與應用中必不可少的手段。
目前,保持持續(xù)開發(fā)、得到業(yè)內(nèi)廣泛認可的模擬軟件主要有:ESP-r、DOE-2、IES
考慮到建筑新型圍護結(jié)構、人行為因素、可再生能源等多種影響因素越來越豐富和復雜,對于建筑能耗全性能模擬仿真軟件,不僅需注重軟件的性能,還需重點考慮軟件具有可移植、可擴展、不斷更新的持續(xù)發(fā)展特性,并且需要建立多個具有不同功能、獨立知識產(chǎn)權的軟件組件來實現(xiàn)聯(lián)合模擬計算體系[3];同時,還要特別關注軟件的代碼質(zhì)量、精確度、可靠性等可持續(xù)發(fā)展的關鍵問題。
基于國家重點研發(fā)計劃,面對所承擔的軟件協(xié)同開發(fā)研究項目“建筑全性能仿真平臺內(nèi)核開發(fā)”,聯(lián)合國內(nèi)多家長期從事建筑能耗領域研究工作的知名高校、科研院所以及建筑軟件開發(fā)企業(yè)等,建立了一套軟件協(xié)同開發(fā)的管理體系、軟件可靠性檢測、軟件準確性檢驗方法,實現(xiàn)多家協(xié)同開發(fā)、科學性強、準確高效的建筑全性能仿真平臺內(nèi)核(簡稱“平臺內(nèi)核”),為中國綠色建筑發(fā)展提供關鍵技術支撐。建立平臺協(xié)同構建→代碼質(zhì)量管理→準確性驗證三階段開發(fā)體系,實現(xiàn)軟件開發(fā)技術的提升,確保平臺內(nèi)核的開發(fā)管理、代碼質(zhì)量以及軟件可靠性。
建筑全性能平臺內(nèi)核功能模塊多、模塊結(jié)構各異、獨立性強;面對其多個團隊參加、多項獨立功能集成、計算可靠準確等開發(fā)需求,采用基于Web服務器的GitLab平臺進行代碼管理、協(xié)同開發(fā)與集成,建立了平臺內(nèi)核的協(xié)同開發(fā)體系。協(xié)同開發(fā)技術路線如圖1所示。
圖2 聯(lián)合仿真平臺內(nèi)核架構Fig.2 Architecture of co-simulation platform kernel
圖1 軟件協(xié)同開發(fā)技術路線Fig.1 Technical route of collaborate software development
基于已有的DeST軟件技術研究及開發(fā),提出建筑全性能仿真平臺內(nèi)核的體系結(jié)構,圖2所示為平臺內(nèi)核架構。其中,內(nèi)核主控單元的本體計算部分主要包括室溫、負荷、采光、地下傳熱、中庭氣流等功能模塊;主控的機電系統(tǒng)部分主要包括末端系統(tǒng)、空氣處理、冷熱源、用能系統(tǒng)等功能模塊以及功能模型接口(functional mock-up interface,F(xiàn)MI)處理模塊;而從屬功能模型單元(functional mock-up unit,F(xiàn)MU)單元主要包括室內(nèi)空氣品質(zhì)、熱濕動態(tài)耦合傳遞、變物性圍護結(jié)構、人行為、可再生能源系統(tǒng)等獨立功能模塊。
考慮到軟件的兼容性和擴展性,以及適應軟件工具碎片化、模型重用和其他獨立開發(fā)模型產(chǎn)權保護等多項問題,采用國際上成熟和通用的基于功能模型接口(FMI)/功能模型單元(FMU)的多模塊聯(lián)合仿真(co-simulation)架構,建立全性能聯(lián)合仿真平臺架構及技術解決方案,實現(xiàn)以建筑熱過程和機電系統(tǒng)為核心主控單元,人行為、變物性圍護等獨立FMU模塊為從屬單元的主控(master)/從屬(slave)模式動態(tài)聯(lián)合計算[4]。
由于各個開發(fā)團隊都是獨立開發(fā)本身的模型及功能模塊,因此需要具有統(tǒng)一的模塊集成接口。2008年,由Daimler發(fā)起,28個歐洲伙伴參與的Modelisar項目制訂了國際通用模型接口標準FMI;基于該標準,許多建筑能耗模擬軟件都開發(fā)了FMI標準接口,如EnergyPlau、Modelica、Simulink 等,實現(xiàn)聯(lián)合多個獨立仿真工具為一體,各自基于FMI接口標準獨立開發(fā),保持其自身的知識產(chǎn)權,靈活有效地完成了多功能模塊聯(lián)合模擬計算[5-6]。
FMI接口包括標準函數(shù)接口和模型變量描述文件兩個部分。FMI標準函數(shù)接口包括:一組符合C語言標準的函數(shù)接口,接口名稱形式為“模型標識符(identifier)-標準函數(shù)接口名稱”;FMI模型變量描述文件(ModelDescription.xml)包括FMI屬性信息、變量屬性、變量類型等模型變量描述信息。
平臺內(nèi)核多方協(xié)同開發(fā)的核心過程由以下三部分組成。
(1)主控開發(fā)團隊?;贕itLab開發(fā)管理平臺,提交管理所開發(fā)的建筑熱過程模塊、機電系統(tǒng)、FMI接口等平臺主控單元代碼,協(xié)同開發(fā)團隊只能下載、參考主控單元代碼;同時,還建立了FMU軟件開發(fā)工具包(SDK),使得協(xié)同開發(fā)團隊在此基礎(統(tǒng)一的FMI接口)上,開發(fā)自身的功能模型單元FMU。
(2)協(xié)同開發(fā)團隊?;谥骺亻_發(fā)團隊提供的SDK,基于所研發(fā)的模塊模型,開發(fā)自身的FMU,并且以FMI/FMU模式實現(xiàn)與主控單元的聯(lián)合模擬計算。
(3)多模塊聯(lián)合模擬過程。協(xié)同開發(fā)的多模塊聯(lián)合模擬過程,是以主控開發(fā)團隊開發(fā)的建筑熱過程模塊、機電系統(tǒng)、FMI接口等模塊為主控單元,協(xié)同開發(fā)獨立FMU為從屬單元(如人行為、變物性圍護等),主要通過“準備”“仿真”“結(jié)束”三個階段,實現(xiàn)主控/從屬模式的多模塊動態(tài)聯(lián)合模擬計算;動態(tài)聯(lián)合計算過程如圖3所示。
圖3 協(xié)同開發(fā)的多模塊聯(lián)合模擬過程Fig.3 Process of multi module co-simulation on collaborative development
基于軟件工程方法,全面考慮項目管理、分析、設計、程序的編寫、測試和質(zhì)量控制等;針對軟件協(xié)同開發(fā)的需求,建立了軟件內(nèi)核協(xié)同開發(fā)管理、軟件質(zhì)量控制檢驗、軟件準確性測試與檢驗方法,實現(xiàn)多家協(xié)同、科學性強、準確高效的平臺內(nèi)核協(xié)同開發(fā)。軟件協(xié)同開發(fā)管理流程如圖4所示,其中三個主要階段如下。
(1)軟件協(xié)同開發(fā)管理?;贕itLab平臺建立項目內(nèi)部的對代碼進行管理,實現(xiàn)多團隊的多人協(xié)同軟件開發(fā)管理以及聯(lián)合調(diào)試與運行。同時進行項目文檔的服務管理,包括:軟件設計文檔、開發(fā)技術文檔、使用說明書、測試案例及說明等。
(2)軟件質(zhì)量控制檢驗。為了控制所開發(fā)的軟件質(zhì)量,相應開發(fā)了兩個Web端的軟件質(zhì)量控制檢驗工具:功能模塊正確性檢驗工具以及代碼缺陷檢測工具;用于所有開發(fā)團隊在不同地點進行在線獨立軟件單元檢驗,以便保證各個獨立軟件單元的功能正確性及軟件中潛伏的各種錯誤和缺陷,確保平臺內(nèi)核的開發(fā)質(zhì)量以及可靠性。
(3)軟件準確性測試與檢驗。軟件準確性測試與檢驗是采用了ASHRAE-140國際建筑能耗模擬軟件對比標準,對研發(fā)的平臺內(nèi)核通過程序間對比、實測驗證兩種方法進行檢驗。本檢驗方法不僅在檢驗過程中對平臺計算內(nèi)核進行勘誤和修正,更重要的是,通過驗證過程,可以證明全性能仿真平臺在計算建筑性能方面的有效性和準確性。
圖4 軟件協(xié)同開發(fā)管理流程Fig.4 Process on management of collaborative software development
軟件測試及可靠性是軟件開發(fā)任務的重要環(huán)節(jié),對于由多個單位聯(lián)合開發(fā)的軟件平臺,每個開發(fā)團隊負責其中的一個模塊開發(fā)與測試,這是一個復雜的系統(tǒng)工程。開發(fā)的代碼質(zhì)量檢測工具及功能正確性在線測試系統(tǒng),支撐各團隊獨立完成所開發(fā)的功能模塊的正確性,以及平臺內(nèi)核集成的開發(fā)質(zhì)量與可靠性。
研究基于缺陷模式的C++缺陷檢測方法,以拓展檢測更多類型的缺陷,并集成具有互補能力的多種缺陷檢測工具,使之能夠檢測更多類型的缺陷,降低漏報和誤報,提高缺陷檢測的準確率[7-8]。
首先在研究開源工具Cppcheck基本工作原理的基礎上,研究基于缺陷模式的C++缺陷檢測方法,將12種C++缺陷模式抽象成為正則表達式,并設計和實現(xiàn)相應的缺陷檢測方法。然后,為了進一步降低缺陷的漏報和誤報,研究將改進的Cppcheck、Clang Static Analyzer和Flawfinder工具集成的方法。開發(fā)了C++代碼缺陷檢測工具,功能結(jié)構如圖5所示。
利用缺陷檢測工具對平臺內(nèi)核初始版本進行了測試,檢測出的缺陷類型和數(shù)目統(tǒng)計如表1所示,其中,缺陷為三大類:①故障類缺陷,例如內(nèi)存泄漏、未初始化變量;②緩沖區(qū)溢出等導致系統(tǒng)安全問題的缺陷;③可能存在問題的可疑代碼,例如死代碼等。由此針對性地指導了平臺內(nèi)核代碼修改,有效地保證了代碼開發(fā)質(zhì)量。
該檢測工具能夠有效檢測軟件缺陷,多種工具相結(jié)合檢測出的同一缺陷正確率更高,從而能夠有效輔助開發(fā)人員檢測和消除軟件缺陷,提高所開發(fā)軟件的可靠性。
整個平臺內(nèi)核由大量獨立模塊組成,并且這些模塊由多個單位協(xié)同開發(fā),這就給內(nèi)核的聯(lián)合測試帶來不便,并且每個模塊的測試數(shù)據(jù)量都龐大,無法通過人工方式對結(jié)果數(shù)據(jù)進行誤差分析。為此,開發(fā)了軟件正確性在線測試系統(tǒng),該系統(tǒng)是一個分布式測試平臺,其系統(tǒng)結(jié)構如圖6所示。
圖5 缺陷檢測工具功能結(jié)構Fig.5 Functional structure of defect-detection tools
表1 平臺內(nèi)核初始版本的缺陷檢測結(jié)果
聯(lián)合測試的過程:首先,每個模塊實現(xiàn)者創(chuàng)建測試項目,根據(jù)需要,在項目中創(chuàng)建一個或多個測試用例(包括指定的測試結(jié)果),并設置測試精度;其次,將被測代碼從代碼管理平臺同步到測試平臺,進行編譯和語法檢測;最后,自動進行測試,并給出評測結(jié)果。測試者可以根據(jù)給出的測試結(jié)果,調(diào)整算法,最終達到要求;聯(lián)合測試的界面如圖7所示。
圖6 分布式測試系統(tǒng)結(jié)構Fig.6 Structure of distributed test system
圖7 聯(lián)合測試操作界面Fig.7 Operation interface of co-simulation test
軟件協(xié)同開發(fā)研究項目的實際應用表明,該測試平臺解決了復雜的平臺內(nèi)核模塊的聯(lián)合測試問題,能夠高效快速地進行模塊的聯(lián)合測試,大大提高了的測試效率,保證了平臺內(nèi)核及各獨立模塊的功能計算正確性。
模擬仿真結(jié)果能否正確地反映模擬對象的實際情況,直接影響到模擬研究結(jié)果的可靠性和推廣性,是建筑模擬領域的熱點問題。為了對建筑能耗模擬軟件性能展開評估判斷,行業(yè)內(nèi)提出了各種各樣的軟件驗證的方法。美國暖通工程師協(xié)會(American Society of Heating,Refrigerating and Air-Conditioning Engineers, ASHRAE)提出的ASHRAE-140標準是國際建筑能耗模擬軟件進行自我程序檢查與準確性驗證的經(jīng)典標準,其全稱為建筑能源分析計算機程序評價標準方法。目前國際上主流的建筑能耗模擬軟件均參與這個驗證過程,包括Energyplus、DOE-2、ESP等。
依據(jù)ASHRAE-140 標準,采用軟件對比與實測驗證方法,開展平臺內(nèi)核的模擬測試與實測驗證工作。
ASHRAE-140標準針對計算建筑物及其供熱通風與空氣調(diào)節(jié)(heating, ventilation and air conditioning,HVAC)系統(tǒng)熱性能的軟件,標準中詳細規(guī)定了評估這些軟件技術能力和適用性的標準測試方法[9]。
采用ASHRAE-140標準,對研發(fā)的全性能仿真平臺進行性能檢驗。其中負荷性能測試部分,共包含17個基礎案例和22個深入案例??照{(diào)采暖系統(tǒng)性能測試部分,共包含34個空調(diào)系統(tǒng)測試案例和11個采暖系統(tǒng)測試案例。
負荷對比算例的計算對比結(jié)果主要包括全年尖峰熱負荷、全年尖峰冷負荷、全年累計熱負荷、全年累計冷負荷、無空調(diào)全年室溫。空調(diào)采暖系統(tǒng)性能測試部分的計算對比結(jié)果主要包括送風機電耗、冷凝側(cè)風機電耗、壓縮機電耗、系統(tǒng)總電耗、盤管總負荷、房間總負荷、空調(diào)系統(tǒng)性能系數(shù)、室內(nèi)平均溫度、含濕量、鍋爐總負荷、鍋爐總輸入負荷、燃氣消耗量和風機電耗指標。以上計算指標共453項,其中針對負荷對比算例的計算項共148項,針對空調(diào)設備系統(tǒng)性能測試算例的計算項共266項,針對采暖設備系統(tǒng)性能測試算例計算項共39項。負荷對比算例和空調(diào)采暖設備系統(tǒng)性能測試算例偏差率的百分比頻率統(tǒng)計結(jié)果如表2所示。
表2 算例偏差率的百分比頻率統(tǒng)計
從表2可見,平臺軟件內(nèi)核的計算結(jié)果完全落在其他軟件計算區(qū)間內(nèi)的共322項,占比71.1%;偏差率的百分比落在(0,5%]區(qū)間內(nèi)共72項,占比15.9%;偏差率的百分比落在(5%,10%]區(qū)間共33項,占比7.3%;偏差率的百分比落在(10%,20%]區(qū)間共11項,占比2.4%;偏差率的百分比落在(20%,+∞)區(qū)間共15項,占比3.3%。最大偏差率發(fā)生在計算案例195的尖峰冷負荷項上,該案例只有1個軟件提供了計算結(jié)果,因此難以對計算結(jié)果的真實偏差情況進行客觀判斷。
由以上分析可知,對于大部分負荷對比算例和空調(diào)采暖設備系統(tǒng)性能測試算例,平臺軟件內(nèi)核與其他參與測試的建筑能耗模擬軟件對比計算結(jié)果較為吻合,絕大部分算例的計算結(jié)果偏差在5%以內(nèi),符合ASHRAE-140標準的軟件性能評價指標。
選取不同氣候區(qū)的三個公共建筑,對其全年實際能耗數(shù)據(jù)進行監(jiān)測。同時,收集模擬計算需要的必要參數(shù),如氣象參數(shù)、圍護結(jié)構、建筑功能等,將仿真平臺內(nèi)核的模擬結(jié)果與實測數(shù)據(jù)進行詳細校驗,其誤差滿足ASHRAE-140 標準,即:統(tǒng)計值誤差不大于5%,瞬時值誤差不大于15%[10]。
3.2.1 模擬仿真
選取河南鄭州(寒冷地區(qū))、福建寧德(夏熱冬冷地區(qū))、廣東東莞(夏熱冬暖地區(qū))地區(qū)的三座公共建筑。收集包括建筑圖紙和暖通空調(diào)圖紙等相關計算機輔助設計(CAD)圖紙,以及建筑所在城市的氣象參數(shù)文件,從而得到圍護結(jié)構幾何尺寸、熱物性參數(shù)、室內(nèi)設計參數(shù)、空調(diào)設備參數(shù)及全年氣象參數(shù)的信息。為保證模擬仿真與實際情況一致,對收集到的參數(shù)均進行現(xiàn)場調(diào)研校核,最終參數(shù)以現(xiàn)場調(diào)研參數(shù)為準。
三座建筑模型如圖8所示。運行平臺內(nèi)核的各個模擬仿真過程,最終得到全年8 760 h的能耗模擬數(shù)據(jù)。
圖8 建筑模型圖Fig.8 Architectural models
3.2.2 實測能耗數(shù)據(jù)處理
暖通空調(diào)分項監(jiān)測數(shù)據(jù)的主要特征:在供冷季內(nèi)的冷水機組、冷凍水泵等開啟比例,會隨著室外氣象狀況的變化而變化;而對于商管租戶與公區(qū)照明數(shù)據(jù),則與建筑內(nèi)人流量相關;除特殊節(jié)日外,日人流量在某一數(shù)值上下浮動;全年同一時刻照明與設備開啟比例高度相似。
另外,由于設備故障及人員操作失誤等原因,導致各分項能耗監(jiān)測數(shù)據(jù)出現(xiàn)缺失和異常,異常數(shù)據(jù)主要為兩類:①數(shù)值異常,由于設備故障或人員操作失誤等原因,導致數(shù)值短時間內(nèi)出現(xiàn)不合常理的波動;②數(shù)據(jù)缺失,由于信號傳輸中斷或設備損壞等問題,導致數(shù)據(jù)出現(xiàn)“0”或者缺省。按照逐月、逐日到逐時的順序,采用可視化圖形(折線圖、熱點圖)、箱形圖判斷數(shù)據(jù)中的異常值,鄰近點均值法、回歸填補法等方法填補剔除的異常值與缺失值。處理流程如圖9所示。
圖9 實測數(shù)據(jù)處理流程Fig.9 Process flow of measured data
3.2.3 結(jié)果對比校驗
將仿真平臺內(nèi)核的計算結(jié)果與全年實測能耗數(shù)據(jù)進行詳細校驗,檢驗標準采用ASHRAE-140標準的統(tǒng)計值誤差NMBE(normalized mean bias error)和瞬時值誤差CV(RMSE)(coefficient of variation of the root-mean-square error)[10],模擬數(shù)據(jù)與實測數(shù)據(jù)對比如圖10所示。
三座公共建筑的全年供冷期內(nèi)模擬與實測數(shù)據(jù)誤差值如表3所示,均滿足規(guī)范ASHRAE-140標準。
圖10 模擬數(shù)據(jù)與實測數(shù)據(jù)比較Fig.10 Comparison between simulated data and measured data
表3 模擬與實測結(jié)果對比誤差值
對于建筑模擬技術研究及軟件開發(fā),都面臨著多因素聯(lián)合模擬仿真、綜合性能分析等問題;而建筑全性能模擬軟件的開發(fā)工作具有功能模塊繁多、模塊結(jié)構各異、多團隊協(xié)同開發(fā)集成、可靠準確驗證等需求。針對性地提出了建筑能耗模擬軟件協(xié)同開發(fā)管理體系,采用GitLab代碼管理平臺、參與方協(xié)同開發(fā)、多方聯(lián)合集成模擬及Web端的在線調(diào)試檢驗方法,給出了軟件可靠性在線檢測工具,以及ASHRAE-140標準的軟件準確性檢驗方法,建立了一套多家協(xié)同、科學可靠、準確高效的協(xié)同開發(fā)管理體系,實現(xiàn)了建筑全性能仿真平臺內(nèi)核的開發(fā)研制。
建立的“平臺協(xié)同構建→代碼質(zhì)量管理→準確性驗證”三階段開發(fā)體系實現(xiàn)了多個團隊的協(xié)同開發(fā)與集成,同時高效地提升了代碼質(zhì)量,并且推廣了國際化軟件準確性檢驗方法,實現(xiàn)了建筑全性能聯(lián)合仿真軟件開發(fā)技術及方法的提升。
隨著建筑能耗技術研究的深入、多模塊聯(lián)合仿真以及建筑信息模型技術的不斷普及與發(fā)展,必將促進建筑節(jié)能模擬技術的全面發(fā)展。將堅持以解決實際工程問題為導向,繼續(xù)深入探討基于多模塊聯(lián)合仿真的協(xié)同開發(fā)技術路徑,在豐富建筑模擬功能的同時,不斷提高模擬軟件的準確性和可靠性,并實現(xiàn)建筑模擬技術在工程應用中的進一步推廣。