郭玉榮,劉鐘真
(湖南大學 土木工程學院,湖南 長沙 410082)
擬動力試驗是研究結構體系地震響應的有效手段之一,但由于試驗條件限制,往往難以進行整體結構的擬動力試驗,子結構擬動力試驗方法則是解決這一問題的有效手段.該方法將復雜結構分為兩部分,將在地震作用下容易損壞的強非線性部分結構進行試驗,稱作試驗子結構;而其余部分由有限元軟件計算模擬,稱為數值子結構.通過求解結構運動控制方程,在每一步對兩類子結構進行加載模擬,來完成擬動力試驗[1-4].這樣一方面可解決結構中強非線性特性部分模擬困難的問題,另外一方面減小了試驗規(guī)模,降低了對試驗設備的要求.
子結構擬動力試驗需要編制整體結構地震反應時程分析程序和數值子結構非線性模擬程序,但是程序編制需要大量的投入,所以目前我國所開發(fā)的子結構擬動力試驗程序大多是針對比較簡單的結構模型.如果能利用現有成熟的有限元分析軟件作為核心計算模塊,將會大大加快子結構擬動力試驗程序的開發(fā)和該試驗方法的應用.關于利用現有軟件進行擬動力試驗程序開發(fā)和擬動力試驗,已有學者進行了一些嘗試,如王瑾等使用Matlab作為主程序求解結構動力方程,使用OpenSees求解數值單元反力,并進行了數值模擬[5];王強等使用OpenFresco和MTS FlextestGT 實現了OpenSees有限元軟件和MTS試驗設備之間的數據傳遞[6];徐國山等使用OpenFresco接口程序和控制程序LabVIEW/dSPACE實現了與OpenSees的數據傳遞,并進行了彈性的單層框架試驗和非線性三層防屈曲支撐框架的試驗[7-8].但是目前的嘗試都是利用Open-Fresco接口程序連接OpenSees來進行的,當遇到OpenFresco不支持的試驗設備時,還需要另外開發(fā)設備連接程序.此外OpenFresco的遠程試驗功能還不完善.
為減少子結構擬動力試驗程序的中間環(huán)節(jié),提高試驗效率和擴大其遠程協同試驗功能,本文直接利用OpenSees地震反應時程分析功能和數值子結構模擬功能來開發(fā)子結構擬動力試驗程序,主要探討基于OpenSees的子結構擬動力試驗程序開發(fā)涉及的關鍵問題,包括在OpenSees中實現子結構反應量的實時查詢、子結構邊界條件的處理,以及利用OpenSees的通信協議實現試驗子結構和整體結構時程分析程序之間位移指令和反饋力的數據交換方法等問題.在驗證本文方法的正確性時,為消除試驗和數值模擬之間差異產生的干擾影響,整體結構時程分析、數值子結構和試驗子結構的模擬都采用OpenSees來實現.在該試驗方法得到論證之后,即可融入作者參與開發(fā)的NetSLab系統[9]實現遠程協同的真實子結構擬動力試驗.
子結構擬動力試驗方法是把結構分成兩部分,即試驗子結構和數值子結構.一般把結構中受力復雜或破壞嚴重的部分當作試驗子結構進行真實試驗,而把結構的其他部分(彈性及彈塑性初期部分)當作數值子結構進行數值模擬.結構在地震作用下,通過真實試驗獲得處于大變形的或破壞狀態(tài)部位的地震反應,而利用數值模擬得到其他的彈性部分或次要部位的地震反應,以控制試驗規(guī)模與節(jié)約試驗經費.子結構擬動力試驗的一般流程如圖1所示.
圖1 子結構擬動力試驗流程圖Fig.1 Flow chart of substructure pseudo-dynamic test
基于OpenSees的子結構擬動力試驗系統由OpenSees數值模擬系統和物理試驗設備系統組成.在OpenSees中進行整體結構的子結構化,計算獲得相應試驗子結構位移并發(fā)給物理試驗設備系統,后者將獲取的位移指令加載到試驗子結構上,獲得恢復力并反饋給OpenSees數值模擬系統.OpenSees數值模擬系統再通過選取的積分方法計算得到下一步的位移,如此循環(huán)直至試驗結束[10].
1997年McKenna在其博士學位論文中建立了OpenSees的程序架構[11],OpenSees的程序架構已有文獻進行了深入分析[12-13],該高層程序架構如圖2所示.在該圖中,采用了建模語言(UML)來描述OpenSees的高層程序架構,矩形代表面向對象程序設計的類;虛線與實線箭頭即子類與父類間的承繼關系,箭尾即子類,箭頭即父類,虛線即實現,實線則代表承繼;有菱形箭尾的箭頭代表一種聚合關系,跟菱形相連的類代表箭頭指向的類的一個聚合體.在OpenSees中,其整個過程包括4個模塊:模型建立(model builder)、域(domain)、分析(analysis)及記錄(recorder).模型建立為OpenSees程序架構的基礎,利用Tcl腳本語言實現建立、節(jié)點、約束及單元信息,并且該信息被添加到域;整個軟件架構的核心為域模塊,其把有限元分析所需的載荷、節(jié)點、約束及單元信息存儲起來;OpenSees的程序架構的靈魂為分析模塊,其進行有限元的分析,并且將域中所存儲的信息更新;記錄模塊執(zhí)行監(jiān)視功能,同時在分析過程中記錄有限元模型的相關信息,包括內力、位移及變形等信息,以方便后處理.
圖2 OpenSees高層程序架構Fig.2 High-level program frame of OpenSees
一般數值子結構需要2個OpenSees的模型文件,該文件由Tcl語言編寫:一個是初始模型文件,其包含節(jié)點、邊界、單元和材料等模型參數與加載信息;另一個則是重啟動文件,其只包括加載信息.首先利用OpenSees 運行初始的模型文件,以后每一步都運行重啟動文件,同時在程序運行時,還需要一個能保存當前步數、目標位移與對應的恢復力的數據文件.當主程序運行之后,先利用數據文件保存當前步數及由預測模塊所計算出的目標位移,再利用OpenSees運行模型文件.然后其通過讀取數據文件中的數值實現加載,加載完成后,其把所需要的反力值寫到數據文件上,最終通過主程序中的修正模塊讀取數據文件中的反力值,并且計算對應的修正值.根據以上可知,試驗模擬包括2個模型文件與一個數據文件,利用OpenSees的輸入與輸出接口,實現數據的寫入與讀取.
2.2.1 子結構力邊界條件修改命令
OpenSees支持在分析過程中進行模型參數的修改.表1所列的2個命令可以實現數值子結構的有限元分析中力的邊界條件的修改.
2.2.2 子結構實現分析步內模型的修改
OpenSees實現重啟動可以借助于Tcl腳本語言的for循環(huán)流程控制命令.表2所示的代碼可以完成分析步內模型參數的修改.
表1 力邊界條件修改命令__Tab.1_Command of modifying stress boundary conditio___n
表2 分析步內模型參數修改命令Tab.2 Command of modifying model parameter in analysis
2.2.3 子結構反應量的實時查詢
在子結構擬動力試驗中,試驗子結構的每一步位移控制量是基于該分析步數值子結構的數值模擬結果,這就要求在數值子結構有限元分析的每一分析步內提取試驗所需的反應量.對于預測校正法,通常需要獲取目標質點在指定的動力自由度方向上的位移、速度和加速度,同時還需要獲取單元的反應量,如軸力和軸向位移等.OpenSees提供了一系列的實時輸出命令可以實現各種反應量的實時提取,這些命令見表3.
表3 實時查詢命令Tab.3 Command of real-time inquiry
2.2.4 在OpenSees中實現網際通信
OpenSees作為一款功能強大的有限元分析軟件框架,其強大之處不僅僅體現在其非線性分析能力上,更體現在其靈活的可擴展性上.OpenSees借助Tcl腳本語言進行建模輸入.事實上,可以把Tcl看作是OpenSees的一個擴展,這樣OpenSees就是一門帶有限元分析功能的腳本語言了.由于Tcl自身集成有通信模塊,因此,可以直接在本文的模型文件中調用這些模塊實現OpenSees的網絡通信功能.關于Tcl腳本語言的使用可參考相關文獻.表4是Tcl語言通信相關的基本語法.
表4 服務器和客戶端套接字命令Tab.4 Socket command of sever and client
2.2.5 在OpenSees中實現服務器等待
在數值子結構一端,即服務端完成模型的建立后,下一步就是等待試驗端,即客戶端的接入.一旦所有的目標客戶端接入后,就可以在OpenSees和試驗機之間進行數據交互.為了更好地描述這個問題,本文將服務端記作A,3個希望與服務端建立連接的客戶端記作B,C,D.在A 向B,C,D 發(fā)送數據之前,A 必須知道B,C,D 的IP地址和端口號.這就是說在發(fā)送數據之前,A 必須要與B,C,D 建立連接以后才能繼續(xù)下一步的操作.本文借助OpenSees使用的Tcl語言的事件驅動機制實現服務端與多個目標客戶端的連接和等待.Tcl語言內置的vwait命令為此提供了很好的解決方案.vwait命令用于調用事件循環(huán),它接受一個參數,這個參數一般情況下要求是全局變量,vwait命令進入Tcl事件循環(huán)后,將一直等待,期間接收其他命令運行.如果某個命令運行重新設置了這個參數,即使設置后這個值不變,vwait事件循環(huán)也將終止并返回.在基于OpenSees的分布式子結構擬動力試驗平臺開發(fā)中,可以利用vwait實現OpenSees服務端和多個目標試驗機客戶端的連接.
以帶支撐的高層鋼結構為例,通過對比子結構擬動力試驗結果和OpenSees整體分析結果來驗證本文基于OpenSees的子結構擬動力試驗方法的正確性.為消除試驗實測和數值模擬之間差異產生的干擾影響,從驗證試驗方法的角度出發(fā),本文采用虛擬的子結構試驗,即試驗子結構也采用OpenSees程序來模擬其滯回特性,且和整體結構時程分析中的模擬完全一致.
試驗模型為一榀帶防屈曲支撐的3跨8層鋼結構,如圖3所示.每層層高為3m,跨度為6m,其中,樓板重度為23.53kN/m3,板厚0.15 m,板跨度6 m.假定基礎與地基剛接,防屈曲支撐與主體框架結構鉸接.梁、柱構件選擇梁柱單元,不考慮剪切變形和扭轉.防屈曲支撐為桁架單元.梁、柱構件材料選用Q345鋼材,防屈曲支撐構件材料采用Q235 鋼材.樓面活荷載和屋面活荷載統一取為2.0kN/m2.結構的輸入地震波采用EI Centro地震波,結構阻尼采用Rayleigh 阻尼.梁、柱以及防屈曲支撐的模型參數見表5.試驗中,取出底層2個支撐作為試驗子結構,余下部分作為數值子結構,如圖4所示.為了更好地測試本文方法的分布式網絡通信功能,數值子結構在另一臺獨立的計算機上進行分析計算.該計算機與模擬試驗子結構的計算機具有不同的IP地址.數值子結構的補充信息說明見表6.
圖3 結構計算模型Fig.3 Calculation model of structure
圖4 數值子結構計算模型Fig.4 Calculation model of numerical substructure
表5 模型構件參數Tab.5 Structure member parameter
表6 數值子結構的補充信息Tab.6 Additional information of numerical substructure
結構的所有材料均采用線彈性材料elastic,梁柱單元采用OpenSees中彈性單元elasticBeam Column,支撐采用桁架單元truss;試驗子結構取底層人字形支撐,整體結構時程分析結果和子結構擬動力試驗結果的部分對比見表7.
表7 彈性分析結果Tab.7 Elastic analysis results
從表7可看出,在線彈性情況下采用OpenSees進行整體結構時程分析的結果與子結構擬動力試驗結果非常吻合,其頂點位移與底層層間位移峰值誤差為0.14%和0.08%,該微小差別可能來自舍入誤差,從而說明本文從OpenSees整體結構計算中提取試驗子結構的位移和將試驗子結構恢復力返回OpenSees進行下一步計算的過程和方法是正確的.
梁柱單元采用OpenSees中forceBeamColumn,支撐采用桁架單元truss;試驗子結構取底層人字形支撐.梁柱單元抗彎恢復力模型采用雙線性模型,即采用Steel01材料;梁柱單元的軸向恢復力模型采用線性elastic模型,防屈曲支撐桁架單元的軸向恢復力模型采用Steel02 曲線性模型.具體恢復力模型參數見表8.
表8 構件恢復力模型Tab.8 Hysteretic model of member
1)水平位移時程曲線:圖5和圖6所示為節(jié)點1的水平位移時程曲線和底層層間位移時程曲線.從圖中可以看出OpenSees整體分析結果與子結構擬動力試驗結果非常吻合.
圖5 節(jié)點1位移時程曲線Fig.5 Time history of node 1’s displacement
圖6 底層層間位移時程曲線Fig.6 Time history of 1ststory drift
2)滯回曲線:從圖7所示的支撐1滯回曲線對比可見,子結構擬動力試驗結果與OpenSees整體分析結果非常吻合.
在考慮結構非線性行為的情況下,用OpenSees進行整體結構時程分析和子結構擬動力試驗,兩者的結果也是非常吻合的,說明本文所建立的子結構擬動力試驗方法是可行的.若將位移指令發(fā)送給設備控制系統對試驗子結構進行加載和反饋力給OpenSees,即可進行真實的子結構擬動力試驗.同時,子結構的選取并不局限于支撐,可以選取柱子,一層或多層結構作為子結構.
圖7 支撐1滯回曲線Fig.7 Hysteretic curve of brace 1
1)研究了基于OpenSees的子結構擬動力試驗方法原理,實現了子結構反應量的實時查詢、子結構邊界條件的處理,以及利用OpenSees的通信協議實現試驗子結構和整體結構時程分析程序之間位移指令和反饋力的數據交換方法,為真實子結構試驗提供了理論基礎.
2)借助OpenSees軟件平臺的高擴展性,運用套接字實現了網絡通信、服務器的等待及分析步內的模型參數修改.
3)進行了8層防屈曲支撐鋼結構的虛擬子結構擬動力試驗,試驗結果與整體結構時程分析結果對比表明,本文基于OpenSees分析軟件所開發(fā)的子結構擬動力試驗程序是可行且有效的.
4)本文利用成熟的有限元分析軟件開發(fā)子結構擬動力試驗程序,擴展了子結構擬動力試驗的范圍,與類似方法相比,本文方法減少了中間環(huán)節(jié),提高了試驗效率.
[1]范云蕾,肖巖,郭玉榮,等.多層框架結構遠程協同擬動力試驗方法研究[J].湖南大學學報:自然科學版,2009,36(4):19-23.
FAN Yun-lei,XIAO Yan,GUO Yu-rong,etal.Remotely collaborative pseudo-dynamic testing method for MDOF frame structure[J].Journal of Hunan University:Natural Sciences,2009,36(4):19-23.(In Chinese)
[2]郭玉榮,曾東,肖巖,等.橋梁結構遠程協同擬動力試驗平臺開發(fā)[J].湖南大學學報:自然科學版,2009,36(9):1-6.
GUO Yu-rong,ZENG Dong,XIAO Yan,etal.Development of a remotely collaborative pseudo-dynamic testing platform for bridge structures[J].Journal of Hunan University:Natural Sciences,2009,36(9):1-6.(In Chinese)
[3]郭玉榮,黃民元.防屈曲耗能支撐鋼管混凝土柱-鋼梁組合框架子結構擬動力試驗研究[J].建筑結構學報,2014,35(11):62-68.
GUO Yu-rong,HUANG Min-yuan.Substructuring pseudodynamic tests of a concrete filled steel tubular column-steel beam composite frame with buckling restrained braces[J].Journal of Building Structures,2014,35(11):62-68.(In Chinese)
[4]范云蕾,郭玉榮,肖巖,等.多層框架結構遠程協同擬動力試驗研究[J].土木工程學報,2011,44(2):28-35.
FAN Yun-lei,GUO Yu-rong,XIAO Yan,etal.Study on remote collaborative pseudo-dynamic tests of multi-story frames[J].China Civil Engineering Journal,2011,44(2):28-35.(In Chinese)
[5]王瑾,蔡新江,田石柱.基于OpenSees的CFRP 加固RC 短柱抗震性能數值模擬[J].世界地震工程,2009,25(4):108-111.
WANG Jin,CAI Xin-jiang,TIAN Shi-zhu.Numerical simulation on seismic behavior of CFRP retrofitted RC short column based on OpenSees[J].World Earthquake Engineering,2009,25(4):108-111.(In Chinese)
[6]王強,馮帆,YOU S,等.基于有限軟件的子結構擬動力試驗技術[J].沈陽建筑大學學報:自然科學版,2010,26(6):1085-1089.
WANG Qiang,FENG Fan,YOU Shawn,etal.Pseudo dynamic test method with substructure technique based on finite element software OpenSees[J].Journal of Shengyang Jianzhu University:Natural Science,2010,26(6):1085-1089.(In Chinese)
[7]徐國山,郝偉,陳永盛,等.基于有限元軟件OpenSees的混合試驗系統及試驗驗證[J].振動與沖擊,2012,31(22):45-52.
XU Guo-shan,HAO Wei,CHEN Yong-sheng,etal.A hybrid testing system based on finite element software OpenSees[J].Journal of Vibration and Shock,2012,31(22):45-52.(In Chinese)
[8]徐國山,郝偉,陳永盛,等.基于有限元軟件OpenSees和Open-Fresco的混合試驗[J].土木工程學報,2012,45(S1):36-41.
XU Guo-shan,HAO Wei,CHEN Yong-sheng,etal.Hybrid testing based on finite element software OpenSees and Open-Fresco[J].China Civil Engineering Journal,2012,45(S1):36-41.(In Chinese)
[9]郭玉榮,肖巖,胡慶,等.NetSLab-網絡化結構實驗室平臺[J].湖南大學學報:自然科學版,2006,33(S1):10-17.
GUO Yu-rong,XIAO Yan,HU Qing.etal.NetSLab-networked structural laboratories platform[J].Journal of Hunan University:Natural Sciences,2006,33(S1):10-17.(In Chinese)
[10]何政,蔣碧聰.OpenSees混合模擬試驗技術發(fā)展與應用[J].力學進展,2012,42(6):804-820.
HE Zheng,JIANG Bi-cong.Development and applications of hybrid simulation and experimentation using OpenSees[J].Advances in Mechanics,2012,42(6):804-820.(In Chinese)
[11]MCKENNA F T.Object-oriented finite element programming frameworks for analysis,algorithms,and parallel computing[D].Berkeley:University of California,Berkeley,1997:30-36.
[12]MCKENNA F T,FENVES G L.An object-oriented software design for parallel structural analysis[C]//Proceedings of the ASCE Structures Congress 2000.Reston:ASCE Press,2000:1-8.
[13]TAKAHASHI Y,FENVES G L.Software framework for distributed experimental-computational simulation of structural systems[J].Earthquake Engineering &Structural Dynamics,2006,35(3):267-291.