导读:纤维模型在用于结构弹塑性分析时,能以较低的计算成本获得较高的求解精度,且各纤维可以采用材料单轴本构关系,从而避免了确定多维本构关系的困难。墩柱拟静力加载试验是结构抗震经常会做的试验,本文以太平洋地震研究中心(PEER)上边一方形柱试件拟静力加载试验为例(如图1),介绍如何在OpenSees中建立墩柱纤维模型并进行PushOver分析,并附上详细命令流。推荐大家关注我上新精品课《OpenSees从入门到精通21讲:获得OpenSees有限元建模和抗震分析能力》。
图1 试件尺寸及配筋
# 建模基本命令
model BasicBuilder -ndm 3 -ndf 6; # 以平行纸面水平向右为x轴,以竖直向上为y轴,以垂直纸面向外为z轴
file mkdir output; # 建立输出文件夹
source LibUnits.tcl; # 定义基本单位及各单位间的换算
# 定义节点与约束:
node 1 0 0 0; # 以桥墩轴线方向为y轴
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轴方向的旋转
# 坐标转换
set ColTransfTag 1; # 坐标转换编号
set ColTransfType PDelta; # 坐标转换类型,PDelta与Linear的区别就在于考虑了二阶P-Delta效应
geomTransf $ColTransfType $ColTransfTag 0 0 -1; # 向量(0,0,-1)是全局坐标的(而此时整体坐标系就是x右y上z垂直纸面向外),其与x'叉乘(右手规则)得y',进而得z'。所以y'是水平向右的,z'是垂直纸面向内的。
# 材料编号 set IDconc 1; # 核心混凝土set IDconcU 2; # 保护层混凝土set IDreinf 3; # 考虑屈曲的纵筋set IDreinf1 4; # 不考虑屈曲的纵筋set IDBond 5; # 粘结-滑移材料
#先后定义考虑屈曲和不考虑屈曲两种钢筋材料
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;
# 先后定义了核心混凝土和保护层混凝土材料
uniaxialMaterial Concrete02 $IDconc $fpc $epsc0 $fpcu $epsu $lambda $ft $Et ;
uniaxialMaterial Concrete02 $IDconcU $fpc1 $epsc01 $fpcu1 $epsu1 $lambda $ft1 $Et1 ;
当桥墩试件的钢筋在平台底部锚固长度不长时,应变渗透效应会在墩底一定长度范围内导致桥墩纵筋发生粘结滑移变形,故在该区段附加一个单独的零长度单元,其纵筋采用Bond-SP01[4]材料模型模拟。Bond-SP01材料模型的应力-滑移骨架曲线与滞回曲线如图5所示,其中和分别为钢筋屈服强度和极限强度,为钢筋应力达到屈服强度时钢筋与混凝土界面处的钢筋滑移值,为钢筋应力达到极限强度时钢筋与混凝土界面处的钢筋滑移值。
uniaxialMaterial Bond_SP01 $IDBond $Fy $Sy $Fu $Su $b $R;
桥墩截面划分为保护层混凝土、核心混凝土和纵向钢筋三种纤维,如下图6:
图6 纤维截面划分
# 截面编号
set ColSecTagFiber 1; # 钢混段截面编号
set ColSecTagFiberBond 2; # 粘结滑移段截面编号
注意:最新的OpenSEES要求定义纤维截面时即指定扭转刚度,否则会报错!
section Fiber $ColSecTagFiber -GJ [expr 1.7E08*$Pa*$m4] {
# 核心混凝土
patch rect $IDconc $nfY $nfZ -$coreY -$coreZ $coreY $coreZ
# 保护层混凝土(划分纤维的时候边界点顺序先后无妨,y、z坐标都是从小到大,从大到小均可,但定义单元的时候得注意顺序)
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轴弯曲转动时,受压排考虑屈曲和绕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
}
# 定义非线性柔度法梁柱单元 ------------------------------------
element nonlinearBeamColumn 2 2 3 $numIntgrPts1 $ColSecTagFiber $ColTransfTag -iter $maxIters $Tol;
element nonlinearBeamColumn 3 3 4 $numIntgrPts2 $ColSecTagFiber $ColTransfTag -iter $maxIters $Tol;
#(由全局坐标系的向量($x1 $x2 $x3)定义局部坐标系的x轴),同理,由全局坐标系的向量($yp1 $yp2 $yp3)定义局部坐标系y轴 ,
element zeroLengthSection 1 1 2 $ColSecTagFiberBond -orient 0 1 0 1 0 0; # 通过此处定义后,零长度单元的局部坐标系与柱单元完全相同了
# 施加轴向力
set IDctrlNode 4; # 在结点4上加载;
set PCol [expr 968*$kN]; #此处按轴压比=0.1施加轴向力;
pattern Plain 1 Linear {
load $IDctrlNode 0 -$PCol 0 0 0 0 ;
};
constraints Transformation ; # 多点约束,不能用Plain
numberer RCM;
system BandGeneral;
set Tol 1.0e-6; # 精度(绝对误差)
set maxNumIter 200; # 最大迭代数
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; # 保持(重力)荷载不变,拟时间重置为零
# 拟静力加载 (篇幅所限,此处仅为示意,实际需循环往复作用多次)
pattern Plain 2 Linear {
load $IDctrlNode 1 0 0 0 0 0;
};
integrator DisplacementControl $IDctrlNode 1 0.001
analyze 2000;
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;
以下是我精品课安排
OpenSees从入门到精通21讲:获得OpenSees有限元建模和抗震分析能力
学会OpenSees命令解释和案例演示;
获得课程有关的模型和相关学习资料;
订阅用户可以加入讲师VIP用户**流,还可获得课程相关资料,并提供知识圈答疑服务等。
OpenSees学员;
[1]Mazzoni, S., F. McKenna, M.H. Scott, et al., OpenSees command language manual. 2006. 264.
[2]Scott, B.D., R. Park, and M.J. Priestley. Stress-strain behavior of concrete confined by overlapping hoops at low and high strain rates. in Journal Proceedings. 1982.
[3]Mander, J.B., M.J. Priestley, and R.J.J.o.s.e. Park, Theoretical stress-strain model for confined concrete. 1988. 114(8): p. 1804-1826.
[4]Zhao, J. and S.J.A.s.j. Sritharan, Modeling of strain penetration effects in fiber-based analysis of reinforced concrete structures. 2007. 104(2): p. 133.