導(dǎo)讀:纖維模型在用于結(jié)構(gòu)彈塑性分析時,能以較低的計算成本獲得較高的求解精度,且各纖維可以采用材料單軸本構(gòu)關(guān)系,從而避免了確定多維本構(gòu)關(guān)系的困難。墩柱擬靜力加載試驗(yàn)是結(jié)構(gòu)抗震經(jīng)常會做的試驗(yàn),本文以太平洋地震研究中心(PEER)上邊一方形柱試件擬靜力加載試驗(yàn)為例(如圖1),介紹如何在OpenSees中建立墩柱纖維模型并進(jìn)行PushOver分析,并附上詳細(xì)命令流。推薦大家關(guān)注我上新精品課《OpenSees從入門到精通21講:獲得OpenSees有限元建模和抗震分析能力》。
圖1試件尺寸及配筋
一、節(jié)點(diǎn)、約束及坐標(biāo)轉(zhuǎn)換
# 建模基本命令
model BasicBuilder -ndm 3 -ndf 6; # 以平行紙面水平向右為x軸,以豎直向上為y軸,以垂直紙面向外為z軸
file mkdir output; # 建立輸出文件夾
source LibUnits.tcl; # 定義基本單位及各單位間的換算
# 定義節(jié)點(diǎn)與約束:
node 1 0 0 0; # 以橋墩軸線方向?yàn)閥軸
node 2 0 0 0; # 零長度單元
node 3 0 $LCol1 0;
node 4 0 $LCol 0;
fix 1 1 1 1 1 1 1; # 墩底約束
equalDOF 1 2 1 3 5; # 約束橫向和沿y軸方向的旋轉(zhuǎn)
# 坐標(biāo)轉(zhuǎn)換
set ColTransfTag 1; # 坐標(biāo)轉(zhuǎn)換編號
set ColTransfType PDelta; # 坐標(biāo)轉(zhuǎn)換類型,PDelta與Linear的區(qū)別就在于考慮了二階P-Delta效應(yīng)
geomTransf $ColTransfType $ColTransfTag 0 0 -1; # 向量(0,0,-1)是全局坐標(biāo)的(而此時整體坐標(biāo)系就是x右y上z垂直紙面向外),其與x'叉乘(右手規(guī)則)得y',進(jìn)而得z'。所以y'是水平向右的,z'是垂直紙面向內(nèi)的。
圖2 單元劃分
二、材料本構(gòu)
采用可以模擬縱筋屈曲和低周疲勞的Reinforcing Steel模擬鋼筋材料,采用可以計及混凝土抗拉強(qiáng)度的Concrete02模擬混凝土材料,采用Bond_Slip01模擬鋼筋與混凝土之間的粘結(jié)滑移。
# 材料編號 set IDconc 1; # 核心混凝土set IDconcU 2; # 保護(hù)層混凝土set IDreinf 3; # 考慮屈曲的縱筋set IDreinf1 4; # 不考慮屈曲的縱筋set IDBond 5; # 粘結(jié)-滑移材料
1、Reinforcing Steel材料模型
Reinforcing Steel[1]材料模型可以考慮縱筋屈曲和循環(huán)加載導(dǎo)致的強(qiáng)度退化效應(yīng),其本構(gòu)關(guān)系由四部分組成,如圖3-a)。由于Reinforcing Steel模型考慮了鋼筋的初始屈服流幅、包辛格效應(yīng)、應(yīng)變軟化和剛度退化等力學(xué)特征,因此能較好的模擬鋼筋在循環(huán)加載下的滯回曲線,如圖3-b)。圖3 Reinforcing Steel 材料模型#先后定義考慮屈曲和不考慮屈曲兩種鋼筋材料
uniaxialMaterial ReinforcingSteel $IDreinf $Fy $Fu $Es $Esh $esh $eult -GABuck $lsr $beta $r $gama -CMFatigue $Cf $alpha $Cd;
uniaxialMaterial ReinforcingSteel $IDreinf1 $Fy $Fu $Es $Esh $esh $eult -GABuck $lsr_1 $beta $r_1 $gama_1 -CMFatigue $Cf_1 $alpha $Cd_1;
2、Concrete02材料模型
Concrete02材料模型基于修正的Kent-Park模型[2],可以考慮混凝土的抗拉性能和卸載時的剩余剛度,其本構(gòu)關(guān)系如圖4所示。箍筋對混凝土的約束作用通過J. B. Mander約束混凝土模型[3]加以考慮。圖4 Concrete02本構(gòu)曲線
# 先后定義了核心混凝土和保護(hù)層混凝土材料
uniaxialMaterial Concrete02 $IDconc $fpc $epsc0 $fpcu $epsu $lambda $ft $Et ;
uniaxialMaterial Concrete02 $IDconcU $fpc1 $epsc01 $fpcu1 $epsu1 $lambda $ft1 $Et1 ;
3、Bond-SP01材料模型
當(dāng)橋墩試件的鋼筋在平臺底部錨固長度不長時,應(yīng)變滲透效應(yīng)會在墩底一定長度范圍內(nèi)導(dǎo)致橋墩縱筋發(fā)生粘結(jié)滑移變形,故在該區(qū)段附加一個單獨(dú)的零長度單元,其縱筋采用Bond-SP01[4]材料模型模擬。Bond-SP01材料模型的應(yīng)力-滑移骨架曲線與滯回曲線如圖5所示,其中和分別為鋼筋屈服強(qiáng)度和極限強(qiáng)度,為鋼筋應(yīng)力達(dá)到屈服強(qiáng)度時鋼筋與混凝土界面處的鋼筋滑移值,為鋼筋應(yīng)力達(dá)到極限強(qiáng)度時鋼筋與混凝土界面處的鋼筋滑移值。
圖5 Bond_SP01材料模型
uniaxialMaterial Bond_SP01 $IDBond $Fy $Sy $Fu $Su $b $R;
三、纖維截面劃分
橋墩截面劃分為保護(hù)層混凝土、核心混凝土和縱向鋼筋三種纖維,如下圖6:
圖6 纖維截面劃分
粘結(jié)滑移段截面纖維劃分與鋼混段相同,只是采用的鋼筋本構(gòu)不同,不再贅述。# 截面編號
set ColSecTagFiber 1; # 鋼混段截面編號
set ColSecTagFiberBond 2; # 粘結(jié)滑移段截面編號
注意:最新的OpenSEES要求定義纖維截面時即指定扭轉(zhuǎn)剛度,否則會報錯!
section Fiber $ColSecTagFiber -GJ [expr 1.7E08*$Pa*$m4] {
# 核心混凝土
patch rect $IDconc $nfY $nfZ -$coreY -$coreZ $coreY $coreZ
# 保護(hù)層混凝土(劃分纖維的時候邊界點(diǎn)順序先后無妨,y、z坐標(biāo)都是從小到大,從大到小均可,但定義單元的時候得注意順序)
patch rect $IDconcU [expr $nfY+4] 2 -$coverY -$coverZ $coverY -$coreZ
patch rect $IDconcU [expr $nfY+4] 2 -$coverY $coreZ $coverY $coverZ
patch rect $IDconcU 2 $nfZ -$coverY -$coreZ -$coreY $coreZ
patch rect $IDconcU 2 $nfZ $coreY -$coreZ $coverY $coreZ
#定義了墩柱繞z軸彎曲轉(zhuǎn)動時,受壓排考慮屈曲和繞y軸彎曲不考慮兩種鋼筋
layer straight $IDreinf $numbarColZ $barAreaCol -$coreYBar $coreZBar -$coreYBar -$coreZBar
layer straight $IDreinf $numbarColZ $barAreaCol $coreYBar $coreZBar $coreYBar -$coreZBar
layer straight $IDreinf1$numbarColY $barAreaCol -$coreYBar1 -$coreZBar $coreYBar1-$coreZBar
layer straight $IDreinf1$numbarColY $barAreaCol -$coreYBar1$coreZBar $coreYBar1 $coreZBar
}
四、單元定義
1、柔度法單元
與剛度法單元相比,柔度法單元在任意狀態(tài)下單元力平衡方程都不會產(chǎn)生有限元離散誤差,且在相同精度要求下,柔度法需要更少的單元和結(jié)構(gòu)總自由度。采用柔度法單元時,整個橋墩可只采用一個單元,單元內(nèi)使用4個截面積分點(diǎn);但為防止應(yīng)變集中,本文采取Calabrese[5]和Kashani[6]的建議增加一個長度為3倍鋼筋屈曲長度的纖維梁柱單元,且單元內(nèi)使用3個截面積分點(diǎn),如圖3。# 定義非線性柔度法梁柱單元 ------------------------------------
element nonlinearBeamColumn 2 2 3 $numIntgrPts1 $ColSecTagFiber $ColTransfTag -iter $maxIters $Tol;
element nonlinearBeamColumn 3 3 4 $numIntgrPts2 $ColSecTagFiber $ColTransfTag -iter $maxIters $Tol;
2、零長度單元
顧名思義,零長度單元與普通單元的區(qū)別就在于兩節(jié)點(diǎn)的坐標(biāo)相同,故長度為零。值得指出的是,兩個節(jié)點(diǎn)的坐標(biāo)只是初始相同,受力分析過程中也會有相對位移。五、PushOver分析#(由全局坐標(biāo)系的向量($x1 $x2 $x3)定義局部坐標(biāo)系的x軸),同理,由全局坐標(biāo)系的向量($yp1 $yp2 $yp3)定義局部坐標(biāo)系y軸 ,
element zeroLengthSection 1 1 2 $ColSecTagFiberBond -orient 0 1 0 1 0 0; # 通過此處定義后,零長度單元的局部坐標(biāo)系與柱單元完全相同了
# 施加軸向力
set IDctrlNode 4; # 在結(jié)點(diǎn)4上加載;
set PCol [expr 968*$kN]; #此處按軸壓比=0.1施加軸向力;
pattern Plain 1 Linear {
load $IDctrlNode 0 -$PCol 0 0 0 0 ;
};
constraints Transformation ; # 多點(diǎn)約束,不能用Plain
numberer RCM;
system BandGeneral;
set Tol 1.0e-6; # 精度(絕對誤差)
set maxNumIter 200; # 最大迭代數(shù)
set printFlag 1; # 計算過程在DOS屏幕上輸出信息
test NormDispIncr $Tol maxNumIter printFlag;
algorithm Newton;
set NstepGravity 10; # number of load steps
set DGravity [expr 1./$NstepGravity];
integrator LoadControl $DGravity;
analysis Static;
analyze $NstepGravity;
loadConst -time 0.0; # 保持(重力)荷載不變,擬時間重置為零
# 擬靜力加載 (篇幅所限,此處僅為示意,實(shí)際需循環(huán)往復(fù)作用多次)
pattern Plain 2 Linear {
load $IDctrlNode 1 0 0 0 0 0;
};
integrator DisplacementControl $IDctrlNode 1 0.001
analyze 2000;
六、記錄輸出文件
采用Recorder命令提取墩頂位移和墩底反力:值得指出的是,需將recorder命令放在分析命令之前,才能記錄到分析結(jié)果。最終得到的數(shù)值模擬與試驗(yàn)結(jié)果的滯回曲線比較如圖7所示,可見數(shù)值模擬結(jié)果與試驗(yàn)符合較好。recorder Node -file output/disp4.out -node 4 -dof 1 2 3 disp;
recorder Node -file output/reaction2.out -node 2 -dof 1 2 3 reaction;
圖7 數(shù)值模擬與試驗(yàn)滯回曲線比較
七、OpenSees從入門到精通
本文完整命令流及其他案例視頻講解可至仿真秀官網(wǎng)本人主頁,我的原創(chuàng)精品課《OpenSees從入門到精通21講》查看。筆者針對OpenSEES學(xué)習(xí)資料匱乏、上手難的問題,本課程逐行詳細(xì)講解如何采用OpenSEES建模與計算分析。課程內(nèi)容包括命令解釋、案例演示以及使用OpenSees進(jìn)行抗震分析的一些感悟,本課程將持續(xù)更新,附件里有全部建模代碼和課件,也歡迎感興趣的朋友加入仿真秀OpenSees軟件用戶交流討論(在本公眾號對話框回復(fù)OpenSees掃碼進(jìn)群交流)。-
材料
+關(guān)注
關(guān)注
3文章
1255瀏覽量
27409 -
模型
+關(guān)注
關(guān)注
1文章
3305瀏覽量
49220
原文標(biāo)題:教你從零開始學(xué)OpenSees有限元建模和抗震分析能力
文章出處:【微信號:sim_ol,微信公眾號:模擬在線】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論