引 言
隨著城市化的發(fā)展,地震對經(jīng)濟發(fā)展和人民生活的潛在威脅越來越嚴(yán)重,城市建筑震害預(yù)測成為防災(zāi)減災(zāi)的一個重要方面。城市區(qū)域內(nèi)的建筑群震害預(yù)測包含兩個層次:宏觀層次和微觀層次。宏觀層次模型將建筑抽象成一個或少量自由度的結(jié)構(gòu),進行不同烈度下地震損失分析預(yù)測。微觀層次模型[2]將建立建筑物更加精細(xì)化的分析模型(例如桿系模型等),可以考慮結(jié)構(gòu)的足夠多的自由度和精確的動力特性,進行高精度的震害分析預(yù)測。
城市建筑震害預(yù)測,需要獲取和存儲城市建筑的基礎(chǔ)數(shù)據(jù)。如果只是建立宏觀層次模型,則只需要建筑面積、年代、層數(shù)、結(jié)構(gòu)類型等少量宏觀數(shù)據(jù),其數(shù)據(jù)來源可以是城市GIS數(shù)據(jù)庫等。基于GIS的城市震害預(yù)測已經(jīng)有一定的研究基礎(chǔ)[3]。而建立微觀層次的精細(xì)化模型需要更詳細(xì)的數(shù)據(jù),如梁柱的尺寸、配筋等,若采用手動方法建立精細(xì)化模型,不僅工作量太大,也容易出錯,特別對于某些開源的有限元軟件(如OpenSees),沒有前處理界面,建模極不方便。比較合理的方法是利用建筑已有的數(shù)字化模型,從中提取建筑震害分析所需要的詳細(xì)數(shù)據(jù),自動建模供計算模塊進行分析計算。然而不同軟件生成的建筑數(shù)字化模型有著不同的數(shù)據(jù)格式,而計算模塊也可能由不同的結(jié)構(gòu)分析軟件組成(如Marc,OpenSees等)。因此,需要采用一個統(tǒng)一的數(shù)據(jù)標(biāo)準(zhǔn),以實現(xiàn)不同軟件之間的數(shù)據(jù)交換。
建筑信息模型(Building Information Model,BIM)致力于在建筑的全生命期實現(xiàn)不同建筑工程領(lǐng)域的信息共享和協(xié)同管理,基于BIM的建筑數(shù)字化模型是未來重要的發(fā)展方向。目前,BIM采用IFC標(biāo)準(zhǔn)作為建筑產(chǎn)品的數(shù)據(jù)交換標(biāo)準(zhǔn),不同軟件之間通過IFC這個統(tǒng)一的標(biāo)準(zhǔn)來交換數(shù)據(jù)。然而研究表明[4],基于IFC標(biāo)準(zhǔn)的建筑模型與結(jié)構(gòu)模型之間的信息傳遞與共享還不是十分成熟。張劍濤等[5],劉照球[6, 7]等開發(fā)了IFC與PKPM結(jié)構(gòu)模型的數(shù)據(jù)轉(zhuǎn)換接口,能初步實現(xiàn)二者的幾何、材料等信息的轉(zhuǎn)換,但缺乏載荷信息等的轉(zhuǎn)換。也有學(xué)者嘗試建立通用建筑結(jié)構(gòu)模型轉(zhuǎn)換平臺,以IFC為通用數(shù)據(jù)轉(zhuǎn)換標(biāo)準(zhǔn),實現(xiàn)任意常用結(jié)構(gòu)分析軟件間的結(jié)構(gòu)分析模型數(shù)據(jù)轉(zhuǎn)換。但這類研究尚處于起步階段,目前僅實現(xiàn)了SATWE、ETABS、SAP2000等軟件與IFC標(biāo)準(zhǔn)的轉(zhuǎn)換接口,所能實現(xiàn)的數(shù)據(jù)轉(zhuǎn)換也僅限于幾何、材料等信息。
因此,能否利用BIM的共享性,解決城市建筑震害預(yù)測的數(shù)據(jù)獲取以及自動建模問題,具有重要的研究價值。
1. 建筑震害分析及數(shù)據(jù)需求
對于鋼筋混凝土框架結(jié)構(gòu),通常采用纖維梁模型作為抗震彈塑性分析的精細(xì)化計算模型。不少軟件都能具備建筑抗震彈塑性分析能力,其中兩類典型的軟件是Marc和OpenSees。
由于城市建筑信息是以單體建筑為基礎(chǔ)的,因此,本文利用C++編寫了一個模型轉(zhuǎn)換程序,從一個單體鋼筋混凝土建筑的(IFC格式的)數(shù)字化模型中,提取建筑震害分析所需的信息,自動生成Marc和OpenSees軟件模型,驗證轉(zhuǎn)換后的模型能否用于分析建筑結(jié)構(gòu)在地震作用下的響應(yīng),如圖1所示。
圖1 編寫模型轉(zhuǎn)換程序,將IFC格式模型轉(zhuǎn)換成Marc模型和OpenSees模型
Fig.1 Convert IFC-format files into Marc and OpenSees models using a model converter
1.1 Marc與OpenSees軟件
Marc是一款功能齊全的高級非線性通用有限元軟件[8],用Marc進行建筑震害模擬,可以得到較為理想的分析結(jié)果,且適用于大多數(shù)分析需求。
基于纖維模型原理,清華大學(xué)土木工程系利用Marc軟件提供的二次開發(fā)接口,編寫了THUFIBER程序[9],使Marc軟件能對鋼筋混凝土結(jié)構(gòu)進行纖維模型計算。THUFIBER將混凝土構(gòu)件的截面分為36個混凝土纖維,以及4個鋼筋纖維(纖維劃分方法也可以由用戶自定義),各纖維的面積由截面尺寸和配筋決定。對每根纖維定義特定的本構(gòu)關(guān)系,便可以進行不同精度的有限元分析。
OpenSees(Open System for Earthquake Engineering Simulation),是一個能進行結(jié)構(gòu)抗震彈塑性分析的開源軟件[10]。相比內(nèi)部代碼不透明的商用有限元軟件,OpenSees的開源性使得研究者能全面掌握它的運行機制,并能根據(jù)自身需求進行二次開發(fā),因此,OpenSees是進行建筑震害研究的重要工具。OpenSees中,混凝土梁柱也用纖維模型模擬。
選用上述兩種軟件進行震害分析,可以同時利用商業(yè)軟件的健壯性和開源軟件的透明性。
1.2 建筑震害分析的數(shù)據(jù)需求
為了從IFC文件中提取充分的信息,以自動生成Marc和OpenSees結(jié)構(gòu)模型,需要全面了解這兩種軟件的建筑震害分析建模方法,并總結(jié)震害分析所需的數(shù)據(jù)信息。這些數(shù)據(jù)信息分為兩類,一類與混凝土結(jié)構(gòu)模型有關(guān),如結(jié)構(gòu)構(gòu)件的位置、幾何信息、材料信息、載荷等。另一類則與震害分析的方法和過程有關(guān),如地震波的選取、載荷工況的增量步總數(shù)和每個增量步的時間步長等,這類數(shù)據(jù)隨著分析方法和要求的變化而變化,并且在軟件中可以很方便地實現(xiàn)這類參數(shù)的調(diào)整。因此,應(yīng)該重點關(guān)注第一類數(shù)據(jù)需求,即與混凝土結(jié)構(gòu)模型有關(guān)的數(shù)據(jù)。
通過考察這兩種軟件的建筑抗震分析模型,得到抗震分析的數(shù)據(jù)需求如表1所示。
表1 建筑抗震分析的數(shù)據(jù)需求
Tab.1 Data requirements for structural seismic analysis
2. 抗震分析的數(shù)據(jù)需求的IFC表達
IFC的復(fù)雜性,也是限制它發(fā)展、導(dǎo)致常用軟件普遍無法導(dǎo)出滿足抗震分析的IFC文件的原因之一。因此本文在仔細(xì)考察IFC4體系的基礎(chǔ)之上,選擇其中的常用部分,建立IFC4結(jié)構(gòu)分析子信息模型。例如配筋的描述僅保留了方法(4)。雖然這降低了IFC的全面性,但仍能描述抗震分析所需的關(guān)鍵信息,增強了實用性。
描述IFC(子信息)模型的最方便的工具是EXPRESS-G[15],圖3是它的部分圖例。
2.3.2 其他建筑抗震分析數(shù)據(jù)的IFC4描述方法
與2.3.1小節(jié)類似地,建立了結(jié)構(gòu)構(gòu)件、載荷、支座約束、材料、截面幾何特性等信息的IFC4描述方法。以載荷為例,如圖5所示,圖中實體屬性未全部列出。IFC4能描述線性變化的分布載荷,但為了降低復(fù)雜性,本文建議將這類載荷轉(zhuǎn)換成等效均布載荷,用IfcStructuralLinearAction實體表達。
圖5 載荷信息在IFC4中的描述方法
Fig.5 Description of load in IFC4 standard
3. 模型轉(zhuǎn)換程序設(shè)計
根據(jù)第2章所建立的完整的IFC4結(jié)構(gòu)分析子信息模型框架,可以構(gòu)建滿足抗震分析數(shù)據(jù)需求的IFC4模型文件,進而采用C++語言設(shè)計模型轉(zhuǎn)換程序,解析IFC模型文件,自動生成Marc和OpenSees軟件模型。
IFC模型由EXPRESS語言定義,是ASCII格式純文本文件形式,因此IFC文件需要經(jīng)過解析識別,才能供程序代碼處理。本文使用IFCEngine.dll作為IFC文件解析工具,這是一款免費工具包,但要求編程者對IFC體系十分熟悉。
根據(jù)表1所示建筑震害的數(shù)據(jù)需求,設(shè)計了節(jié)點、單元、支座約束、截面幾何、材料等5個類(class),并用Map、Vector等C++標(biāo)準(zhǔn)模板庫中的容器將各個類的不同對象有序地組織起來。程序的輸入模塊通過調(diào)用類的成員函數(shù),從IFC模型文件中提取所需數(shù)據(jù),賦值給相應(yīng)的數(shù)據(jù)成員。例如節(jié)點類Node調(diào)用SetCoordinate函數(shù)提取并設(shè)置節(jié)點坐標(biāo)。模型轉(zhuǎn)換程序的IFC解析及提取數(shù)據(jù)部分的流程如圖6所示。
圖6 模型轉(zhuǎn)換程序的IFC解析及提取數(shù)據(jù)部分的流程圖
Fig.6 Flow chart of the IFC parse and data obtaining part of the model converter
由于采用了合理的數(shù)據(jù)結(jié)構(gòu)設(shè)計,程序的輸出模塊的實現(xiàn)比較方便,分別遍歷相應(yīng)容器,按照Marc和OpenSees的建模規(guī)則輸出節(jié)點、單元、材料等類的數(shù)據(jù)成員,便可自動生成這兩種軟件模型。
4. 實例驗證模型轉(zhuǎn)換效果
為了驗證模型轉(zhuǎn)換程序的正確性,用IFC4標(biāo)準(zhǔn)建立了一個鋼筋混凝土框架模型。模型為清華大學(xué)主樓的一榀10層3跨平面框架[16],邊跨7.5米,中跨3.5米,框架總高度45.05米,模型詳細(xì)尺寸及配筋等信息見文獻。IFC模型以及轉(zhuǎn)換后的Marc模型如圖7所示(OpenSees沒有顯示模型的界面),由圖可知單元、節(jié)點、支座約束轉(zhuǎn)換正確。檢查模型參數(shù),截面、材料、載荷等也都轉(zhuǎn)換正確。
圖7 IFC模型(左)及自動生成的Marc模型(右)
Fig.7 IFC model(left) and auto-generated Marc model(right)
分別用Marc和OpenSees對自動生成的模型進行模態(tài)分析,得到的前三階振型所對的頻率相差小于1%,如表3所示:
表3 Marc與OpenSees模態(tài)分析結(jié)果對比
Tab.3 Modal analysis result of Marc and OpenSees
對框架輸入Y方向地震動加速度,分別用Marc和OpenSees進行彈塑性時程分析。選用El Centro地震波,地震峰值加速度設(shè)為400Gal,頂點位移的時程曲線如圖8所示,吻合得很好。
圖8 Marc與OpenSees彈塑性時程分析結(jié)果對比
Fig.8 Elasto-plastic time-history analysis result of Marc and OpenSees
兩個軟件的模態(tài)分析和時程分析結(jié)果的一致性,進一步說明了模型的單元、材料等各參數(shù)都得到了正確轉(zhuǎn)換。
5. 結(jié) 論
本文從建筑震害分析的數(shù)據(jù)需求出發(fā),逐一分析了這些數(shù)據(jù)需求在IFC4中的表達方法,建立了一個完整的IFC4結(jié)構(gòu)分析子信息模型。利用該子信息模型,就能通過IFC4標(biāo)準(zhǔn)來描述可進行建筑抗震彈塑性分析的鋼筋混凝土結(jié)構(gòu)模型。
根據(jù)建立的IFC4結(jié)構(gòu)分析子信息模型以及Marc和OpenSees軟件的建模規(guī)則,編寫了模型轉(zhuǎn)換程序,實現(xiàn)了節(jié)點、構(gòu)件、載荷、支座約束、材料、截面幾何等所有抗震分析所必要的信息的正確轉(zhuǎn)換,進行了IFC文件到Marc和OpenSees軟件之間的數(shù)據(jù)轉(zhuǎn)換的新嘗試。
在此基礎(chǔ)上,還有很多研究內(nèi)容可以繼續(xù)開展。例如,擴展本文建立的IFC4結(jié)構(gòu)分析子信息模型,使之能描述樓板、剪力墻等其他結(jié)構(gòu)構(gòu)件;考慮城市建筑群信息的IFC表達方法等。