基于ABAQUS的橡胶垫隔震支座单元二次开发

合集下载

AbaqusCAE二次开发功能与应用实例

AbaqusCAE二次开发功能与应用实例

Abaqus/CAE二次开发功能与应用实例作者:黄霖来源:《计算机辅助工程》2011年第04期摘要:为实现复杂的有限元前后处理功能,介绍基于Abaqus/CAE进行内核脚本和GUI 的程序开发,并阐述这两种开发方式的特点和相互关系.用双动拉深杯形件和汽车覆盖件两个实例说明Python和Abaqus GUI Toolkit在Abaqus/CAE二次开发中的应用;通过二次开发实现将CFD计算得到的热边界条件向实体单元网格模型表面映射的功能.对开发过程和程序流程进行的详细描述可为用户进行Abaqus/CAE二次开发提供参考.关键词: Abaqus/CAE;二次开发;有限元;前处理;后处理; Python中图分类号: TB115.1; TP391.7文献标志码: BSecondary development functions and applications ofAbaqus/CAEHUANG Lin(Shanghai Office, DS SIMULIA Co., Shanghai 200120, China)Abstract: To implement complex finite element pre-processing and post-processing functions, the program development of kernel script and GUI based on Abaqus/CAE is introduced with their characteristics and correlation. The application of Python and Abaqus GUI Toolkit in secondary development of Abaqus/CAE is described by the samples of double-action deep drawing cup-shaped parts and automotive panel; the function of mapping thermal boundary conditions obtained by CFD software calculation to surface of solid element mesh model is implemented by secondary development. The detailed introduction of development process and programming flow can provide reference for user’s secondary development based on Abaqus/CAE.Key words: Abaqus/CAE; secondary development; finite element; pre-processing; post-processing; Python0引言Abaqus是国际上先进的大型通用有限元软件之一,具有丰富的、可模拟任意几何形状的单元库及各种类型的材料模型库,能解决结构、传热、热-固耦合、质量扩散、热-电耦合、声学、岩土力学和压电介质等的线性与非线性复杂问题.Abaqus/CAE作为Abaqus自带的有限元前、后处理程序,全面支持其分析功能,为用户提供图形化的建模、分析和后处理等人机交互平台.同时,Abaqus/CAE建立在开放、可拓展的平台上,用户可以将成熟的工作流程通过多种途径的二次开发,形成命令脚本和图形化用户操作界面,实现有限元分析前、后处理的流程化和自动化处理.基于Python的Abaqus自动化前、后处理二次开发已应用于诸多领域,如钣金成形[1-2],复合材料构件设计与工艺仿真[3-5]以及其他自动化建模分析应用[6-9].Abaqus/CAE的前、后处理二次开发功能基于Python语言实现.Python是功能强大的面向对象、直译式程序设计语言,具有语法简洁清晰、内置模块库丰富、可扩展性强以及跨平台移植性好等优点.此外,由于对C/C++的良好支持,Python也可作为一种“胶水语言”(glue language)使用,即使用C++或FORTRAN编写执行性能要求高的程序,并使用Python进行集成和封装.该优点对需作大规模数据处理的有限元前、后处理应用显得尤为可贵.[9]1Abaqus/CAE二次开发基础介绍Abaqus/CAE的前、后处理二次开发包含内核脚本程序(Scripting)开发和GUI程序开发2种方式.1.1Abaqus/CAE内核脚本程序开发Abaqus/CAE会将用户在Abaqus/CAE图形界面中进行的各种操作转化成内核命令解释执行,因此可将需要多次重复执行的一系列繁杂的前、后处理操作过程编写成Abaqus/CAE内核脚本程序,用户只需执行该脚本并设定相应参数,就能快捷、方便地完成同一前、后处理流程的多次重复操作.Abaqus/CAE内核脚本采用Python语言.针对Abaqus的具体应用,对Python进行扩展,增加500多个新的类模型.这些类模型关系复杂,总体上可分为mdb,odb和session等3大类,分别对应于分析模型数据库、计算结果数据库和图形显示界面元素,见图1.内核脚本程序的执行最终以完成对Abaqus对象的各种操作来实现各种前、后处理功能.程序开发Abaqus/CAE GUI程序开发为用户提供一个交互式的图形操作界面,方便用户进行相关操作,其最终目的仍是通过执行Abaqus/CAE内核命令实现复杂的有限元前、后处理流程.Abaqus/CAE GUI界面与内核命令之间的交互方式见图2.Abaqus/CAE的图形界面库是在FOX Toolkit的基础上扩充形成的.在编写Abaqus/CAE GUI 程序时,以FX开头命名的类是FOX Toolkit自身包含的类,以AFX开头命名的类是Abaqus 扩充的类.2Abaqus/CAE二次开发实例2.1钣金成形切边线逆求插件在应用Abaqus/Explicit进行钣金成形仿真分析后,常需要进行切边回弹分析并将成形过程引入的残余应力、塑性应变和厚度减薄等应用于结构分析.处理这两类问题的难点在于:(1)钣金零件成形后需要切边,会使零件外形发生变化.但是,切边线与用于成形仿真的网格通常相互交叉,因此需精确地确定出切边后零件的外形轮廓并进行网格重新划分,同时将成形仿真结果映射到新的网格单元上.(2)用于结构分析的单元尺寸通常比用于成形仿真的单元尺寸大许多,因此也涉及网格重新划分和计算结果映射的问题.针对以上2点,可采用如图3所示的流程进行分析.其中,步骤1和4均为常规建模仿真技术,而步骤2和3所需的功能可通过Abaqus/CAE二次开发实现.采用Python与C++相结合的方式进行该插件的开发:Python与Abaqus/CAE二次开发接口相配合,实现模型数据的输入/输出和几何模型划分等操作;算法中涉及的映射搜索算法采用执行效率较高的C++代码实现;Pyhton与C++之间采用二进制临时数据文件进行大规模数据交换传递.插件的GUI界面见图4,用户需指定钣金成形仿真结果数据文件(odb文件)及其中的板料零件表面、板料原始几何模型、各条切边线及切边方向,软件即可根据成形过程逆求切边线,将逆求得到的切边线向板料原始几何模型映射,并使用映射所得曲线对毛料平面进行剖切.算例1双动拉深杯形件.如图5所示,使用所开发的插件分析处理某双动拉深杯形件.由成形后的零件、切边线以及初始毛料逆求出切边线在初始毛料上的位置和形状并剖切毛料,以便重新划分网格;然后,应用Abaqus/Standard的submodel技术加载边界条件并进行计算,以获得成形过程中在实际零件上形成的残余应力和厚度硬化等参数的分布情况,结果见图6,可知,经过切边、网格重新划分和重新加载计算后,实际零件上的应变、板厚分布均与成形计算结果一致.算例2某汽车覆盖件.在完成某汽车覆盖件冲压成形分析后,需将成形后的残余应力、塑性应变和厚度分布等映射到切边后的零件网格模型上.在对该零件进行切边线逆求时,需同时逆求零件上一些主要的特征线,保证在其后的网格划分中能在这些特征线上散布节点,以达到精确控制网格质量的目的.图7所示为逆求切边线/特征线以及采用submodel计算得到的零件形状与切边线/特征线的对比,可知,利用本文所开发的插件既可以精确逆求零件的切边线,又可以精确逆求几何特征线.图8为成形分析与切边重新计算后,零件上塑性应变、板料厚度分布的对比,二者的结果高度一致.2.2热边界条件映射插件在发动机排气歧管的热应力分析中,通常先采用CFD软件对排气歧管内流场进行分析,以获得排气歧管内壁上的温度分布和换热系数分布,然后将这些热边界条件加载于排气歧管内表面,即可计算得到排气管内部的温度分布和温差引起的热应力分布情况.某发动机厂商在使用AVL-Fire进行发动机排气歧管内流场分析后,由于AVL-Fire仅支持将热边界条件映射到壳单元,不能直接映射到排气歧管有限元网格模型的实体单元表面.因此,需要先将AVL-Fire的计算结果映射到与排气歧管内表面相一致的壳单元上,再进行大量的手动操作,以将壳单元上的温度和换热系数数据加载到相应的排气歧管实体单元模型内表面上,费时费力.仍然采用Python与C++相结合的方式,开发一套能将壳单元上的热边界条件映射到排气歧管实体单元模型内表面上的Abaqus/CAE插件.该插件的工作流程见图9.其中,前期的数据准备和最后的建模工作由Python结合Abaqus/CAE的二次开发接口实现,而对大量单元面片进行遍历搜索的计算由效率较高的C++代码完成.开发的用户图形界面及需要用户选取与设定的参数见图10.其中,用户可对最近单元搜索容差Mapping Tolerance进行设置,当设计人员对排气歧管的几何形状进行少量调整后,可将该容差设为一个较大值,但仍能使用之前CFD计算得到的热边界条件进行映射计算.采用某款排气歧管模型对本插件的功能及映射效率进行验证,见图11(a).该排气歧管模型采用四面体单元划分,内表面包含25 144个单元面片,与用于AVL-Fire进行热边界条件分析的表面相比略有修改.在某台普通PC机上应用该插件,仅用103s就完成整个排气歧管内表面温度、换热系数的映射.在映射结果基础上进行稳态传热分析,得到排气歧管温度分布,见图11(b).3结束语(1)对Abaqus/CAE的二次开发功能进行介绍,对于单一固定的功能可采用内核脚本程序形式进行开发;对于需要进行较多交互操作才能完成的功能,则采用GUI程序的形式进行开发.另外,对于需要进行大量数值运算的问题,可采用Python与C++和FORTRAN等编译执行语言相结合的形式进行开发,提高程序的执行效率.(2)结合开发实例对利用二次开发接口在Abaqus/CAE基础上详细介绍实现某些复杂的前、后处理功能,为用户进行Abaqus/CAE前、后处理功能二次开发提供参考.参考文献:[1]郭玲, 杨合, 邱晞, 等. 基于Python的Abaqus后处理研究开发及其在薄壁管数控弯曲中的应用[J]. 塑性工程学报, 2007, 14(5): 32-37.GUO Ling, YANG He, QIU Xi, et al. Study and development on the application of Abaqus post-process in thin-walled tube NC bending based on Python[J]. J Plasticity Eng, 2007, 14(5): 32-37.[2]石庆华, 曹正华, 丁立民. 基于Python复合材料多加筋整体构件Abaqus前处理二次开发[J]. 航空制造技术, 2009(S1): 36-39.SHI Qinghua, CAO Zhenghua, DING Limin. The secondary development of Abaqus pre-process for composites stiffened structures based on Python[J]. Aeronautical Manufacturing Technol, 2009(S1): 36-39.[3]宋岩新, 杨庆, 唐小微, 等. Abaqus后处理二次开发在海底管线稳定性分析中的应用[J]. 中国海洋平台, 2008, 23(4): 18-22.SONG Yanxin, YANG Qing, TANG Xiaowei, et al. The application of Abaqus post-process secondary development in the stability analysis of submarine pipelines[J]. China Offshore Platform, 2008, 23(4): 18-22.[4]吴向东, 刘志刚, 万敏, 等. 基于Python的Abaqus二次开发及在板料快速冲压成形模拟中的应用[J]. 塑性工程学报, 2009, 16(4): 68-72.WU Xiangdong, LIU Zhigang, WAN Min, et al. Study and development on the application of Abaqus in the sheet metal rapid forming simulation based on Python[J]. J Plasticity Eng, 2009,16(4): 68-72.[5]马野, 许希武, 宁晋建. 基于Abaqus裂纹自动扩展二次开发及分析[J]. 飞机设计, 2009, 29(1): 21-24.MA Ye, XU Xiwu, NING Jinjian. Second-developed program about crack growth simulation and analysis based on Abaqus[J]. Aircraft Des, 2009, 29(1): 21-24.[6]鲍荣浩, 卢文浩. Abaqus前处理程序二次开发在蜂窝材料中的应用[J]. 工程设计学报, 2003, 10(6): 330-333.BAO Ronghao, LU Wenhao. Application of second-developed Abaqus Pre-process on honeycomb[J]. J Eng Des, 2003, 10(6): 330-333.[7]王家林, 李平. Abaqus箱型桥梁的GUI二次开发[J]. 重庆交通大学学报: 自然科学版, 2009, 28(6): 1000-1004.WANG Jialin, LI Ping. Secondary development for GUI of box girder bridge based on Abaqus [J]. J Chongqing Jiaotong Univ: Nat Sci, 2009, 28(6): 1000-1004.[8]章继峰, 王振清, 周健生, 等. 基于Python-Abaqus复合材料代表性体积元的数值模型[J]. 宇航材料工艺, 2009, 39(3): 25-29.ZHANG Jifeng, WANG Zhenqing, ZHOU Jiansheng, et al. Numerical modeling of composite Representative Volume Element (RVE) based on Python-Abaqus[J]. Aerospace Mat & Technol, 2009, 39(3): 25-29.[9]LUTZ M, ASCHER D. Learning Python[M]. 2nd ed. Queensland: O’Reilly, 2003: 4-16.(编辑于杰)。

