杜 松 何 靜
(重慶市交通工程質(zhì)量檢測有限公司 重慶 400799)
現(xiàn)階段橋梁結(jié)構(gòu)橫橋向等效靜陣風荷載按照JTG/T 3360-01-2018 《公路橋梁抗風設(shè)計規(guī)范》規(guī)定進行計算[1],計算過程需要不斷查閱圖紙與規(guī)范,且變截面結(jié)構(gòu)的橫橋向等效靜陣風荷載計算量十分巨大,整個計算過程相當繁瑣。為了降低工程人員計算難度,提高計算效率,規(guī)范針對主梁構(gòu)件基準高度、橋墩構(gòu)件基準高度等提出了簡化計算方法。本文針對橫橋向等效靜陣風荷載簡化計算方法的費時與不足,提出了針對各單元實際構(gòu)件尺寸及實際地形高度的橫橋向等效靜陣風荷載精細化計算方法,并利用Python語言、PySide2和midas Civil計算軟件進行了交互式程序設(shè)計開發(fā)。
首先,用戶應(yīng)將需進行橫橋向等效靜陣風荷載計算的midas Civil模型導(dǎo)出為MCT文件;進入程序后,選擇需要計算的MCT文件,程序處理MCT文件獲取單位、節(jié)點、單元、截面、約束等參數(shù);輸入風速參數(shù)信息,選擇地表類別;輸入地面信息,選擇地面或水面高程信息輸入;構(gòu)件信息定義檢查:檢查程序定義midas Civil單元為梁、墩/塔、索、拱是否正確,若發(fā)現(xiàn)錯誤便進行修正;最后導(dǎo)出成果,包括橫橋向等效靜陣風荷載MCT文件成果。程序設(shè)計總流程圖見圖1。
程序針對具體橋梁結(jié)構(gòu)進行橫橋向等效靜陣風荷載分析,則需要提供具體橋梁結(jié)構(gòu)信息,midas Civil模型中包含橋梁結(jié)構(gòu)中的結(jié)構(gòu)尺寸、截面尺寸,將midas Civil計算模型中包含的結(jié)構(gòu)信息進行提取,而后輸入風荷載計算相關(guān)參數(shù),即可針對對象完成橫橋向等效靜陣風荷載計算。MCT文件載入及參數(shù)提取版塊詳細設(shè)計與開發(fā)流程圖見圖2。MCT文件是midas Civil按照固定格式編排的midas Civil模型數(shù)據(jù)文件,其中包含了用戶計算模型的所有信息,其記錄信息的方式為文本,編碼格式采用ANSI編碼。
圖2 載入MCT文件及數(shù)據(jù)整合流程圖
獲取到MCT文本后,將其封裝為以行為單元的元組,對元組各行進行遍歷以獲取關(guān)鍵參數(shù)。所需提取的關(guān)鍵參數(shù)包括單位、節(jié)點、單元、截面、約束信息數(shù)據(jù)。以提取節(jié)點數(shù)據(jù)為例:MCT節(jié)點段落包含信息為所有節(jié)點號及該節(jié)點X、Y、Z坐標值。將MCT文本元組傳入函數(shù),遍歷行捕獲“*NODE ; Nodes ”單位段落頭文本,該段落頭至空字符行“ ”之間,除說明信息外即為節(jié)點信息;跳過說明文件后,將空字符行“ ”之前各行數(shù)據(jù)規(guī)整去除首尾空字符后添加至節(jié)點列表;然后將節(jié)點列表各行字符串以“,”分割為列表,為方便后續(xù)坐標值做計算,將列表中X、Y、Z文本值強轉(zhuǎn)為浮點型。此時列表作為返回值內(nèi)容包括節(jié)點號、X、Y、Z值。程序設(shè)計中各功能以不同函數(shù)進行封裝,提取節(jié)點數(shù)據(jù)函數(shù)代碼如下。
def list_nodes(doc_mct):
temp_list_nodes=[]
i=0
while True:
if doc_mct[i] == '*NODE;
Nodes ':
j=i+2
while doc_mct[j] != ' ':
line=doc_mct[j]
line=line.strip()
temp_list_nodes.append(line)
j+=1
break
i+=1
k=0
while k temp_list_nodes[k]=temp_list_nodes[k].split(", ") i=1 while i<4: temp_list_nodes[k][i]=float(temp_list_nodes[k][i]) i+=1 k+=1 return temp_list_nodes 該程序圖形用戶界面設(shè)計采用PySide2中TabWigdet搭建底層框架,MCT文件載入及參數(shù)提取版塊設(shè)計圖見圖3。 圖3 MCT文件載入界面設(shè)計圖 在程序主函數(shù)下,首先將QApplication實例化,導(dǎo)入Ui窗口,將Ui主窗口顯示并進入QApplication的事件處理循環(huán),接收用戶的輸入事件,并且分配給相應(yīng)的對象去處理,并插入該部分事件響應(yīng)聯(lián)系函數(shù)。程序主函數(shù)該部分代碼如下。 if__name__ == '__main__': app = QApplication(sys.argv) ui = QUiLoader().load('風荷載設(shè)計Ui文件.ui') ui.pushButton.clicked.connect(tab_1.open_mct) # “選擇文件”按鈕 ui.show() sys.exit(app.exec_()) 風速參數(shù)信息輸入版塊內(nèi)容包括橋址選取,關(guān)聯(lián)該地區(qū)重現(xiàn)期10年及100年的設(shè)計風速,確定橋梁抗風風險區(qū)域;選擇地表類別以確定地表粗糙度系數(shù)α0、地表粗糙高度z0、基本風速地表類別轉(zhuǎn)換系數(shù)kc;完成橋梁設(shè)計基本風速計算。風速參數(shù)信息輸入版塊圖形化界面設(shè)計圖見圖4。 圖4 風速參數(shù)信息輸入版塊界面設(shè)計圖 根據(jù)JTG/T 3360-01-2018 《公路橋梁抗風設(shè)計規(guī)范》,橋梁的抗風設(shè)計按照W1風作用水平和W2風作用水平確定。根據(jù)JTG/T 3360-01-2018 《公路橋梁抗風設(shè)計規(guī)范》附錄A.3,將各站臺10年及100年重現(xiàn)期風速值信息錄入字典(dict),放入主函數(shù)下?!帮L速值”文本框內(nèi)容根據(jù)選擇的橋址自動填入,亦可自定義輸入風速值。當站臺選擇或不同重現(xiàn)期風速值輸入完成后,程序即可根據(jù)基本風速值自動確定橋梁抗風風險區(qū)域及抗風風險系數(shù)kf;地表選擇完成后,程序可確定參數(shù)地表粗糙度系數(shù)α0、地表粗糙高度z0、基本風速地表類別轉(zhuǎn)換系數(shù)kc的取值,同時根據(jù)式Us10=kcU10計算得出不同重現(xiàn)期橋梁設(shè)計基本風速值[2]。 橋梁結(jié)構(gòu)所在典型橋址為江面或峽谷,江面地面信息為等高水面,峽谷地面高程則隨里程樁號而變化,且部分峽谷中包括河流。關(guān)于地形影響之一就是構(gòu)件中各單元基準高度Z。關(guān)于橋梁各構(gòu)件基準高度Z,本文將以midas Civil各單元為基準,以各單元兩端實際距離地面高度為其基準高度進行橫橋向等效靜陣風荷載理論計算。所以為了得到各個單元實際距離地面高度,需要輸入實際地面線和水面高程。地面信息輸入版塊圖形化界面設(shè)計圖見圖5。 圖5 風速參數(shù)信息輸入版塊界面設(shè)計圖 地面線信息輸入完成后,需要將該界面數(shù)據(jù)進行整合。通常,里程樁號是以百米樁號“K19+420.000”的格式表示,因此對于里程樁號,需要將其“K”“+”“ZK”等符號去除保留數(shù)字以進行相關(guān)運算。獲得橋址處地面線或水位之后,即可對midas Civil模型單元進行構(gòu)件基準高度計算。 不同構(gòu)件的橫橋向等效靜陣風荷載計算式及相關(guān)參數(shù)取值也不同[3]。因此,需將結(jié)構(gòu)中單元進行分類,針對不同類型的單元對其選擇不同的計算參數(shù)及公式。構(gòu)件信息定義版塊圖形化界面設(shè)計圖見圖6。 圖6 構(gòu)件信息定義版塊界面設(shè)計圖 為提高程序可操作性,我們將該頁面中所有表格賦予雙擊打開子單元格的功能,并將子單元格賦予右鍵產(chǎn)生子菜單用于復(fù)制粘貼選項,子單元格及右鍵子菜單示意圖見圖7;在該頁面建立結(jié)構(gòu)單元三維圖,進入該界面前程序會對各單元進行初步構(gòu)件類型判斷,并將各單元構(gòu)件類型輸入構(gòu)件信息定義表格中,且在模型窗口以不同的顏色賦予不同類型的單元以避免錯誤。 圖7 子單元格及右鍵子菜單示意圖 如此計算得各單元針對實際地形的構(gòu)件基準高度、主梁水平加載長度及墩塔結(jié)構(gòu)高度后,進而按照JTG/T 3360-01-2018 《公路橋梁抗風設(shè)計規(guī)范》式(6.2.6-1)、式(5.2.1)、式(5.3.1)、式(5.4.1)計算構(gòu)件基準高度處的設(shè)計基準風速Ud、等效靜陣風風速Ug[4]。 對于主梁單元,橫橋向風作用下主梁單位長度上的橫橋向等效靜陣風荷載Fg按JTG/T 3360-01-2018 《公路橋梁抗風設(shè)計規(guī)范》式(5.3.1)計算。通常,在橋梁主梁建模時,為保證midas Civil模型主梁豎曲線符合實際情況,對于變截面主梁采用截面偏心設(shè)置為上部的形式來滿足該要求。而在橫橋向等效靜陣風荷載以梁單元荷載在結(jié)構(gòu)模型中加載時,加載位置為單元軸線,如此便使得在結(jié)構(gòu)上的加載位置位于橋面而非形心,由此便產(chǎn)生了偏心距為截面形心至橋面高度的附加扭矩,因此該附加扭矩可以通過簡化為荷載大小乘以0.5倍截面高度計算,并以風荷載反方向?qū)?jié)點進行扭矩加載以抵消該附加扭矩。 墩(塔)單元、索單元、拱單元信息處理內(nèi)容與梁單元無較大差異,因此不再展開敘述。 成果輸出內(nèi)容包括單位信息、橫橋向等效靜陣風荷載信息、荷載組、荷載工況、風荷載關(guān)鍵信息文本。橫橋向等效靜陣風荷載計算基本單位為N/m,因此力單位與長度單位分別選擇N、m。橫橋向等效靜陣風荷載應(yīng)按照W1風作用水平和W2風作用水平進行荷載工況分類,且將2種不同風作用水平中的荷載按不同荷載組進行分類。midas Civil軟件靜力荷載工況包括了與車輛活荷載同時作用的風荷載(WL)和風荷載(W),在荷載組合時,軟件能根據(jù)不同的荷載工況自動進行荷載組合,因此W1風作用水平選擇車輛活荷載同時作用的風荷載(WL)類型,W2風作用水平選擇風荷載(W)類型。橫橋向等效靜陣風荷載按照梁單元荷載(單元)中梯形荷載類型添加到各單元上,荷載方向采用整體坐標系。 保存文件使用QFileDialog靜態(tài)方法getSaveFileName,文件保存類型同樣為MCT文件,該文件使用open方法寫入模式,將單位信息、橫橋向等效靜陣風荷載信息、荷載組、荷載類型按照midas Civil MCT文本該部分內(nèi)容固定格式寫入,等效靜陣風荷載信息包括各個構(gòu)件i端及j端橫橋向等效靜陣風荷載值、加載方向、其屬于的荷載組及荷載類型。 以新疆烏魯木齊某在建連續(xù)剛構(gòu)橋為例對程序進行實際應(yīng)用,該橋梁結(jié)構(gòu)為連續(xù)梁-剛構(gòu)形式,跨徑布置采用70 m+100 m+70 m+100 m+70 m不等跨形式進行布置,主墩最高高度達142 m。本橋平曲線平面位于半徑R=1 950 m右偏圓曲線接A=660 m緩和曲線接直線段上,其中主橋樁號ZK54+660.000-ZK54+823.780為A=660 m的緩和曲線段,ZK54+823.780-ZK55+074.000為直線段。橋址區(qū)位于構(gòu)造侵蝕中山溝谷、山麓斜坡地貌區(qū),地形相對起伏較大,山頂多呈脊狀,溝谷切割較深,為“V”形谷,主梁設(shè)計高程與地面高程最大差值達148.41 m。其立面布置圖見圖8。 圖8 主橋立面布置圖(單位:m) 首先將該橋midas Civil計算模型導(dǎo)出MCT文件,通過本文設(shè)計程序載入MCT文件,選擇橋址信息、選擇地表類別、輸入地面信息、檢查構(gòu)件類別后導(dǎo)出MCT文件,將MCT文件通過midas Civil MCT命令窗口加載到模型上,文件加載后,靜力荷載工況中導(dǎo)入了風荷載W1(civil wind loading)與風荷載W2(civil wind loading)2種工況,將橫橋向等效靜陣風荷載按照梁單元荷載添加到結(jié)構(gòu)上,且橫橋向等效靜陣風荷載按W1風作用水平和W2風作用水平分為2種荷載組。以W1風作用水平為例,W1風作用水平下結(jié)構(gòu)上的橫橋向等效靜陣風荷載加載圖見圖9。 圖9 W1風作用水平下結(jié)構(gòu)風荷載(單位:kN/m) 在上述剛構(gòu)橋橫橋向等效靜陣風荷載計算過程中,計算流程用時見表1。同時針對該橋梁,本文以傳統(tǒng)自主計算與程序計算時間作對比,計算時間累計對比圖見圖10;以W2風作用水平下主梁橫橋向最大負彎矩為例,對比二者計算結(jié)果上的差異,最大負彎矩對比圖見圖11。 表1 程序計算剛構(gòu)橋流程表 min 圖10 計算時間累計對比圖 圖11 W2風作用水平下Z方向最大負彎矩對比圖 由圖10可以看出,程序計算剛構(gòu)橋橫橋向等效靜陣風荷載效率相比自主計算提高了16.6倍。且自主計算過程需要反復(fù)查閱圖紙中橋梁各設(shè)計參數(shù)、計算模型中構(gòu)件尺寸與規(guī)范中橫橋向等效靜陣風荷載相關(guān)計算式及參數(shù),計算過程十分繁瑣,而使用程序計算橫橋向等效靜陣風荷載不需要翻閱規(guī)范,所有規(guī)范中計算參數(shù)與基本風速值數(shù)據(jù)已存入計算程序中,相比自主計算,程序計算橫橋向等效靜陣風荷載便捷性與效率得到了極大提升。 1) 利用Python語言與PySide2設(shè)計開發(fā)了精細化橫橋向等效靜陣風荷載計算程序,該程序通過MCT文件讀取midas Civil結(jié)構(gòu)模型中各單元、截面等信息及輸入實際地形參數(shù),計算其構(gòu)件基準高度、構(gòu)件尺寸等參數(shù),考慮了橋梁縱坡、截面轉(zhuǎn)角、主梁腹板傾角、空氣密度等因素。 2) 程序與Word、Excel、midas Civil文件進行交互,運用該程序?qū)蛄航Y(jié)構(gòu)進行橫橋向等效靜陣風荷載計算相比于傳統(tǒng)簡化自主計算,橫橋向等效靜陣風荷載計算及midas Civil模型中荷載加載時間從數(shù)小時減少到10 min左右,效率提高16.6倍,且準確性得到保障。 3) 該程序極大地減輕了設(shè)計工作者的計算工作量,節(jié)省大量時間,甚至對于橫橋向等效靜陣風荷載計算不熟悉的工程人員亦可對程序進行計算操作。該程序能夠大量節(jié)約橫橋向等效靜陣風荷載計算時間及midas Civil橫橋向等效靜陣風荷載加載時間,體現(xiàn)了該設(shè)計程序計算及加載的高效性。2.2 風速參數(shù)信息輸入
2.3 地面線信息輸入
2.4 構(gòu)件信息定義
2.5 等效靜陣風荷載計算及成果輸出
3 程序測試與應(yīng)用
4 結(jié)論