基于OpenSees的自复位变摩擦耗能支撑材料本构模型的二次开发
2021-01-25何晴光吴伟科
何晴光 尹 傲 吴伟科
(1.兰州理工大学,甘肃省土木工程防灾减灾重点实验室,兰州730050;2.西部土木工程防灾减灾教育部工程研究中心,兰州730050;3.佛山市铁路投资建设集团有限公司,佛山528000)
0 引 言
传统支撑[1]通过钢材弹塑性变形耗能往往导致结构在震后存在较大残余变形。研究表明,当结构震后残余变形角大于0.5%时,结构重建成本甚至会小于维修成本[2-3]。为减小结构震后残余变形所带来的维修成本和时间问题,“可恢复功能”[4]的概念被提出。具备摩擦耗能装置和自复位功能的自复位耗能支撑首先被C.Christopoulos[5]提出,试验结果表明,其对结构位移和残余变形均具有良好的控制效果。
但是目前已被提出的普通自复位支撑不能根据结构实际变形实时地改变自身输出摩擦力的大小。为此,本文提出一种新型自复位变摩擦耗能支 撑(Self-Centering variable friction energy dissipative brace,SCVFB),该支撑设计原理清晰、加工制作便利且力学性能稳定,当支撑两端相对位移发生变化,支撑自身输出摩擦力大小也随之改变,支撑内部拉簧提供恢复力使支撑具有自复位功能,可以有效减小结构震后残余变形。
由于OpenSees 材料库中没有SCVFB 材料本构模型,本文在学习了万增勇等[6]将箍筋约束混凝土单轴本构模型添加到OpenSees 材料库中的二次开发方法及胡晓琪等[7]进行形状记忆合金本构模型二次开发等方法后,基于支撑的理论力学模型,利用有限元软件OpenSees 的开源平台,编写相关代码完成了在单轴材料库中对自复位变摩擦耗能材料的添加。因当前关于OpenSees 二次开发的参考资料较少,本文详细介绍了自复位变摩擦耗能材料有限元实现的思路和方法。最后基于开发模型模拟支撑力学行为,对比试验结果,验证了开发模型的精确性,可以用于对支撑的理论分析。
1 自复位变摩擦耗能支撑
1.1 支撑构造
自复位变摩擦耗能支撑主要由内管、外管,滑动螺杆组件、拉簧等复位构件,摩擦块、固定铰支座组件、高强调节螺栓和摩擦翘板等变摩擦耗能构件组成,其主要构造如图1 所示。在内外管开设螺杆槽孔滑道,于内管的外表面安装摩擦翘板。当支撑内外管发生相对运动时,利用限位块固定摩擦块使其在摩擦翘板上发生相应的摩擦运动以耗散地震能量。通过调节螺栓可以改变摩擦块与摩擦翘板间的正压力使摩擦翘板产生不同的挠曲变形进而改变最大摩擦力大小。拉簧置于内管中,其拉力始终大于摩擦力,支撑两端相对位移越大,拉簧提供的恢复力越大。
图1 支撑构造Fig.1 Configuration of SCVFB
1.2 支撑恢复力模型
根据SCVFB 的工作原理,利用宋子文[8]提出的四个工作阶段分析方法得出SCVFB 在受拉和受压两种工作状态下的滞回曲线,如图2 所示。文献[9]对SCVFB进行受力分析得到了支撑工作全阶段的理论力学模型如下:
(1)第一阶段(开始加载—拉∕压至内外管即将发生相对位移):
(2)第二阶段(内外管受拉∕受压发生相对位移至开始卸载):
(3)第三阶段(开始卸载至支撑开始复位):
(4)第四阶段(复位阶段):
式中:K0为弹性体刚度;K1为内管刚度;K2为外管刚度;μ 为摩擦块与摩擦翘板之间的摩擦系数;E为摩擦钢板的弹性模量;L 为摩擦翘板长度;I 为摩擦翘板的截面惯性矩;ω 为摩擦翘板在摩擦接触点的挠度;δ为支撑位移;δmax为支撑最大位移。
图2 SCVFB滞回曲线Fig.2 Hysteresis curves of SCVFB
2 SCVFB材料本构模型在OpenSees中的二次开发
进行二次开发时主要可以采用两种方法:第一种是编译生产动态链接库文件(dll 文件),程序运行时可以使用动态API 进行调用;第二种是使用Visual C++进行编程调试。古泉等对第二种方法用实际算例进行了包括编译方法和C++语言等在内的充分介绍和说明,通过深入学习使得二次开发工作深入浅出简易易懂。本章节对自复位变摩擦耗能支撑材料本构模型添加的二次开发采用第二种方法。如图3 所示,在OpenSees 中Material类继承于TaggedObjec 类和MovableObject 类,Material 类下又派生出三种不同的材料类:SectionForceDefomation, UniaxialMaterial 和NDMaterial。而自复位变摩擦耗能支撑材料属于单轴材料(UniaxialMaterial)下的派生类,所以SCVF 本构模型二次开发将在单轴材料库中进行编译和调试[10-11]。
自复位变摩擦耗能支撑的力学模型采用1.2节中给出的四阶段滞回曲线,该本构模型的有限元实现借鉴了OpenSees 单轴材料库中已有的自复位材料Self-Centering Material。本次新材料模型开发的编译环境为Windows7,编写及调试工具为Visual Studio 2013,OpenSees 源 代 码 为 官 网2.5.0(6248)版本。图4是SCVF 材料实现路径,图5 是SCVF 材料本构模型滞回路径流程图,流程图中的上包络曲线对应图4 中的实线部分,下包络曲线对应图4中的虚线部分,K为滞回曲线第一刚度。成员变量释义详见表1。
图3 材料类继承图Fig.3 Picture of material category inheritance
图4 SCVF材料实现路径Fig.4 Implementation path of SCVF material
表1 Material_SCVF类的主要成员变量Table 1 Main member variables of the Material_SCVF
首先将自复位变摩擦耗能支撑材料模型名称定义为Material_SCVF,在单轴材料基类下分别建立头文件Material_SCVF.h 和源文件Material_SCVF.cpp。由SCVF 材料力学模型可知各参数都会对材料滞回曲线产生影响,所以在进行二次开发时需要设置材料各参数的输入接口,于是我们将SCVF材料的命令格式设置为:
uniaxialMaterial SCVF matTag K0K1K2L I MU W P0E
图5 SCVF材料本构模型滞回路径流程图Fig.5 Constitutive model hysteresis path flow chart of SCVF material
其中,matTag 是模型中SCVF 材料编号,K0是弹性体刚度,K1是内管刚度,K2是外管刚度,L是摩擦钢板长度,I 是摩擦钢板截面惯性矩,MU 是摩擦块和摩擦钢板之间的摩擦系数,W 是调节螺栓施予摩擦钢板的挠度,P0是弹性体预拉力,E 是摩擦钢板弹性模量。
SCVF 材料二次开发过程从头文件和源文件的编写到程序代码编译调试大致可以细分为以下步骤:
(1)头文件Material_SCVF.h的编写。头文件主要用于保存成员函数的声明和部分成员函数的实现,Material_SCVF.h 中主要用到的成员变量见表1。需要指出的是,在1.2 节给出的力学模型中为SCVF 本构“力-位移”的关系,所以在代码中定义strainRate这一变量为0。
(2)源文件Material_SCVF.cpp 的编写。源文件主要用于实现我们在头文件中已经申明但是还没有实现的其他动静态成员函数和全局变量。其中setTrialStrain 函数是实现本构力学模型最为核心的函数,它在每一个迭代步中被单元调用,计算材料的应力和刚度并通过其他函数存储在材料的私有成员变量中。
下面给出SCVF 本构模型的setTrialStrain函数:
(3) 在 TclModelBuilderUniaxialMaterial Command.cpp 文件中添加SCVF 材料头文件申明并添加TCL命令解析代码。
(4)通过TclEditor 软件建立truss 单元TCL 模型,赋予单元SCVF材料属性,调试程序。
完成上述步骤后,材料本构模型添加进材料库的工作基本完成。常规材料本构模型中软件输出的都是材料的“应力-应变”的关系,而本章关于材料理论力学模型采用的是“力-位移”关系。OpenSees 中单元正常情况下是把应变传入材料,为了使单元传入的数据是形变而不是应变,这就需要在单元源代码中做一个接口。为此,模型开发的最后一步是对Truss 单元的源代码进行小部分的修改,修改文件包括Truss.h 和Truss.cpp。这样也就保证了在有限元模拟中软件输出的是支撑的“力-位移”滞回曲线。
3 支撑试验及有限元对比
为验证SCVF 材料开发模型的有效性,加工制作出了自复位变摩擦耗能支撑实体构件,对支撑进行轴向拉压试验(图6),试验在兰州理工大学土木工程学院结构实验室内进行。其中,支撑主要构件材料为Q235 钢材,摩擦钢板长L=400 mm,摩擦钢板截面尺寸为10 mm×100 mm,内管截面尺寸为200 mm×200 mm,管厚1 mm,外管截面尺寸为100 mm×100 mm,管厚1.5 mm。摩擦块采用无机非金属材料,摩擦钢板与摩擦块之间的摩擦系数μ=0.4,摩擦点接触挠度ω=7.5 mm。支撑弹性体选取为两根不同弹性模量的高强拉簧,试验测得弹簧A 弹性模量为55.2 N∕mm,弹簧B 弹性模量为28.5 N∕mm。支撑试验现场如图6所示。
图6 支撑试验Fig.6 Test of SCVFB
试验采用位移控制方式对支撑进行低周往复加载,加载制度如图7 所示。加载速率取40 mm∕min,加载幅值分别为20 mm、40 mm 和60 mm,每一幅值处往复加载三个循环。同时,基于开发模型对摩擦钢板长度、截面尺寸、摩擦系数等相同参数的支撑进行杆件力学行为有限元模拟,支撑滞回曲线如图8所示。
图7 试验加载制度Fig.7 Loading schemes of SCVFB
图8 试验和有限元滞回曲线对比Fig.8 Comparison of hysteretic curves between experiments and finite element simulation
图8 中可以看出当支撑弹性体为拉簧B 时,在支撑加、卸载过程中,滞回曲线有一个台阶状的突起,初步推测是因为装置内存在微小间隙,而当支撑弹性体为拉簧A 时,该段位移距离内曲线变化趋势较为光滑,说明预拉力的增大使装置连接更加紧密,有利于消除装置内部间隙。当弹性体刚度较小时,滞回曲线表现出较为明显的变摩擦特性——滞回曲线呈“喇叭状”,而当弹性体为拉簧A 时,滞回曲线表现出相对拉簧B 更为轻微的变摩擦特性,这是因为弹性体的改变对支撑的摩擦性能并没有影响,即支撑工作时摩擦力不随弹性体刚度的改变而改变,相对拉簧B,拉簧A 弹性体刚度较大,给支撑提供的力也较大,支撑运动过程中,摩擦力相对带拉簧B的支撑不变,所以在滞回曲线中表现出变摩擦趋势也较缓。两种拉簧下,支撑都表现出良好的耗能能力和自复位功能。
总体来看,由开发模型得到的支撑滞回曲线与支撑试验滞回曲线吻合较好,说明了开发模型具有较好的模拟精度。为了进一步量化有限元曲线和试验曲线之间的差值,引入三个力学参数:单位循环耗能Wd,代表自复位变摩擦耗能支撑完成受拉受压单位循环时的耗能能力。
割线刚度Ks,计算公式为
式中:Pmax为耗能支撑单次拉压循环中最大出力,Pmin为耗能支撑单次拉压循环中最小出力;δmax为耗能支撑单次拉压循环中最大位移;δmin为耗能支撑单次拉压循环中最小位移。
等效阻尼比ξeq表示支撑的阻尼性能,计算公式为
式中,We为总应变能。
表2和表3为当弹性体分别为拉簧A和拉簧B时支撑力学参数的有限元模拟值和试验值对比。可以看出,支撑耗散能量试验值在各工况下都要小于模拟值,初步推断产生该现象的原因是支撑摩擦系数实际值要低于本文中取定的0.4。当支撑幅值为60 mm 时,支撑耗散能量试验值平均小于模拟值9.4%,割线刚度试验值平均小于模拟值4.7%,等效阻尼比试验值平均小于模拟值11.45%。由于条件限制,该试验仅考虑了两个工况下的支撑滞回,在条件允许的情况下,进行足量的支撑试验可以有效减小试验结果和有限元结果之间的误差,同时考虑到装置加工精度和试验误差等因素,可以认为本次二次开发的SCVFB材料模型具有较高的模拟精度,可以用于对支撑的理论分析。
4 结 论
(1)提出了一种新型自复位变摩擦耗能支撑,并阐述了支撑结构构造和工作原理。从试验结果来看,支撑能够实现预期的变摩擦效果,支撑摩擦力随着支撑位移的增大逐渐增大,且支撑具有良好的复位能力。
(2)基于支撑理论力学模型,将SCVF 材料模型成功添加到了OpenSees 单轴材料库中,丰富了软件材料库,为自复位变摩擦耗能支撑和该类型材料的非线性分析提供了一种新的选择。
(3)通过对比支撑试验结果和有限元模拟结果,表明了本文提出的材料二次开发模型具有较高的模拟精度,二次开发方法简单有效,新材料模型可以进行不同工况条件下分析计算且均具有较好的收敛性。
表2 拉簧A支撑力学参数的有限元模拟值与试验值对比Table 2 Comparison of finite element simulation values and experimental values of tension spring A brace’s mechanical parameters
表3 拉簧B支撑力学参数的有限元模拟值与试验值对比Table 3 Comparison of finite element simulation values and experimental values of tension spring B brace’s mechanical parameters