ABAQUS二次开发基础

ABAQUS二次开发基础

第9章 ABAQUS二次开发基础知识要点:;ABAQUS二次开发概述;ABAQUS用户子程序接口;ABAQUS用户子程序介绍;应用举例本章导读:本章主要介绍了大型有限元软件ABAQUS二次开发的基本情况,主要包括:ABAQUS二次开发概述、ABAQUS用户子程序接口、ABAQUS用户子程序介绍等,最后给出两个算例,介绍采用ABAQUS进行二次开发以及建立ABAQUS主程序与用户子程序之间口的基本过程。

9.1 ABAQUS二次开发概述随着计算技术和计算机的快速发展,有限元软件的发展速度迅速,功能日渐强大。

目前国际上被广泛采用的通用有限元软件有 ANSYS、MSC、ABAQUS 等。

利用商业软件进行计算现在已是科学研究中的一项重要手段。

由于工程问题的千差万别,不同的用户有不同的专业背景和发展方向,通用软件不免在具体的专业方面有所欠缺,针对这些不足,大部分的通用软件都提供了二次开发功能,以帮助用户减少重复性的编程工作、提高开发起点、缩短研发周期、降低开发成本,并能简化后期维护工作,给用户带来很多方便。

基于通用软件平台进行开发,是目前研究的一个重要发展方向。

