沈 磊,李敬學,陶 勇,彭俊
(中鐵第四勘察設(shè)計院集團有限公司,武漢 430063)
Midas Gen To SAP2000模型轉(zhuǎn)換技術(shù)在鐵路站房工程中的應用
沈 磊,李敬學,陶 勇,彭俊
(中鐵第四勘察設(shè)計院集團有限公司,武漢 430063)
基于SAP2000軟件開放的API技術(shù),利用C#語言結(jié)合面向?qū)ο缶幊痰乃枷?,編制了Midas Gen To SAP2000有限元模型轉(zhuǎn)換軟件,并探討了模型轉(zhuǎn)換的關(guān)鍵技術(shù)。通過在相關(guān)鐵路站房工程實例的應用,證明了程序的高效性及可行性,也表明該轉(zhuǎn)換技術(shù)對于類似工程實踐有良好的借鑒作用。
鐵路站房;模型轉(zhuǎn)換;SAP2000API技術(shù);Midas Gen
近年來高速鐵路發(fā)展迅速,隨著新技術(shù)、新產(chǎn)品和新工藝的應用,鐵路客運站房的結(jié)構(gòu)形式也日趨復雜多變。如何高效、準確的對復雜結(jié)構(gòu)建模進行設(shè)計分析成為結(jié)構(gòu)設(shè)計領(lǐng)域的熱點問題。
《建筑抗震設(shè)計規(guī)范》(GB50011―2010)對復雜結(jié)構(gòu)在多遇地震作用下的內(nèi)力和變形分析要求應采用不少于兩個合適的不同力學模型,并對其計算結(jié)果進行分析比較[1]。
通用有限元軟件Midas Gen及SAP2000在鐵路站房結(jié)構(gòu)設(shè)計中已經(jīng)得到了廣泛的應用,Midas軟件以其靈活的操作方式、友好的界面,成為結(jié)構(gòu)模型對比分析的首選,而SAP2000以其強大的計算內(nèi)核及分析功能成為結(jié)構(gòu)設(shè)計的必選[2]。但由于目前兩種有限元分析軟件彼此數(shù)據(jù)不兼容,當采用兩種軟件進行鐵路站房結(jié)構(gòu)對比分析時,有關(guān)模型信息只能重新建?;蚴謩硬僮鱁xcel進行添加、修改,工作量較大并且容易出錯,導致結(jié)構(gòu)分析工作量的陡然增加,而模型轉(zhuǎn)換軟件的編制可以大大減輕結(jié)構(gòu)設(shè)計人員工作量,提高建模的可靠性[3]。
本文基于SAP2000軟件開放的API技術(shù),利用C#語言結(jié)合面向?qū)ο缶幊痰乃枷?編制了Midas Gen To SAP2000有限元模型轉(zhuǎn)換軟件,實現(xiàn)了站房結(jié)構(gòu)模型由Midas Gen向SAP2000的快速高效轉(zhuǎn)換。
Midas GEN TO SAP2000轉(zhuǎn)換軟件包括2個模塊: Midas Gen模型文件mgt讀取模塊及SAP2000建模模塊。程序開發(fā)的總流程如圖1所示,具體解釋如下:
圖1 程序總流程
(1)調(diào)用讀取Midas Gen軟件的模型數(shù)據(jù)*.mgt文件模塊,對需要轉(zhuǎn)化的節(jié)點、單元、截面、荷載、節(jié)點約束、單元釋放等信息進行存儲;
(2)通過SAP2000軟件所提供的API函數(shù)建立有限元分析模型,依次將讀取的Midas Gen模型數(shù)據(jù)文件中的節(jié)點、單元、材料、截面、荷載、節(jié)點約束等信息在SAP2000模型中建立;
(3)模型轉(zhuǎn)換完畢,程序結(jié)束。
Midas Gen軟件的模型數(shù)據(jù)mgt文件讀取模塊流程如圖2所示。
SAP2000建模模塊流程如圖3所示。
本次程序編制過程中,面向?qū)ο缶幊趟枷氲膽?、mgt文件讀取模塊中對于Midas Gen文本命令流的識別與讀取、Midas Gen與SAP2000在功能上的差異及處理方法、SAP2000建模模塊中SAP2000API函數(shù)的調(diào)用是關(guān)鍵及難點。
1.1 面向?qū)ο蟮木幊趟枷?/p>
傳統(tǒng)的程序設(shè)計一般采用結(jié)構(gòu)化的程序設(shè)計方法和結(jié)構(gòu)化語言(如FORTRAN),其程序的擴展能力有限,代碼的重復利用率低,調(diào)試復雜。面向?qū)ο蟮某绦蛟O(shè)計,由于程序具有封裝性、繼承性和多態(tài)性等優(yōu)點,使得程序設(shè)計概念清楚,調(diào)試容易,代碼的重復利用率高,能實現(xiàn)一些用傳統(tǒng)方法無法實現(xiàn)的功能,是現(xiàn)代程序設(shè)計的主要方法之一。
圖2 mgt文件讀取模塊
圖3 SAP2000建模模塊
對于有限元結(jié)構(gòu)模型,節(jié)點、單元、材料、荷載等內(nèi)容是其重要組成部分,如何通過有效的數(shù)據(jù)組織及讀取是本文亟需解決的問題。本文采用面向?qū)ο缶幊趟枷朐O(shè)計的節(jié)點類代碼:
class node//節(jié)點類
{
private double_m_nx,_m_ny,_m_nz;//坐標
private string_m_nid;//節(jié)點id
private string m_node_constraint=″″;//約束
public double m_nx//定義坐標x屬性
{set{_m_nx=value;}
get{return_m_nx;}
}
public double m_ny//定義坐標y屬性
{set{_m_ny=value;}
get{return_m_ny;}
}
public double m_nz//定義坐標z屬性
{set{_m_nz=value;}
get{return_m_nz;}
}
public string m_nid//定義節(jié)點ID屬性
{set{_m_nid=value;}
get{return_m_nid;}
}
public string m_node_constraint//支座屬性
{get{return_m_node_constraint;}
set{_m_node_constraint=value;}
}
}
與此類似,程序中構(gòu)造了單元類、材料類、截面類、荷載類等,利用面向?qū)ο蟮睦^承、重載等思想可以高效的解決數(shù)據(jù)的存儲問題。
同時,在存儲效率上對于大型的結(jié)構(gòu)分析模型,選擇哈希表(hashtable)這種數(shù)據(jù)結(jié)構(gòu)來存儲結(jié)構(gòu)幾何信息、材料信息、荷載信息等,比用傳統(tǒng)的數(shù)組來存儲更靈活、更高效,尤其是需要多查找操作的問題上。
1.2 Mgt文件識別技術(shù)
Midas Gen軟件的模型數(shù)據(jù)mgt輸出文件包含了節(jié)點信息、桿件關(guān)聯(lián)號、桿件截面信息、桿件BETA角、桿端約束信息、面單元關(guān)聯(lián)號、面單元厚度信息、支座約束信息以及荷載信息等。
在SAP2000中建立一個完整的frame單元,需要從Midas Gen模型文件mgt中讀出節(jié)點坐標、桿件關(guān)聯(lián)號、桿件BETA角、約束信息、桿件截面名等,典型的mgt文件命令流格式[4]如表1所示。
表1 Midas輸入/輸出文件格式
mgt文件的識別主要存在以下難點:
(1)允許命令行之間有空行和注釋行,注釋行以“;”開頭,注釋行中可以有命令,所以在二次開發(fā)工作中,發(fā)現(xiàn)注釋行中的命令時要忽略,以免造成誤判。
(2)命令行前面允許有空格,空格數(shù)目不限。
(3)命令中經(jīng)常會有“to”或“by”出現(xiàn),需要對這幾個關(guān)鍵字進行解析,避免遺漏信息,比如:“1to21 by5”的命令,表示只考慮編號為“1,6,11,16,21”這5個對象的相關(guān)信息
(4)有些命令格式是兩行或者不定多行,需要對mgt文件進行換行及定位處理,以免轉(zhuǎn)換信息不準確。比如荷載組合comb1的荷載組合就包括兩行。
NAME=comb1,GEN,ACTIVE,0,0,,0,0
ST,d1,1,ST,l1,1,ST,d2,1,ST,l2 1
ST,dl3,1,ST,ll2,1,
(5)有些命令一定會出現(xiàn)在各個模型的輸入文件中,比如描述節(jié)點坐標和桿件關(guān)聯(lián)號的命令,而有些命令就不一定在每個模型中都出現(xiàn),比如:“*THICKNESS”和“*CONLOAD”等。
讀取文件,可以采用C號的iostream類讀取,字符串類string中有足夠豐富的函數(shù)來對mgt輸入文件中的信息進行解析。
對于(1)問題可以在利用mgt文件的模塊化特點,利用*command定位,分塊完成相應模塊的讀取。
對于(2)問題可以采用string類的trim()函數(shù)將空格去掉。
對于(3)問題采用RegularExpressions類的正則表達式識別來進行。例如:@″d+[t][o]d+[b][y] d+″,就可以識別字符串是否為to by的格式。
對于(4)問題可以采用對mgt的換行處理,將復雜的多行轉(zhuǎn)換成單行,然后再進行字符的識別。
對于(5)問題采用將典型命令進行定位的處理方式,進行準確定位后再進行內(nèi)部詳細的命令識別與讀取。
1.3 SAP2000的API技術(shù)
SAP2000從V11.0版本之后,開始引進了API (Application Interface程序應用接口),用戶通過編寫程序利用API調(diào)用SAP2000的內(nèi)部功能,實現(xiàn)模型的自動創(chuàng)建,自動分析和自動結(jié)果輸出[4-6]。
與表1中Midas Gen軟件常用的mgt命令相對應的SAP2000API常用函數(shù)如表2所示[8]。
1.4 Midas Gen與SAP2000差異
由于Midas Gen與SAP2000程序的差異性,模型轉(zhuǎn)換軟件在編制過程中,考慮到了以下在功能上的不同點:
表2 SAP2000API常用函數(shù)
(1)Midas Gen可以方便的點選節(jié)點定義其范圍內(nèi)所有樓面荷載,按照單向或者雙向板傳力給框架梁柱,在SAP2000中無此對應功能,因此在轉(zhuǎn)換之前需要將Midas軟件的樓面荷載轉(zhuǎn)換成梁單元荷載進行轉(zhuǎn)換;
(2)在Midas Gen中定義荷載名稱及荷載組合名稱時,應盡量采用英文或拼音方式,SAP2000目前不允許采用中文定義的荷載模式及荷載組合名稱;
(3)Midas Gen與SAP2000桿件默認的局部坐標系不同,如圖4所示,兩種軟件繞X軸相差了90°轉(zhuǎn)角,在模型轉(zhuǎn)換時,當桿件上作用有局部坐標系下的荷載時,需要注意桿件的坐標軸方向問題;
圖4 Midas Gen與SAP2000桿件局部坐標
(4)在Midas Gen中截面與材料不存在對應關(guān)系,即一種截面可以定義多種材料,但在SAP2000中截面與材料是一一對應的關(guān)系,因此在Midas Gen中定義截面時應盡可能的一種截面對應一種材料;
(5)Midas Gen軟件中可以直接定義鋼骨混凝土、鋼管混凝土等復合截面,SAP2000中不能直接定義復合截面,需要利用截面設(shè)計器定義復合截面,程序編制時提供了鋼骨混凝土、圓形鋼管混凝土、矩形鋼管混凝土等常見復合截面的定義功能;
(6)Midas Gen在計算周期振型時,采用的質(zhì)量源自重是按照模型中構(gòu)件的實際材料自重及體積計算而來,而SAP2000在計算質(zhì)量源時會考慮相應恒載工況自重系數(shù)的放大,因此可能出現(xiàn)兩種計算軟件所計算的周期振型出現(xiàn)相差較大的情況;
(7)Midas Gen模型對于鋼與混凝土組合截面默認剛度折減0.8系數(shù),在SAP2000的截面設(shè)計器中默認不對鋼與混凝土組合截面進行剛度折減,當模型中豎向構(gòu)件采用鋼與混凝土組合截面時應注意修改相應的折減系數(shù)。并且,目前按照組合結(jié)構(gòu)設(shè)計規(guī)程,鋼與混凝土組合截面剛度應為直接疊加;
(8)從某種意義上來說,Midas Gen軟件也是一種具有層概念的模型,但考慮到在SAP2000軟件中不具備層的概念,因此Midas Gen中所定義的樓層在本次軟件編制過程中不予以考慮。
為測試軟件的轉(zhuǎn)換效果,選取鐵路某鋼結(jié)構(gòu)雨棚、某中型站房結(jié)構(gòu)的Midas模型進行轉(zhuǎn)換,將轉(zhuǎn)換后的SAP2000模型與Midas模型同時進行計算,比較其分析結(jié)果,進一步判斷其轉(zhuǎn)換效果。
2.1 鋼結(jié)構(gòu)雨棚
選取某鋼結(jié)構(gòu)雨棚結(jié)構(gòu)進行模型轉(zhuǎn)換前后的對比分析,轉(zhuǎn)換前后的Midas Gen模型與SAP2000模型如圖5所示。
圖5 模型對比
幾何及材料截面信息對比如表3所示,由于在SAP2000軟件中,不存在析架單元,將Midas模型中的析架單元采用考慮單元端部剛度修正的梁單元進行模擬。
表3 幾何信息對比
節(jié)點總反力對比如表4所示。
表4 節(jié)點總反力對比
周期對比如表5所示。
表5 周期對比
振型對比如圖6~圖8所示。
圖6 第一階
圖7 第二階
圖8 第三階
特殊截面的對比如圖9所示,本軟件具有轉(zhuǎn)換Midas Gen模型中的鋼骨混凝土、圓形矩形鋼管混凝土等復合截面的功能,可以自動地利用SAP2000的截面設(shè)計器功能建立復合截面。
圖9 鋼管混凝土截面轉(zhuǎn)換
2.2 站房結(jié)構(gòu)
選取某中型站房結(jié)構(gòu)進行模型轉(zhuǎn)換前后的對比分析,該結(jié)構(gòu)上部為鋼結(jié)構(gòu)網(wǎng)架,下部為混凝土結(jié)構(gòu),轉(zhuǎn)換前后的Midas Gen模型與SAP2000模型如圖10所示。
幾何及材料截面信息對比如表6所示。
表6 幾何信息對比
圖10 模型對比
節(jié)點總反力對比如表7所示。
表7 節(jié)點總反力對比
周期對比如表8所示。
表8 周期對比
振型對比如圖11~圖13所示。
圖11 第一階
圖12 第二階
圖13 第三階
通過對鋼結(jié)構(gòu)雨棚、站房結(jié)構(gòu)模型的幾何信息、節(jié)點反力及周期、振型、復合截面等對比可以發(fā)現(xiàn):所選鐵路站房結(jié)構(gòu)的Midas Gen模型向SAP2000轉(zhuǎn)換的效果較好,轉(zhuǎn)換前后模型振型形態(tài)完全一致,恒活載工況下(質(zhì)量源)的節(jié)點總反力相差在1%之內(nèi),滿足工程精度需要,表明模型轉(zhuǎn)換軟件達到預期目標。
軟件編制過程中,通過測試發(fā)現(xiàn)和解決了軟件的不足之處,也使得軟件更加高效,本次軟件編制得出如下結(jié)論。
(1)通過對鐵路站房結(jié)構(gòu)、鐵路雨棚結(jié)構(gòu)等結(jié)構(gòu)的模型轉(zhuǎn)換測試,證明了Midas Gen To SAP2000模型轉(zhuǎn)換軟件的可行性及高效性。將Midas Gen To SAP2000模型轉(zhuǎn)換軟件應用于實際工程設(shè)計中可以大大節(jié)省建模時間,并能保證所建模型的一致性和正確性。
(2)本軟件編制過程中所采用的面向?qū)ο缶幊趟枷搿idas Gen文本文件mgt的識別讀取方法、以及SAP2000的API功能函數(shù)的使用是本次軟件編制過程中的關(guān)鍵技術(shù),這些軟件編制思想也可以為其他軟件模型轉(zhuǎn)換時所參考應用。
(3)由于Midas Gen與SAP2000在程序功能上的
差異,對于可以考慮變通方法處理的Midas Gen To SAP2000模型轉(zhuǎn)換軟件已經(jīng)考慮變通處理,此外對于Midas Gen軟件中層概念、基于樓層風荷載定義及施加、針對設(shè)計的墻單元等功能,在SAP2000中無法實現(xiàn),在軟件編制過程中也暫未考慮。
[1] 中華人民共和國住建部.GB50011―2010建筑抗震設(shè)計規(guī)范[S].北京:中國建筑工業(yè)出版社,2010.
[2] 卜偉斐,胡繼超.淺析SAP與Midas軟件在結(jié)構(gòu)設(shè)計中的應用[J].長春工程學院學報:自然科學版,2011,12(4):10-12.
[3] 張月強,焦春節(jié),丁潔民.復雜高層結(jié)構(gòu)從SAP2000到ABAQUS模型轉(zhuǎn)換的關(guān)鍵問題及軟件開發(fā)研究[J].建筑結(jié)構(gòu),2013,43 (6):54-57.
[4] 北京邁達斯技術(shù)有限公司.Midas Gen工程應用指南[M].北京:中國建筑工業(yè)出版社,2012.
[5] 林述濤,李立.SAP2000 API的功能及應用介紹[J].建筑結(jié)構(gòu), 2007(B09).
[6] 陳慶軍,謝小東,郭金龍,等.利用.NET平臺及SAP2000 API實現(xiàn)空間桿系結(jié)構(gòu)的蒙板功能[J].空間結(jié)構(gòu),2012,18(2):63-69.
[7] 北京金土木軟件技術(shù)有限公司,等.SAP2000中文版使用指南[M].北京:人民交通出版社,2006.
[8] 北京金土木軟件技術(shù)有限公司,等.CSI分析參考手冊[M].北京:人民交通出版社,2004.
Model Conversion Technology of Midas Gen To SAP2000 Used in Railway Station Building Project
SHEN Lei,LI Jing-xue,TAO Yong,PENG Jun
(China Railway Siyuan Survey and Design Group Co.,Ltd.,Wuhan 430063,China)
TU248.1
A
10.13238/j.issn.1004-2954.2014.07.028
1004-2954(2014)07-0120-05
2014-02-28
沈 磊(1985―),男,一級注冊結(jié)構(gòu)工程師,2010年畢業(yè)于東南大學結(jié)構(gòu)工程專業(yè),工學碩士,E-mail:316789796@qq.com。