2024年4月26日发(作者:哀语儿)
1、定义梁柱单元局部坐标轴的命令流为:
geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ
其中,$transfTag 代表局部坐标轴矢量的编号,$vecxzX $vecxzY $vecxzZ 表示局部
坐标轴的方向矢量值。
2、OPENSEES 的刚性隔板假定命令流格式为:
rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...
其中,$perpDirn 表示刚性隔板的方法,如实例中楼板的刚性隔板的平移方向为
U1(X 方向)与U2(Y 方向),即1-2 平面,该值应为3。$masterNodeTag 为主
结点,$slaveNodeTag1 为从结点。主结点一般为刚性隔板刚心。
实例中:rigidDiaphragm 3 35 2,表示刚性隔板平动方向为1-2 平面,刚心主节点
为35 点,2号结点为从结点。
3、弹性梁柱单元的命令流:
element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag
需要提供截面的截面积A、截面Y 轴惯性矩Iy,截面Z 轴惯性矩Iz,截面扭转矩,
截面材料的弹性模量E 及剪切模量G。其中:$transfTag 与$eleTag 是一致的,表示
一个单元有自已特定的坐标轴向量,为了编程的方便
4、非线性材料模型的定义
(1)uniaxialMaterial Steel01 1 335 200000 0.00001
表示,钢筋的屈服强度为335MPa,弹性模量为200000MPa,硬化系数为
0.00001,即屈服平台基本上为水平段。
将混凝土材料本构C40 改为非线性混凝土本构【Concrete01】,命令流如下
: (2)uniaxialMaterial Concrete01 2 -26.8 -0.002 -10 -0.0033 材料参数意见参考图所
示。
注意:混凝土本构Concrete01 是最简单的混凝土本构,注意数值是负数,即表
示受压段。该本构没有受拉段,即受拉强度为0,表示结构一分析即进入弹塑
性。
5、采用纤维单元,需要定义纤维截面,纤维截面的定义如下面代
码所示:
section Fiber 1 {
fiber -1.125E+002 -2.700E+002 4.500E+003 2 ………
fiber 1.150E+002 -2.650E+002 4.900E+002 1 }
以上命令流表示,纤维截面编号为1,{}内部为子命令流,表示每一个纤维的信
息,每一个纤维的定义格式如下:
fiber $Y $Z $Area $Mat
命令中,$Y 表示每个纤维的截面Y 坐标(截面中心为原点0);$Z 表示每个纤
维的截面Z 坐标(截面中心为原点0);$ Area 表示每个纤维的贡献面积;$ Mat 表
示每个纤维使用的非线性材料本构的编号。 注意:纤维的坐标与材料切线模量
可以组装成截面的刚度,而纤维的坐标与材料的应力可以组装成截面的内力
(抗力),那么每个纤维的应变可以通过截面的变形与坐标求出。采用纤维截
面的单元,即为基于平截面假定。截面变形求解应变是基于平截面假定的。
6、采用的单元为非线性梁柱单元,即基于柔度法的纤维单元
(Nonli
near BeamColumn Element or Force Beam Column Element),需要输入命令流如
下:
element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $trans
fTag
其中,$eleTag为单元编号; $iNode 为开始结点;$jNode 为结束结点;$numIntgrPt
s 为积分点数量;$secTag为纤维截面编 号,$transfTag 为局部坐标轴编号。积分点
数量,也就纤维单元的计算截面数量,纤维单元的刚度与抗力是由截面刚度与
抗力沿杆件长度积分所得,显然,不能将全部截面积分,只能采用离散积分,
OPENSEES 默认的积分方法是高斯-洛贝塔积分(Guass-Lobotto),各阶积分点分
布及权函数如下图所示。(OPENSEES 后期版本可提供其它积分方法:Legen
dre, Radau,NewtonCotes, Trapezoidal)。梁柱单元的局部坐标的计算与编号在上
章节已描述。
7、截面变形记录:本实例采用纤维单元,即可输出每段积分点处
截面的变形,记录截 面变形的命令如下:
recorder Element -file $File -time -eleRange 1 6 section $SecPos deformation
其中,$File 为记录的文本文件名;-eleRange 1 6,表示记录单元为1~6 号;$SecPo
s为输出积分点号,如下图所示,开始结点为1号,如果积分点数为N,结束结
点的截面编号为N,deformation表示记录内 容为截面变形。截面变形输出结果
中,输出三个数值分别是轴向应变,绕Z 轴弯曲曲率,绕Y 轴弯曲曲率。
积分点分布示意图
8、均布荷载的定义。本实例采用均布线荷载,即施加于单元的均
布荷载,OPENSEES的线性荷载有两种
一种是均布荷载,另一种是线上点荷载。以均布荷载为例,命令流格式如
下: eleLoad -ele $eleTag1 <$eleTag2 ....> -type -beamUniform $Wy $Wz <$Wx>
其中,$eleTag1 为施加荷载的单元编号,-type –beamUniform表示均布线荷 载,
$Wy $Wz <$Wx>为三个轴方向的均布荷载值。$Wy 表示截面局部坐标轴垂直方向
的均布荷载,$Wz 表示截面局部坐标轴方向的均布荷载,$Wx 表示沿单无长度方
向的均布荷载,如下图所示。
9、截面组装。纤维截面是依据纤维截面(Section Fiber)命令流形成
,命令流如下所示:
section Fiber 1 {
fiber -1.667E+002 -1.667E+002 4.444E+003 2
…………
fiber 1.650E+002 0.000E+000 4.900E+002 1 }
可见,纤维截面的编号为1(纤维截面算1个截面本构 ),对应该截面的抗剪与
抗扭本构编号分别为201,301 及401,通过截面组装的方式将这四个截面本构组
装在一起,命令流如下: section Aggregator 1001 201 Vy 301 Vz 401 T -section 1
其中,1001 为组装后的截面编号,201 Vy 代表Vy(Y 方向抗剪)采用单轴本构
201号;301 Vz 代表Vz(Z 方向抗剪)采用单轴本构301 号;401 T 代表T(抗扭)
采用单轴本构401 号;-section 1 表示参与组装的纤维截面为1 号截面;就这样将
三个材料本构与一个纤维截面组装在一组,那么组装后的纤维截面编号即改为
1001 号。那么,在纤维单元定义时,单元采用的纤维截面编号即不为1 号,为
1001 号,如下命令流所示。
element nonlinearBeamColumn 1 1 2 4 1001 1 上述6:
element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $trans
fTag
其中,$eleTag为单元编号; $iNode 为开始结点;$jNode 为结束结点;$numIntgrPt
s 为积分点数量;$secTag 为纤维截面编号,$transfTag 为局部坐标轴编号。
10、Push-over 分析设置。Push-over 是高层建筑结构弹塑性分析方法
的一种,其分析过程分两个部
分,一个就是静力弹塑性分析部分,另一部分为Push-Over 曲线转化为能力需求
曲线进行抗震评估。本实例只完成第一部分。一般情况下,Push-over 过程分重
力荷载加载过程(力控制),水平位移加载过程(位移控制)。命令流如下:
重力加载的命令流如下: puts "gravity"
## Load Case = DEAD pattern Plain 1 Linear {
eleLoad -ele 5 -type -beamUniform 0 -3.797E+000 0
…………
eleLoad -ele 46 -type -beamUniform 0 -3.797E+000 0 }
puts "analysis" constraints Plain numberer Plain
system BandGeneral
test EnergyIncr 1.0e-6 200 algorithm Newton
integrator LoadControl 1.000E-001 analysis Static analyze 10
与上述章节介绍的是一样的,是一个简单的力控制加载,假定总施加的重力荷
载为G,总荷载步为10 步,每步施加0.1G。
注意:施加的荷载工况(pattern Plain)与分析设置,一般连在一起,表明后面的
分析工况采用的荷载就是上面的命令流描述的荷载。所以力控制分析(loadC
ontrol)的分析工况所采用的荷载为上面的荷载(pattern Plain 1)。
位移控制加载的命令流如下:
loadConst 0.0 puts "pushover"
## Load Case = PUSH pattern Plain 2 Linear {
load 6 1.350E+004 0.000E+000 0.000E+000 0.000E+000 0.000E+000 0.000E+000
…………
load 20 4.500E+003 0.000E+000 0.000E+000 0.000E+000 0.000E+000 0.000E+000 }
puts "analysis" constraints Plain numberer Plain
system BandGeneral
test EnergyIncr 1.0e-6 200 algorithm Newton
integrator DisplacementControl 8 1 2.000E-001 analysis Static analyze 100
上述命令流中,最重要的一个就是荷载恒定设置,为保证重力加载的荷载保持
不变,在这基础上施加位移控制,用到以下命令流: loadConst 0.0
该命令流表明,命令以上的荷载保持不变。后续的命令流,在上述章节已介
绍。 integrator DisplacementControl 8 1 3 analysis Static analyze 100
表示位移控制加载,控制结点为8号点,位移方向为X 方向平动(自由度1),
每步位移为3mm,总共分析100 步,最终位移为300mm。
2024年4月26日发(作者:哀语儿)
1、定义梁柱单元局部坐标轴的命令流为:
geomTransf Linear $transfTag $vecxzX $vecxzY $vecxzZ
其中,$transfTag 代表局部坐标轴矢量的编号,$vecxzX $vecxzY $vecxzZ 表示局部
坐标轴的方向矢量值。
2、OPENSEES 的刚性隔板假定命令流格式为:
rigidDiaphragm $perpDirn $masterNodeTag $slaveNodeTag1 $slaveNodeTag2 ...
其中,$perpDirn 表示刚性隔板的方法,如实例中楼板的刚性隔板的平移方向为
U1(X 方向)与U2(Y 方向),即1-2 平面,该值应为3。$masterNodeTag 为主
结点,$slaveNodeTag1 为从结点。主结点一般为刚性隔板刚心。
实例中:rigidDiaphragm 3 35 2,表示刚性隔板平动方向为1-2 平面,刚心主节点
为35 点,2号结点为从结点。
3、弹性梁柱单元的命令流:
element elasticBeamColumn $eleTag $iNode $jNode $A $E $G $J $Iy $Iz $transfTag
需要提供截面的截面积A、截面Y 轴惯性矩Iy,截面Z 轴惯性矩Iz,截面扭转矩,
截面材料的弹性模量E 及剪切模量G。其中:$transfTag 与$eleTag 是一致的,表示
一个单元有自已特定的坐标轴向量,为了编程的方便
4、非线性材料模型的定义
(1)uniaxialMaterial Steel01 1 335 200000 0.00001
表示,钢筋的屈服强度为335MPa,弹性模量为200000MPa,硬化系数为
0.00001,即屈服平台基本上为水平段。
将混凝土材料本构C40 改为非线性混凝土本构【Concrete01】,命令流如下
: (2)uniaxialMaterial Concrete01 2 -26.8 -0.002 -10 -0.0033 材料参数意见参考图所
示。
注意:混凝土本构Concrete01 是最简单的混凝土本构,注意数值是负数,即表
示受压段。该本构没有受拉段,即受拉强度为0,表示结构一分析即进入弹塑
性。
5、采用纤维单元,需要定义纤维截面,纤维截面的定义如下面代
码所示:
section Fiber 1 {
fiber -1.125E+002 -2.700E+002 4.500E+003 2 ………
fiber 1.150E+002 -2.650E+002 4.900E+002 1 }
以上命令流表示,纤维截面编号为1,{}内部为子命令流,表示每一个纤维的信
息,每一个纤维的定义格式如下:
fiber $Y $Z $Area $Mat
命令中,$Y 表示每个纤维的截面Y 坐标(截面中心为原点0);$Z 表示每个纤
维的截面Z 坐标(截面中心为原点0);$ Area 表示每个纤维的贡献面积;$ Mat 表
示每个纤维使用的非线性材料本构的编号。 注意:纤维的坐标与材料切线模量
可以组装成截面的刚度,而纤维的坐标与材料的应力可以组装成截面的内力
(抗力),那么每个纤维的应变可以通过截面的变形与坐标求出。采用纤维截
面的单元,即为基于平截面假定。截面变形求解应变是基于平截面假定的。
6、采用的单元为非线性梁柱单元,即基于柔度法的纤维单元
(Nonli
near BeamColumn Element or Force Beam Column Element),需要输入命令流如
下:
element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $trans
fTag
其中,$eleTag为单元编号; $iNode 为开始结点;$jNode 为结束结点;$numIntgrPt
s 为积分点数量;$secTag为纤维截面编 号,$transfTag 为局部坐标轴编号。积分点
数量,也就纤维单元的计算截面数量,纤维单元的刚度与抗力是由截面刚度与
抗力沿杆件长度积分所得,显然,不能将全部截面积分,只能采用离散积分,
OPENSEES 默认的积分方法是高斯-洛贝塔积分(Guass-Lobotto),各阶积分点分
布及权函数如下图所示。(OPENSEES 后期版本可提供其它积分方法:Legen
dre, Radau,NewtonCotes, Trapezoidal)。梁柱单元的局部坐标的计算与编号在上
章节已描述。
7、截面变形记录:本实例采用纤维单元,即可输出每段积分点处
截面的变形,记录截 面变形的命令如下:
recorder Element -file $File -time -eleRange 1 6 section $SecPos deformation
其中,$File 为记录的文本文件名;-eleRange 1 6,表示记录单元为1~6 号;$SecPo
s为输出积分点号,如下图所示,开始结点为1号,如果积分点数为N,结束结
点的截面编号为N,deformation表示记录内 容为截面变形。截面变形输出结果
中,输出三个数值分别是轴向应变,绕Z 轴弯曲曲率,绕Y 轴弯曲曲率。
积分点分布示意图
8、均布荷载的定义。本实例采用均布线荷载,即施加于单元的均
布荷载,OPENSEES的线性荷载有两种
一种是均布荷载,另一种是线上点荷载。以均布荷载为例,命令流格式如
下: eleLoad -ele $eleTag1 <$eleTag2 ....> -type -beamUniform $Wy $Wz <$Wx>
其中,$eleTag1 为施加荷载的单元编号,-type –beamUniform表示均布线荷 载,
$Wy $Wz <$Wx>为三个轴方向的均布荷载值。$Wy 表示截面局部坐标轴垂直方向
的均布荷载,$Wz 表示截面局部坐标轴方向的均布荷载,$Wx 表示沿单无长度方
向的均布荷载,如下图所示。
9、截面组装。纤维截面是依据纤维截面(Section Fiber)命令流形成
,命令流如下所示:
section Fiber 1 {
fiber -1.667E+002 -1.667E+002 4.444E+003 2
…………
fiber 1.650E+002 0.000E+000 4.900E+002 1 }
可见,纤维截面的编号为1(纤维截面算1个截面本构 ),对应该截面的抗剪与
抗扭本构编号分别为201,301 及401,通过截面组装的方式将这四个截面本构组
装在一起,命令流如下: section Aggregator 1001 201 Vy 301 Vz 401 T -section 1
其中,1001 为组装后的截面编号,201 Vy 代表Vy(Y 方向抗剪)采用单轴本构
201号;301 Vz 代表Vz(Z 方向抗剪)采用单轴本构301 号;401 T 代表T(抗扭)
采用单轴本构401 号;-section 1 表示参与组装的纤维截面为1 号截面;就这样将
三个材料本构与一个纤维截面组装在一组,那么组装后的纤维截面编号即改为
1001 号。那么,在纤维单元定义时,单元采用的纤维截面编号即不为1 号,为
1001 号,如下命令流所示。
element nonlinearBeamColumn 1 1 2 4 1001 1 上述6:
element nonlinearBeamColumn $eleTag $iNode $jNode $numIntgrPts $secTag $trans
fTag
其中,$eleTag为单元编号; $iNode 为开始结点;$jNode 为结束结点;$numIntgrPt
s 为积分点数量;$secTag 为纤维截面编号,$transfTag 为局部坐标轴编号。
10、Push-over 分析设置。Push-over 是高层建筑结构弹塑性分析方法
的一种,其分析过程分两个部
分,一个就是静力弹塑性分析部分,另一部分为Push-Over 曲线转化为能力需求
曲线进行抗震评估。本实例只完成第一部分。一般情况下,Push-over 过程分重
力荷载加载过程(力控制),水平位移加载过程(位移控制)。命令流如下:
重力加载的命令流如下: puts "gravity"
## Load Case = DEAD pattern Plain 1 Linear {
eleLoad -ele 5 -type -beamUniform 0 -3.797E+000 0
…………
eleLoad -ele 46 -type -beamUniform 0 -3.797E+000 0 }
puts "analysis" constraints Plain numberer Plain
system BandGeneral
test EnergyIncr 1.0e-6 200 algorithm Newton
integrator LoadControl 1.000E-001 analysis Static analyze 10
与上述章节介绍的是一样的,是一个简单的力控制加载,假定总施加的重力荷
载为G,总荷载步为10 步,每步施加0.1G。
注意:施加的荷载工况(pattern Plain)与分析设置,一般连在一起,表明后面的
分析工况采用的荷载就是上面的命令流描述的荷载。所以力控制分析(loadC
ontrol)的分析工况所采用的荷载为上面的荷载(pattern Plain 1)。
位移控制加载的命令流如下:
loadConst 0.0 puts "pushover"
## Load Case = PUSH pattern Plain 2 Linear {
load 6 1.350E+004 0.000E+000 0.000E+000 0.000E+000 0.000E+000 0.000E+000
…………
load 20 4.500E+003 0.000E+000 0.000E+000 0.000E+000 0.000E+000 0.000E+000 }
puts "analysis" constraints Plain numberer Plain
system BandGeneral
test EnergyIncr 1.0e-6 200 algorithm Newton
integrator DisplacementControl 8 1 2.000E-001 analysis Static analyze 100
上述命令流中,最重要的一个就是荷载恒定设置,为保证重力加载的荷载保持
不变,在这基础上施加位移控制,用到以下命令流: loadConst 0.0
该命令流表明,命令以上的荷载保持不变。后续的命令流,在上述章节已介
绍。 integrator DisplacementControl 8 1 3 analysis Static analyze 100
表示位移控制加载,控制结点为8号点,位移方向为X 方向平动(自由度1),
每步位移为3mm,总共分析100 步,最终位移为300mm。