ABAQUS 也提供了若干用户子程序(User Subroutines)接口,它是一个功能非常强大且适用的分析工具,与命令行的程序格式相比,用户子程序的限制少得多,从而使用更加灵活方便。

ABAQUS不仅提供标准的有限元分析程序,而且具有良好的开放性,可利用它提供的用户子程序接口生成非标准的分析程序来满足用户的需要,在实际工程中得到广泛应用。

ABAQUS 允许用户通过子程序以代码的形式来扩展主程序的功能,并给用户提供了强大而又灵活的用户子程序接口和应用程序接口(Utility Routine),ABAQUS共有42个用户子程序接口,15个应用程序接口,用户可以定义包括边界条件、荷载条件、接触条件、材料特性以及利用用户子程序和其它应用软件进行数值交换等等。

abaqus二次开发

abaqus二次开发

Abaqus 使用FQA:Q: abaqus的图形如何copy?A: file>print>file格式为png,可以用Acdsee打开。

Q: 用Abaqus能否计算[Dep]不对称的问题?A: 可以,并且在step里面的edit step对话框other里面的matrix solver有个选项。

Q: 弹塑性矩阵【D】与ddsdde有何联系?A: stress=D*stran;d(stress)=ddsdde*d(stran)。

Q: 在abaqus中,如果采用umat,利用自己的本构,如何让abaqus明白这种材料的弹塑性应变,也就是说,如何让程序返回弹性应变与塑性应变,好在output中输出,我曾想用最笨地方法,在uvarm中定义输出,利用getvrm获取材料点的值,但无法获取增量应力,材料常数等,研究了帮助中的例子,umatmst3.inp,umatmst3.for,他采用mises J2 流动理论,我在output history 显示他已进入塑性状态,但他的PE仍然为0!!?A: 用uvar( )勉强成功。

