OPENSEES.docx
- 文档编号:23239273
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:10
- 大小:20.97KB
OPENSEES.docx
《OPENSEES.docx》由会员分享,可在线阅读,更多相关《OPENSEES.docx(10页珍藏版)》请在冰豆网上搜索。
OPENSEES
OPENSEES
opensees中的单元问题
梁柱单元
1.NonlinearBeamColumn
基于有限单元柔度法理论。
允许刚度沿杆长变化,通过确定单元控制截面各自的截面抗力和截面刚度矩阵,按照Gauss-Lobatto积分方法沿杆长积分计算出整个单元的抗力与切线刚度矩阵。
NonlinearBeamColumn单元对于截面软化行为,构件反应由单元积分点数控制,为保证不同积分点数下构件反应的一致性,可以通过修正材料的应力-应变关系来实现,但同时会造成截面层次反应的不一致,因此需要在截面层次进行二次修正。
一根构件不需要单元划分,使用1个单元即可,建议单元内使用4个截面积分点,截面上使用6*6的纤维积分点。
[5]
2.Displacement–BasedBeamColumn
基于有限单元刚度法理论。
允许刚度沿杆长变化,按照Gauss-Legendre
积分方法沿杆长积分计算出整个单元的抗力与切线刚度矩阵。
Displacement-BasedBeam-Column单元对于截面软化行为,构件反应由遭受软化行为的单元长度控制,为保证计算结果的精确性,一般需要将构件离散为更多的单元,而截面层次的反应与构件的单元离散数无关,可以较为准确地反应截面的软化行为。
建议一根构件划分为5个单元,单元内使用4个截面积分点,截面上
使用6*6的纤维积分点。
[5]
3.BeamWithHinges
基于有限单元柔度法理论。
假定单元的非弹性变形集中在构件的两端,在杆件端部设置2个积分控制截面,并设定恰当的塑性铰长度,按照Gauss-Radau积分方法沿塑性铰长度积分来模拟构件和整体结构的非线性反应特点,而杆件中部的区段仍保持弹性。
LP塑性铰长度。
通过对BeamWithHinges单元的积分方法进行修正,保证塑性铰区只存在一个积分点,BeamWithHinges单元对于截面软化行为可以在单元层次和截面层次准确地进行描述。
[1]建议预设合理的塑性铰长度,截面上使用6*6的纤维积分点。
[5]
纤维模型
纤维模型是指将纤维截面赋予梁柱构件(即定义构件的每一截面为纤维截面),纤维截面是将构件截面划分成很多小纤维(包括钢筋纤维和混凝土纤维)对每一根纤维只考虑它的轴向本构关系,且各个纤维可以定义不同的本构关系。
纤维模型假定构件的截面在变形过程中始终保持为平面,这样只要知道构件截面的弯曲应变和轴向应变就可以得到截面每一根纤维的应变,从而可以计算得到截面的刚度。
纤维模型能很好的模拟构件的弯曲变形和轴向变形,但不能模拟构件的剪切非线性和扭曲非线性。
零长度构件
可以赋予零长度构件BARSLIPMaterial(这种材料的本构关系可以精确模拟循环加载时在构件节点处由于钢筋的滑移和混凝土的开裂所引起的
构件的刚度退化和强度退化现象)来模拟构件节点处的变形,另外用Bond-SP01Material可以模拟节点处钢筋的应力渗透现象(节点处钢筋还没有整体滑移)所引起的构件的强度和刚度变化。
梁柱构件
建模时核心区混凝土轴心抗压强度增大百分之40,以考虑箍筋对核心混凝土的强度和延性的增加。
或者取柱构件受约束混凝土的强度增加系数K=1.2;
[3]
剪力墙
基于纤维截面来模拟,定义一种专门用来模拟构件截面剪切应变的材料,将此材料组合到纤维截面中,组合截面的应变为纤维截面应变与剪切材料应变的叠加,将构件的剪切柔度矩阵与构件的弯曲和轴向柔度矩阵叠加就可以求得构件考虑剪切变形的柔度矩阵。
因为纤维模型的求解是基于平面假设,而剪力墙构件变形很大时其截面显然不会保持平面,所以还是有一定的误差。
HystereticMaterial模拟构件截面剪切变形的应力-应变关系。
通过减小钢筋的屈服后刚度模拟实际情况。
(实际构件在变形时并不是平截面假定,如果按照同等位移的话,那么将会增加约束,使结构偏小。
)抵消由于平面假设所引起的刚度增加。
经过试验与计算结构的比较,认为将构件截面钢筋纤维屈服后刚度降低百分之30,40时,计算结果与试验结果符合的较好。
[2]
单元参数问题
积分点数目
单个构件为3~5个,杆件两端设置2个,中间均布2~3个。
混凝土本构模型中是否考虑受拉区段对构件的滞回性能影响不大,对圆钢管混凝土柱进行数值模拟时,混凝土本构模型宜采用Mander本构模型。
在混凝土本构关系相同的条件下,钢材本构关系中的强化段对柱试件滞回性能的影响显著由分析可知,不宜考虑钢材的强化段,否则会使数值计算结果高于试验测试结果。
对于纤维截面网格划分,径向环向划分的段数在6~20为宜,钢材和混凝土可分别划分,亦可以统一划分。
[4]
附录
1.OpenSees中三种非线性梁柱单元的研究
4.基于柔度法的纤维梁柱单元及其参数分析
5.纤维模型中单元、截面及纤维划分问题研究
PUSHOVER分析方法
静力弹塑性分析方法是:
通过对结构逐步施加某种分布形式的水平静力荷载,通过静力推覆分析计算得到结构的内力和变形,并借助地震需求谱或直接估算的目标性能需求点等方法,近似得到结构在预期地震作用下的抗震性能状态,由此对结构的抗震性能进行评估。
静力弹塑性分析又称Pushover分析、静力推覆分析等。
侧力模式
我国抗震规范:
倒三角模式。
考虑楼层高度影响的侧力模式。
SAP2000:
均匀加速度分布、模态荷载分布、自定义荷载分布。
Opensees模型
OpenSEES中有限元对象被划分成更多的子对象,其中包括节点对象、材料对象、截面对象、单元对象、荷载对象和约束对象等,并且为其子对象提供了多种不同的选择,包括不同的材料类型,截面形式,荷载模式以及约束方式等,再由它们组合成为有限元模型对象。
在程序中建立子对象的命令主要有:
Node、Mass、Material、Section、Element、LoadPattern、TimeSeries、Transformation、Block和Constraint等等。
通过上述命令,我们可以分别确定对象中各节点的位置、节点集中质量、材料本构关系、截面恢复力模型、单元类型、外加荷载模式、几何坐标转换类型和约束形式等。
这些命令构建了有限元模型相应的子对象,由这些子对象组合构成有限元模型对象ModelBuilder。
材料的本构关系
OpenSEES提供了单轴受力材料和多轴受力材料供使用者选择,考虑论文主要涉及到结构平面问题,这里仅对单轴应力状态的钢筋本构和混凝土本构进行介绍。
OpenSEES中为单轴受力材料提供了丰富的对象:
弹性材料、理想弹塑性材料、强化材料、滞回材料、粘滞材料、混凝土材料、钢筋材料、Fedeas材料,等等。
单轴受力材料中混凝土和钢筋的本构关系是目前研究的最为成熟和最为充分的一类。
钢筋本构模型
OpenSEES程序中钢筋的应力应变关系采用由Menegotto和Pinto建议,并经Filippou等人修正,能够考虑等向应变硬化影响的本构模型。
该本构模型采用应变的显函数表达形式,不仅在计算上非常有效率,而且保持了与钢筋反复加载试验结果的非常好的一致性,可以反映包辛格效应(反向
加载,弹性极限下降明显)。
混凝土本构模型
混凝土模型如图2.2、图2.3所示,混凝土受压的滞回曲线采用Scott-Kent-Park模型
[42][43],该模型通过修正混凝土材料受压时的峰值应力应变和软化段的斜率来考虑混凝土中横向箍筋的约束影响,修正后的本构模型在简化和精确之间达到了较好的平衡。
其调用名为Concrete02。
OpenSEES中还提供了不考虑混凝土受拉的本构模型(Concrete01)和考虑材料拉伸强化的两种混凝土模型(Concrete03)。
截面恢复力模型
截面恢复力模型按照建模的细化程度主要可以分为基于构件、基于截面和基于材料的恢复力模型三类。
在OpenSEES中直接提供的常规截面恢复力模型主要有弹性恢复力模型、理想弹塑性恢复力模型、两折线强化恢复力模型和滞回恢复力模型,通过定义材料类及材料类派生类对象来完成对积分控制点处截面恢复力模型的定义。
如通过建立ElasticSection2d(),SectionAggregator()等类的对象来定义弹性截面恢复力模型和对组合两种或两种以上的截面恢复力模型。
如图2.4所示设置截面和确定截面恢复力模型。
OpenSEES将单元沿纵向划分成若干离散的单元,各个单元依靠积分控制点
(integrationpoints)组装成梁柱单元。
OpenSEES为位于截面处的积分控制点提供Gauss-Legendre和Gauss-Lobatto等数值积分方法。
通过数值
积分方法得到整个构件的刚度。
众所周知,构件的弹塑性变形往往集中于构件端部截面。
OpenSEES提供的Gauss-Legendre数值积分方法对结构构件非线性变形的模拟,只能随着积分控制点的增加才能逐渐接近单元端部截面,因此积分点数目的选择将直接影响该方法对构件弹塑性变形模拟的精确度;而Gauss-Lobatto数值积分方法始终保持两个积分控制点在单元的端部截面处
[44],因此使用该方法能够更加有效的模拟构件的非线性行为。
当划分的纤维数目达到一定水平之后,数值积分产生的误差将不再显著。
对于平面问题中的矩形截面分析,纤维数目达到40就可以达到足够的精度[45]。
单元类型
OpenSEES程序提供了多种单元分析模型,如实体模型和杆系模型,实体模型中包括二维实体模型和三维实体模型,如平面多节点实体模型、多节点空间实体模型等;OpenSEES中杆系模型主要包括桁架单元Truss、零长度单元ZeroLength、弹性梁柱单元
ElasticBeamColumn和非线性梁柱单元NonlinearBeamColumn。
本研究主要涉及三种非线性梁柱单元:
NonlinearBeamColumn单元、DispBeam-Column单元和BeamWithHinges单元。
NonlinearBeamColumn和BeamWithHinges单元是基于有限单元柔度法理论的,在编程过程中由建立ForceBeam-Column类的子类来实现;DispBeamColumn单元基于有限单元刚度法理论。
这三种单元既能够用于考虑地震作用下结构整体分析,又能够用于构件本身的地震响应的考察。
以下将分别进行介绍。
a)NonlinearBeamColumn单元允许刚度沿杆件长度变化,通过确定单元控制截面的各截面抗力和截面刚度,按照Gauss-Lobatto积分方法计算单元抗力和刚度。
可以设置多个积分控制点来适当提高精度。
实际编程过程中,对于二维结构分析,由BeamIntegration、ForceBeamColumn2d相互协作完成。
如通过建立BeamIntegration的子类对象
LobattoBeamIntegration设置积分方法和考虑构件非线性,再建立ForceBeamColumn2d类的实例完成该单元的建立。
b)DispBeamColumn单元允许刚度沿杆件长度变化,通过节点位移计算得到单元的端部位移,进而求得截面的变形,再根据截面恢复力关系得到相应的截面抗力和刚度,再按照Gauss-Legendre积分方法得到单元内力和刚度。
可以通过增加积分控制点提高计算精度。
实际编程过程中,对于二维结构分析,由BeamIntegration、DispBeamColumn2d相互协作完
成。
如通过建立BeamIntegration的子类对象LegendreBeamIntegration
设置积分方法和考虑构件非线性,再建立DispBeamColumn2d类的实例完成该单元的建立。
c)BeamWithHinges单元假定非线性变形集中在构件两端,沿杆长在杆件两端设置积分控制截面和塑性较长,按照Gauss-Radau积分方法沿塑性铰长积分,模拟构件和整体结构的非线性行为,杆件中间保持弹性。
实际编程过程中,对于二维结构分析,由
BeamIntegration、ForceBeamColumn2d相互协作完成。
如通过建立BeamIntegration的子类对象的实例HingeRadauBeamIntegration(double
lpI,doublelpJ)设置积分方法和两端塑性铰长度,再建立
ForceBeamColumn2d类的实例完成该单元的建立。
结构分析
OpenSEES中非线性方程组的求解采用增量迭代法进行。
该方法将外荷载的施加划分成若干加载步,在每一级荷载步中进行迭代计算,使每一级增量步中计算误差减到很小的范围内。
该方法在结构分析中得到广泛应用。
OpenSEES程序中外荷载的施加可以通过以下方法控制:
基于位移控制的施加方法、基于荷载控制的施加方法、荷载-位移组合控制方法和弧长控制法,各级增量步作用下的迭代方法也比较丰富,主要包括:
线性迭代、牛顿线性迭代、Newton-Raphson方法、改进的Newton-Raphson方法、Krylov-Newton方法、Broyden方法和BFGS方法。
OpenSEES程序中同时也给出了增量迭代法求解时容差判敛精度的确定方法,向使用者提供了基于增量位移、不平衡力和能量控制等几种不同的收敛准则,通过设置函数的参数收敛容差达到确定判敛精度的目的。
以能量控制为例,当结构第j次迭代的能量增量值和结构第一次迭代时的能力相比满足下式时,可以认为结构此时内外力平衡。
此外,OpenSEES程序中还提供了节点编号的优化方法。
如逆Cuthill-Mckee算法,简称RCM算法[39],用于非线性分析开始前对用户编制的节点编号进行优化,以减小结构整体刚度矩阵的带宽和数据存储量,提高了计算效率;同时OpenSEES程序提供了罚函数法、拉格朗日乘子法和Transformation等方法来处理多点约束的情况,这些方法用来决定在非线性方程组求解过程中如何处理约束自由度所对应的行列向量;不仅如此,针对刚度矩阵的不同类型(稀疏程度,是否对称,是否正定等),OpenSEES
程序向使用者提供了各种不同的数据存储方式和求解方法。
如SparseSPD类对象用于对称的稀疏矩阵,BandGeneral
类对象用于
非对称的带状矩阵等,使用者可以根据实际情况选用。
OpenSEES中结果输出简介
在结果输出部分,OpenSEES程序为使用者提供了极其灵活的方式,主要依靠Recorder类完成。
用户可以根据需要自定义需要记录的计算数据,例如,输出参数中包括非线性时程分析中各点的位移、速度、加速度、位移增量以及整个过程中各个响应量的包络值;单元在各时刻的内力、变形以及截面抗力、变形和刚度等信息;当采用纤维界面梁柱单元进行分析时,用户可以输出指定位置的钢筋和混凝土纤维的应力应变关系等数据。
节点类
节点类的对象指的是有限元域内定义了自由度的离散点。
节点类中的成员函数用来存储节点坐标、节点响应和节点不平衡力等信息,并提供了设置和检查这些信息的接口函数。
节点类的接口函数主要包括以下几类:
a)节点构造函数允许建立1、2、3维节点,自由度数由用户自定义;
b)类中提供了检查节点坐标和自由度等相关信息的方法;
c)类中提供了设定和检查节点当前响应量和求解路径上节点响应量的方法,这些响应量包括节点位移、荷载增量等;
d)类中提供了设定节点不平衡荷载归零、不平衡荷载增量及其检查的方法;
e)类中还提供了设定和检查节点质量等方法。
单元类
单元类对象的基本功能是提供基于当前应力状态和单元荷载状态下单元的线刚度、质量、阻尼和残余应力等信息。
a)每个单元类对象与多个节点对象相关联,如图2.10,在单元类中提供了获得相关节点数目和节点标识符的方法;
b)单元类中提供了返回单元线刚度、阻尼、质量等信息的方法;可以利用程序中的函数返回当前残余荷载信息或将之置零,可以通过创建ElementalLoad对象将荷载的贡献添加到残余荷载中去;
c)可以通过Element类对象的子类创建用于线性和非线性分析的单元对象,每个对象可以同commit()方法保存当前状态信息,单元类没有给出任何的执行部分的代码,所有方法的实现都必须在子类予以呈现。
约束类
OpenSEES中有限元约束类提供了单点约束(SP_Constraint)和多点约束(MP_Constraint)两种类型,其中单点约束的作用形式为节点自由度提供指定的值;多点约束则是为相关节点一定数量的自由度提供参考值。
约束类对象在整个系统中保存用于分析的模型相应节点上存在的约束值,并可以利用其内部成员函数将约束应用到节点上。
每个单点约束对象都与单个节点对象相关联,如图2.10所示。
单点约束类对象接口声明如图2.11所示。
该类为用户提供了获取被约束的节点数目、自由度数目和约束值等方法;不仅如此,单点约束类还为用户提供判断约束是否具备相同的类型,借此来缩减方程数量;除此之外,该类中还提供给用户设置和获取分析过程中所用的荷载模式的编号,同时
提供了针对不同荷载模式使用不同约束值的接口函数。
单点约束类的接口仅适用于约束不随时间改变的情况,对应于约束随时间变化的情况可以通过其子类类实现。
同样每个多点约束对象和两个或两个以上节点对象相关联,该类的接口函数中提供用户获取被约束节点的数目、主节点与从节点的自由度的约束情况,以及主从节点之间如何关联等信息的方法,此外,isTimeVarying()
函数的实现使得用户可以方便的判断某节点约束是否随时间改变。
荷载类
在OpenSEES中有限元模型上荷载可以分为两类:
节点荷载(NodalLoad)和单元荷载(ElementalLoad)。
节点荷载即作用在节点上的荷载;单元荷载就是作用在单元上的荷载,可以是构件自重、表面张力、初始应力和温度变化引起的力等。
在有限元程序中提供单
元荷载类的抽象非常重要,如果没有该类的定义,用户就必须手动将单元荷载折算成节点荷载了。
每个节点荷载对象与一个节点对象相关,如图2.10所示。
该类对象用来施加节点荷载,用户可以利用程序提供的接口实现获取与荷载相关的节点对象,并可以将荷载以任意比例施加于相关节点。
单元荷载类与节点荷载类基本相似。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- OPENSEES