胡興宇
(土木工程學(xué)院(重慶交通大學(xué)), 重慶 400041)
在模擬車輛荷載計(jì)算時(shí),移動(dòng)荷載功能是必不可少的。ABAQUS中用戶界面可以通過(guò)在結(jié)構(gòu)表面通過(guò)partution命令創(chuàng)建移動(dòng)荷載的軌跡,通過(guò)相鄰的矩形方塊組成,根據(jù)移動(dòng)的速度和軌跡距離來(lái)激活相應(yīng)的矩形方塊荷載,但是如果軌跡長(zhǎng)度非常長(zhǎng),會(huì)導(dǎo)致工作相當(dāng)繁瑣,分析步可能會(huì)成百上千,俗稱“荷載移動(dòng)帶”。子程序可以完全解決這些問(wèn)題,并且可以根據(jù)用戶需要的方式繼續(xù)模擬,大大減少了建模時(shí)間,計(jì)算結(jié)果十分精確,避免了多個(gè)分析步造成的錯(cuò)誤。
模擬車輛荷載的作用首先需要確定作用面積和速度,然而在ABAQUS軟件中,作用面積是不能直接人為選定的,需要用戶在模擬荷載時(shí)簡(jiǎn)單創(chuàng)建處荷載整個(gè)過(guò)程需要經(jīng)過(guò)的軌跡,之后只需要在子程序中賦予每一個(gè)車輛的長(zhǎng)度即可。
Abaqus已經(jīng)可以通過(guò)python語(yǔ)言進(jìn)行功能開(kāi)發(fā)了,但本文采用通用數(shù)學(xué)Fortran語(yǔ)言進(jìn)行編寫。在用戶手冊(cè)中,荷載類型主要用DLOAD和UTRACLOAD兩種,在車輛荷載模擬中,DLOAD主要用于模擬車輪豎向荷載,UTRACLOAD用于模擬車輪水平摩擦荷載。
DLOAD和UTRACLOAD編寫格式類似,本節(jié)以
DLOAD為例編寫。
DLOAD實(shí)現(xiàn)格式如下:
SUBROUTINE DLOAD(F,KSTEP,KINC,TIME,NOEL,NPT,LAYER,KSPT,
1 COORDS,JLTYP,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION TIME(2), COORDS(3)
CHARACTER*80 SNAME
USER’S CODES
RETURN
END
上述代碼中其實(shí)部分是子程序的固定模式,F(xiàn)代表的荷載值,KSTEP代表在第幾個(gè)分析步時(shí)被調(diào)用,KINC即是代表增量步,TIME(1)和TIME(2)分別代表當(dāng)前時(shí)間和總時(shí)間,這對(duì)用戶控制變化荷載極為有用,NOEL和NPT分別代表單元號(hào)和積分點(diǎn)號(hào),COORDS(I)用于激活移動(dòng)荷載的方向,I=1、2、3分別代表下沿x、y、z方向與移動(dòng),用戶只用通過(guò)IF從句賦予F即可模擬出荷載移動(dòng)。
車輛通過(guò)路面或者橋面時(shí),遇到路面不平整將會(huì)產(chǎn)生跳車現(xiàn)象,本節(jié)根據(jù)這一現(xiàn)象模擬車輛后輪對(duì)橋面板的沖擊進(jìn)行模擬。
模型參數(shù):混凝土材料選用C40,橋面板長(zhǎng)為10m,寬為4m,厚度為0.4m,鋼筋采用HRB335,分布在橋面板上層和下層,跳車車輛荷載峰值取30KN,采用文獻(xiàn)中公式推導(dǎo)曲線,作用時(shí)間為0.03s。
由于跳車荷載時(shí)隨著時(shí)間不斷變化的,本文通過(guò)得到的沖擊荷載曲線進(jìn)行公式擬合,得到相應(yīng)的公式,再通過(guò)一下條件語(yǔ)句賦予:
IF((X_NOW.GE.ROLL_1_1).AND.(X_NOE.LE.ROLL_1_0))THEN IF(KSTEP.EQ.1)THEN F=F(t) END IF ELSE F=0.0 END IF
將由于擬合函數(shù)的自變量賦予成時(shí)間t,可以實(shí)現(xiàn)荷載隨著時(shí)間增長(zhǎng)而不斷變化,再其余未賦予荷載的路徑上均為0。
由于車輛再行駛過(guò)程中沖擊時(shí)間很小,其余時(shí)間均屬于勻速狀態(tài),作用在橋面板的荷載時(shí)不變動(dòng)的,需要在REAL關(guān)鍵字賦予相應(yīng)的時(shí)間TIME1、TIME2等控制荷載移動(dòng)過(guò)程的時(shí)間控制,如下所示實(shí)現(xiàn):
Real*6 TIME1、TIME2、TIME3、V_CAR..
V_CAR=10E3 …
IF((X_NOW.GE.ROLL_1_1).AND.(X_NOE.LE.ROLL_1_0))THEN
IF(KSTEP.EQ.1)THEN
F=0.1
ELSE IF(KSTEP.EQ.2)THEN
F=SIN(2*3.14/0.06*(TIME(2)-0.1)) !擬合公式
ELSE IF(KSTEP.EQ.3)THEN
F=0.1
END IF ELSE F=0.0 END IF
上述可以實(shí)現(xiàn)車輛勻速過(guò)程中突然的跳車沖擊,但需要用戶在step中賦予三段分析步來(lái)描述不同荷載作用狀態(tài)。
計(jì)算過(guò)程采用動(dòng)力隱式模塊進(jìn)行求解,三個(gè)分析步分別設(shè)置為0.1s、0.03s和0.87s,經(jīng)計(jì)算得到跳車時(shí)橋面板跨中的加速度時(shí)程曲線。
根據(jù)結(jié)果得知,車輛荷載在開(kāi)始到0.1s是勻速前進(jìn),到達(dá)0.1s時(shí)發(fā)生跳車現(xiàn)象,跨中豎向加速度增大,振動(dòng)響應(yīng)劇烈,0.13s之后,隨著車輛繼續(xù)行駛,加速度開(kāi)始下降,振動(dòng)趨勢(shì)穩(wěn)定至0.5s,此時(shí)車輛荷載到達(dá)跨中,此處由于車輪駛過(guò)加速度曲線較為密集,0.5s后加速度值逐漸減小。可知子程序模擬移動(dòng)沖擊荷載是有效可行的。
從odb文件中提取得到橋面板的等效應(yīng)力云圖,是可以明顯看出車輛沖擊的部位出現(xiàn)了明顯的壓應(yīng)力,其值為0.2MPa左右。
本文主要介紹了DLOAD子程序的編寫和運(yùn)行過(guò)程,UTRACLOAD使用方法與其類似,ABAQUS平臺(tái)提供了非常人性化的界面與命令,用戶可以根據(jù)自己的需要對(duì)子程序進(jìn)行編寫。通過(guò)全文的簡(jiǎn)單介紹得到了一下幾點(diǎn)結(jié)論:
1)子程序的使用替代了傳統(tǒng)的“荷載移動(dòng)帶”的方法,為設(shè)計(jì)節(jié)約了時(shí)間,同時(shí)減少了錯(cuò)誤的發(fā)生,是種有效可行的方法。
2)通過(guò)Fortran語(yǔ)言可以解決大部分用戶的需求,本文只模擬了一對(duì)車輪荷載,如果需要模擬多對(duì)車輪荷載,需要對(duì)代碼進(jìn)行補(bǔ)充,引入DISTANCE_ROLL參數(shù)來(lái)賦予前后車輪邊之間的距離,便可以實(shí)現(xiàn)多個(gè)荷載模擬。
3)本文編寫的子程序只對(duì)靜力通用和動(dòng)力隱式分析有效,但對(duì)于動(dòng)力顯示是無(wú)效的,由于隱式和顯示的求解方程不同,導(dǎo)致子程序格式有些差異。
綜上所述,ABAQUS平臺(tái)功能強(qiáng)大,需要用戶對(duì)編程語(yǔ)言較為熟悉,這樣才能將許多繁瑣的工作變得簡(jiǎn)單。