Q: 本人在用umat作本构模型时,*static,1,500,0.000001,0.1 此时要求的增量步很多,即每次增量要很小,*static1,500 时,在弹性向塑性过度时,出现错误,增量过大,出现尖点.?A: YOU CAN TRY AS FOLLOWS:*STEP,EXTRAPOLA TION=NO,INC=2000000*STA TIC0.001,500.0,0.00001,0.1。

Q: 模型中存在两个物体的接触,计算过程中报错,怎么回事?A: 接触问题不收敛有两个方面不妨试试:一、在*CONTACT PAIR 里调试ADJUST参数;二、调一些模型参数,比如FRICTION等。

Q: 在边界条件和加载时,总是有initial这个步,然后是我们自己定义的加载步,请问这个initial步,主要作用是什么?能不能去掉?A: 不能去掉,所有的分析都有,是默认的步。

基于ABAQUS的圆柱形橡胶堆参数化建模的二次开发

基于ABAQUS的圆柱形橡胶堆参数化建模的二次开发

2.1 面开发方式的确定
Rubber: C10:
Poissons Ratio:
C01:
D1:
Load1
对橡胶堆进行二次开发的界面开发的方式主要有以
博看网 . All Rights
Reserved.
下两种 [6] ꎮ
Load1:
1) 创建 Plug-ins 插件程序ꎻ
2) 创建用户应用程序ꎮ
对于第 2 种 方 法ꎬ 利 用 创 建 其 他 的 应 用 程 序 ( 如
h
H2
H3:
Layers:
O
图 2 圆柱形橡胶堆的
H1
D2
D1
x
Cancel
OK
图 3 Model setting 界面
受载示意图
2 橡胶堆仿真模块的设计
Rubber pile
Model setting
Material and load setting
Steel: Youngs Modulus:
(3)
赋予材料、边界条件、施加载荷及网格划分等操作ꎬ并自动
界面的设置和输入相关参数ꎬ程序将快速完成几何建模、
将作业提交分析ꎬ从而得出所需要的分析结果ꎮ
Rubber pile
Model setting Material and load setting
z
D1:
D2:
R
H1:
D3
H2
2r
H3
D3:
R:
y
SONG Ying1ꎬ2 ꎬ RONG Jigang2 ꎬ MA Qiucheng1 ꎬ HUANG Youjian2 ꎬ WANG Jinhui 2
(1. Xiangtan Universityꎬ Xiangtan 411105ꎬ Chinaꎻ

ABAQUS二次开发教程

ABAQUS二次开发教程

ABAQUS(Python语言)二次开发人生苦短,我用Python作者:Fan ShengbaoPython2.72017年12月目录第一章Python程序基本语法 (1)1.1Python语法结构 (1)1.2Python元组 (1)1.3Python列表 (1)1.4Python字典 (2)1.5Python集合 (3)1.6Python字符串 (3)1.7Python分支语句 (4)1.8Python循环语句 (5)1.8.1for循环 (5)1.8.2while循环 (5)1.9Python定义函数 (5)1.10Python模块 (6)1.11Python包 (7)1.12Python文件和目录 (7)1.12.1目录操作 (7)1.12.2文件操作 (7)1.13Python异常处理 (8)第二章ABAQUS/Python二次开发 (9)2.1ABAQUS执行Python程序 (9)2.2编写ABAQUS/Python程序 (10)2.3ABAQUS录制Python程序 (10)2.4ABAQUS/Python对象介绍 (11)2.4.1 session对象 (11)2.4.2 mdb对象 (11)2.4.3 odb对象 (13)2.5ABAQUS完整二次开发示例 (14)2.6ABAQUS二次开发常用函数 (16)2.6.1 Part模块常用函数 (16)第一章Python程序基本语法1.1Python语法结构Python语言以缩进来约束每个程序块,编写程序时要特别注意每一行的缩进量,同一层次的语句应具有相同的缩进量。

下面是一段Python程序示例:#-*- coding:utf-8 -*-for i in range(1,10):for j in range(1,i+1):print str(j)+'x'+str(i)+' = '+str(i*j),print该段程序主要功能是实现乘法口诀表输出打印,其中“#-*- coding:utf-8 -*-”是约定文档的编码方式。

ABAQUS二次开发教程

ABAQUS二次开发教程

ABAQUS(Python语言)二次开发人生苦短,我用Python作者:Fan Shengbao2017年12月目录第一章 Python程序基本语法 (1)1.1 Python语法结构 (1)1.2 Python元组 (1)1.3 Python列表 (2)1.4 Python字典 (3)1.5 Python集合 (3)1.6 Python字符串 (4)1.7 Python分支语句 (5)1.8 Python循环语句 (5)1.8.1for循环51.8.2while循环51.9 Python定义函数 (6)1.10 Python模块 (7)1.11 Python包 (7)1.12 Python文件和目录 (7)1.12.1 目录操作 (7)1.12.2 文件操作 (8)1.13 Python异常处理 (8)第二章 ABAQUS/Python二次开发 (9)2.1 ABAQUS执行Python程序 (9)2.2 编写ABAQUS/Python程序 (10)2.3 ABAQUS录制Python程序 (10)2.4 ABAQUS/Python对象介绍 (11)2.4.1 session对象 (11)2.4.2 mdb对象 (11)2.4.3 odb对象 (13)2.5 ABAQUS完整二次开发示例 (14)2.6 ABAQUS二次开发常用函数 (16)。

2.6.1 Part模块常用函数 (16)3ABAQUS(Python语言)二次开发教程第一章 Python程序基本语法1.1Python语法结构Python语言以缩进来约束每个程序块,编写程序时要特别注意每一行的缩进量,同一层次的语句应具有相同的缩进量。

下面是一段Python程序示例:#-*- coding:utf-8 -*-for i in range(1,10):for j in range(1,i+1):print str(j)+'x'+str(i)+' = '+str(i*j),print该段程序主要功能是实现乘法口诀表输出打印,其中“#-*- coding:utf-8 -*-”是约定文档的编码方式。

Abaqus二次开发介绍

Abaqus二次开发介绍

Abaqus⼆次开发介绍ABAQUS提供了两种⼆次开发的接⼝,⼀是⼦程序接⼝(user subroutine),⼀种是脚本接⼝(Abaqus scripting interface),Abaqus的脚本语⾔是在python语⾔的基础上进⾏的定制开发,它扩充了python的对象模型和数据类型,使Abaqus脚本接⼝的功能更加强⼤,⼀般来说,Abaqus脚本接⼝可以实现以下功能①创建、修改ABAQUS模型中的属性,如部件、材料、荷载和分析步等②创建、修改和提交分析作业③读取和写⼊ABAQUS输出数据⽂件④查看分析结果Abaqus中python脚本的通信关系如下图所⽰从图中可以看出,ABAQUS可以通过三种⽅式运⾏脚本⽂件(1)GUI。

Abaqus在采⽤GUI进⾏建模的同时,会⽣成⼀个rpy格式的脚本⽂件。

当然,也可以通过macro管理器录制⼀段宏命令(2)命令⾏。

在abaqus CAE界⾯底端的命令⾏键⼊python命令,点击回车后即可⾃动运⾏。

(3)编辑脚本⽂件。

预先编辑好脚本⽂件,在start session 对话框或者file按钮⾥选择run script运⾏脚本。

也可以在ABAQUS command窗⼝中键⼊命令运⾏脚本Abaqus cae script=myscript.pyAbaqus cae startup=myscript.py启动CAE界⾯并运⾏脚本Abaqus viewer script=myscript.pyAbaqus viewer startup=myscript.py启动Viewer并运⾏脚本Abaqus cae noGUI=myscript.pyAbaqus viewer noGUI=myscript.py不启动CAE或者Viewer运⾏脚本此外,ABAQUS也提供了⼀个python编译器,可以通过file→abaqus pde运⾏详细的python命令,⼤家可以通过帮助⽂件中的Abaqus Scripting Reference Guide进⾏查看。

abaqus-python二次开发方法

abaqus-python二次开发方法

abaqus-python二次开发方法(超实用)基于的二次开发对于很多新手来说都是一个神秘的,感觉是高难度的问题,致使很多新手对二次开发的研究都处于初级了解阶段,或完全不感冒阶段。

其实二次开发很简单,某种意义上讲,常用的ABAQUS二次开发方式有两种,(1)直接修改inp文件,这种方式需要对inp文件中大量的节点和单元进行操作,一般不建议采用inp文件进行二次开发(除非有特殊的关键字或标识符,其实关键字也可以用python语言来进行二次开发,笔者亲证)。

采用inp文件进行二次开发数据量大,行数多,一旦发生问题难以检测错误原因(2)采用abaqus语言,自编脚本,简单容易,非常适合初学者。

这里主要介绍python入门python语言的开发远没有想象中的难,其实基于abaqus语言的二次开发更像是word或excel里的VBA,我们只要通过录制一段宏文件,就可以简单迅速的完成一个模型的建立,当我们人为的对这段宏文件进行修改,就可以完成对该模型的修改,非常适合有大量相同或类似模型的建立,防止用户一遍又一遍繁琐的建模操作。

简单的步骤如下:1.在建模前先打开file--Macro Manager,然后新建一个宏文件(在Home或Work都行,只要你最终能找到这个文件),此时会弹出Record Macro对话框,托至不碍事的地方2.进行正常的cae建模就行,至到建模完成3.点击Record Macro对话框的Stop Mecording,此时命令栏会显示“Macro "Macroname" has been added to "E:\Temp\Macroname.py"”,前期任务搞定4.此时用文本编辑器打开此py文件,py文件中有些文字是没有用的,把“def Macro1 ...import connectorBehavior”都可以删掉,每行字前的空格都要去掉(文本编辑器里一般有列模式,用列模式可以对整个文本的进行操作)5.复制你新生成的python文件,并对该文件中的参数进行修改,在提交给abaqus--cae就可以完成重复建模了,如此可以无限重复,其实python语言都是大白话,你能看懂的需要指出的是:1.可以结合其它编程语言如VB、VC 配合修改参数并生成py文件,使用更为灵活2.生成py文件可以直接在cae中选择file-run script,选择你生成的python文件3.可以用python文件直接生成cae模型文件,可在py文件最后添加"mdb.saveAs(pathName='" *** "')"4.可以通过cmd命令直接将py文件提交个abaqus内核,让abaqus进行运算,cmd命令为“Shell"C:\Windows\SysWOW64\cmd.exe /k abaqus cae noGUI=" **** ".py ", vbHide等待abaqus运算的py语言"myJob.submit(consistencyChecking=OFF, datacheckJob=True)"。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

fv
k1 = 10k2
k2
dv
Figure 2. Vertical mechanical properties of rubber isolation bearing 图 2. 隔震垫的竖向力学性能
112
k1 k= k2
(当dv ≥ 0时) (当dv < 0时)
基于 ABAQUS 的橡胶垫隔震支座单元二次开发
(4)
式中 k1 为压缩刚度, k2 为拉伸刚度。 d v 为压缩变形。 采用 Bouc-Wen 模型模拟水平恢复力特性,如图 3 所示。单元水平力–位移关系式为:
f = k y d + ( ke − k y ) e
(5)
其中: ke 为初始线性刚度; k y 为屈服后刚度; d 为水平总变形; d y 为屈服变形。 e 为水平弹性变形,并处于 ± d y 的范围内,它通过对下面微分方程在每个时间步长进行数值积分计算 出来:
3. 隔震支座单元
3.1. 隔震支座单元力学模型
采用线弹性模型模拟竖向的拉压刚度异性,如图 2 所示。单元的竖向力–位移关系式为:
f v = kd v
(3)
f
u
M
Figure 1. The hysteretic curve and sketch maps of Bouc-Wen model 图 1. Bouc-Wen 模型滞回曲线和示意图
Hans Journal of Civil Engineering 土木工程, 2014, 3, 110-121 Published Online July 2014 in Hans. /journal/hjce /10.12677/hjce.2014.34014
关键词
橡胶垫隔震,非线性滞回特性,ABAQUS,二次开发,仿真分析
1. 引言
随着隔震技术的广泛应用,针对隔震结构的非线性分析和设计显示出了日益重要的科学意义和工程 应用价值。采用隔震技术,可以使得结构在地震激励时其上部处于弹性状态,主要的变形和能耗都集中 在隔震层处,因此对这类结构的非线性分析,其关键在于能否正确模拟隔震支座的力学特性并将其结合 进大型有限元的动力分析软件中。对此,国内外学者进行了广泛的研究,发现隔震支座的水平恢复力表 现为的典型的非线性滞回特性[1]-[5], 并且不同种类的隔震支座的滞回特性还有所差异, 同时其竖向力学 性能具有表现为拉压异性的特点[2]。对于水平恢复力特性的描述,可以采用简单的分段线性模型,其不 足是模型存在拐点,使得在数值分析和有限元分析时处理相当复杂,且容易造成结果失真,另外一种方 案则是采用复杂的微分方程模型,如Bouc-Wen模型采用光滑的曲线处理了滞回曲线的拐点,可以较好的 模拟隔震支座的滞回特性,因而得到了广泛的应用。目前常用的大型结构分析有限元软件,如ETABS、 SAP2000和MIDAS均采用Bouc-Wen模型来描述隔震支座的力学特性。Bouc-Wen模型包含较多的参数, 其中有些参数对恢复力的滞回特性的影响很大,因此根据实际的隔震支座的力学性能,选择并设定合理 的参数是很有必要的。但是使用在ETABS和SAP2000时,只能调节橡胶隔震垫参数,无法调节Bouc-Wen 模型的滞回参数;在MIDAS软件中,可以调节参数 α 、 K 、 Fy 、 β 和 γ ,却无法调节参数A和n。而且 其竖向力学性能均为线弹性,无法模拟隔震支座的拉压异性问题。在现有的有限元软件中,ABAQUS的 非线性求解功能性能卓越,但它目前还没有直接可用的隔震支座单元,其自带的JOINTC连接单元由3个 平动弹簧构成,可以模拟两个节点之间的相互作用,但JOINTC连接单元只能模拟叠层橡胶支座,因为其 方向只能定义成线弹性或弹塑性,无法模拟非线性滞回耗能的力学行为。BUSHING单元能够同时定义6 个方向塑性行为和阻尼特性,但6个分量之间相关性太高,给应用带来诸多不便。因此要想利用ABAQUS 的强大的非线性求解功能进行隔震结构的分析,必须开发一种基于Bouc-Wen模型的隔震支座单元,并且 能进行滞回参数调节。 本文基于ABAQUS软件的用户单元子程序接口,采用Bouc-Wen模型作为水平恢复力模型,并考虑竖 向刚度的拉压异性,开发了基于Bouc-Wen模型的隔震支座单元UEL子程序,相关的模型参数可以根据实 际需要进行设置和调节的。应用所开发的程序,通过对一栋不规则结构进行了地震响应动力分析,研究 了相关参数对隔震效果的影响。
111
基于 ABAQUS 的橡胶垫隔震支座单元二次开发
2. Bouc-Wen 模型
1967 年 Bouc 首先提出了一种光滑迟滞模型[6],随后针对结构动力滞回性能的研究,Wen[7]通过对 Bouc 提出的模型进行归纳总结, 采用光滑的曲线处理了滞回曲线的拐点, 使得该模型得到了完善和发展, 在当前工程领域中被广泛使用[8]-[12],可以较好地模拟铅芯隔震橡胶支座的水平恢复力特性。根据 Wen 提出的微分滞回模型,结合铅芯橡胶支座的力学特点,其力学模型可由线性弹簧和滞回弹簧组合表示如 图 1 所示,数学表达式如下:
Keywords
Rubber Isolation, Non-Linear Hysteresis, ABAQUS, Secondary Development, Simulation
基于ABAQUS的橡胶垫隔震支座单元二次开发
王 晖,方明胜,孙作玉
广州大学土木工程学院,广州 Email: 601063037@, fangms89@, sunzuoyu@ 收稿日期:2014年5月26日;修回日期:2014年6月20日;录用日期:2014年6月28日
F= ( K p − Ke )U + KeU e
(9)
式中 U 为总变形矢量,U e 为弹性变形矢量,F 为节点力矢量,如式 10 所示。单元刚度矩阵 K 为 6 × 6 阶,由线性刚度矩阵 K e 和非线性刚度矩阵 K p 两部分组成。其中 K e 和 K p 均为 6 × 6 阶的对称矩阵,具 体形式如下:
F α K1u + (1 − α ) Qd z =
(1)
式中: F 为隔震支座水平恢复力; u 为水平剪切位移; K1 为屈服前刚度; α 为屈服后刚度与初始刚度的 比值; Qd 为屈服荷载; z 为无量纲滞回变量,该变量的范围满足 z ≤ 1 。满足如下微分方程:
−β u z y = zD Au
(7) (8)
= e
et − et −t t
3.2. 隔震支座子程序开发
隔震垫单元包含 2 个节点,如图 4 所示,第一个和第二个节点(a 和 b)各有 3 个平动自由度,如图 5 所示。对于轴向变形,其属性只能是线性的,两个剪切变形有耦合,均可定义线性和非线性行为。对于 两节点三自由度隔震支座而言,其在 ABAQUS 软件中的力–位移关系表示如下:
110
基于 ABAQUS 的橡胶垫隔震支座单元二次开发


橡胶垫隔震技术是减轻建筑结构在地面地震动激励下动力响应的有效措施, 得到了日益广泛的工程应用。 隔震的结构也由普通的低矮建筑拓展到一些复杂结构,如一些不规则的建筑场馆、桥梁,目前在高层建 筑中也得到了应用。这对结构的动力响应分析提出了越来越高的要求,特别是对大型复杂结构,如何模 拟橡胶垫的非线性特性,并结合到结构的有限元分析中,已成为影响橡胶垫隔震技术推广应用的一个关 键问题。本文基于ABAQUS的二次开发平台,采用Bouc-Wen模型描述其水平恢复力的滞回特性,同时考 虑竖向刚度的拉压异性,对橡胶垫隔震支座单元进行了二次开发,其中Bouc-Wen的参数可以根据需要 进行合理的调节和设置,基于所开发的软件,对一个不规则结构进行了仿真分析,探索了隔震的影响效 果。
n −1
z 支座的水平剪切位移的速度,n为控制滞回曲线弹性阶 式中, Dy 为屈服位移,满足 Qd = K1 Dy , u
段与塑性阶段过渡平滑的特性参数,A、 β 、 γ 描述滞回曲线的形状参数,通过合理地调整Bouc-Wen模 型的有关参数,可以较好地模拟铅芯隔震橡胶支座的力学性能。
Rubber Isolation Bearing Element Secondary Development Based on ABAQUS
Hui Wang, Mingsheng Fang, Zuoyu Sun
College of Civil Engineering of Guangzhou University, Guangzhou Email: 601063037@, fangms89@, sunzuoyu@ Received: May 26th, 2014; revised: Jun. 20th, 2014; accepted: Jun. 28th, 2014 Copyright © 2014 by authors and Hans Publishers Inc. This work is licensed under the Creative Commons Attribution International License (CC BY). /licenses/by/4.0/
Abstract
Rubber isolation technology is an effective means to mitigate the dynamic responses of a building under seismic excitations, now it has been applied widely in engineering, from those lower stiff buildings to some complicated structures, such as large scale irregular stadium, bridges, and even high rise buildings recently. Such trends lead to higher requirements for dynamics response analysis, especially for those larger scale structure, the arisen key problem is how to simulate the nonlinear hysteresis property of the rubber bearing, and incorporate the programs in the finite element analysis. Based on the secondary development platform of ABAQUS, we program for the rubber bearing element, in which, the Bouc-Wen model is employed to describe the hysteresis behavior in lateral, while the strength-differences of vertical stiffness are treated as well. An iregular building is simulated to investigate the effects of base isolation by using the developed program.
相关文档
最新文档