版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 ABAQUS 软件 2003 年度用户论ABAQUS 前处理程序二次开发在多胞材料中的应用鲍荣浩卢文浩(浙江大学力学系 杭州 310027)摘要:多胞材料具有独特的力学性质,其工程应用日益增加。使用 ABAQUS 脚本语言开发了一系列 程序,用于建立多胞材料的几何模型。所涉及的多胞材料包括矩形圆管堆、三角形圆管堆。另外,还 讨论了复杂的胞元自接触的创建过程。 关键词:多胞材料;ABAQUS;Python中图分类号:O313 ,TP311文献标识码:AApplication of Second-Developed ABAQUS/Pre on Cellular materialBao Rongh
2、aoLu Wenhao( Department of Mechanics , ZheJiang University,HangZhou310027,China)Abstract: With special mechanical properties, cellular material is applied to more and more areas. Through ABAQUS script interface, several programs were developed to build geometrical model of cellular material. Cellula
3、r material involved include circleRectangle and circleTriangle. Inaddition, the definition of self-contact of the cells in cellular material was discussed.Keywords:Cellular material ;ABAQUS;Python1 引言 自然界中有许多胞状结构的材料,如多胞、海绵、珊瑚等,是有许许多多单个的“胞体”组成,这类材料称为多胞材料。人类很早就开始应用自然界中的多胞材料。近年来各种人造多胞材料也大量 出现在我们生活中。各种包
4、装用的泡沫塑料处处可见。除了高分子塑料外,很多材料也都可以用来做 成多胞材料,例如金属、陶瓷、玻璃等。多胞材料有一些特殊的性质,使它们有广泛的应用。它们一 般相对密度都比较小,是理想的轻质结构材料,可做夹层板的芯层材料,用于航空结构、体育运动器 材等。多胞材料抗压强度一般比较低,变形能力大,是很好的能量吸收材料,广泛用于各种防撞缓冲 的包装盒衬垫。此外,多胞材料还具有好的隔热性能,因而也有其他的广泛用途。- 1 - ABAQUS 软件 2003 年度用户论多胞材料的应用日益广泛,人们对多胞材料的认识也日渐深入。多胞材料的弹性性质的预测已有 了一套比较成熟的方法,其失效面的形状也有了一定的了解。
5、人们还在进一步深入研究多轴应力显的 失效模型、不同失效模式(如弹性屈曲和塑性坍塌)之间的交互作用,以及破坏后的大变形等非线性 现象。研究多胞材料在动载荷作用下的响应有重要意义。从具有微观性质的胞体的动力特性出发,分 析多胞材料动力相应的特点,是很有趣味和有实际意义的问题。这些问题的研究对于多胞材料同样是 十分重要的。目前,在我国应用多胞材料理论指导工程设计有着特殊的重要性。研究多胞材料经常需要使用 ABAQUS 等有限元软件进行各种数值模拟,然而在用有限元对多胞 材料进行各种数值模拟,经常会遇到一些困难:由于多胞材料包含大量胞体,几何模型很复杂,对于 前处理功能比较差的 ABAQUS/CAE
6、GUI 来说,用手工建立有限元几何模型会花费很多的精力。本文要做的就是利用多胞材料中胞元几何形状的相似性,对 ABAUQS 前处理程序进行二次开发,用ABAUQS 脚本语言(Python 语言)开发一段程序,有了这样一段程序,用户只需输入胞元和材料的几何参数,即可自动生成所需多胞材料的几何模型,就不再用一个一个胞元手工去画了,能为用户 节省大量时间。2 ABAQUS 与 PythonABAQUS 是国际上最先进的大型通用有限元计算分析软件之一,具有惊人的广泛的模拟性能。它拥有大量不同种类的胞元模型,材料模型等。 ABAQUS/CAE 模块是一个完整的 ABAQUS 环境,提供一个简单一致的接口
7、,可以用来创建、提交、监视和评价 ABAQUS 模拟的所得到的结果。 Python 语言是一种面向对象的程序设计语言, ABAQUS 的脚本接口是 Python 语言的一个扩展,可以利用 ABAQUS 脚本接口,绕过 ABAQUS/CAE GUI,直接对 ABAQUS 内核进行操作。可以用 Python 语言编制 ABAQUS 脚本接口可以执行的程序。 ABAQUS 脚本接口即是一个基于对象(object)的程序库。脚本接口中的每个对象都拥有相应的数据成员(data)和函数,对象中的函数专门用来处理对象中的数据成员。在 Python 中,这些函数被称为相应对象的方法(method),用来生成对
8、象的方法被称为构造函数(constructor)。在对象被创建后,可以使用该对象提供的方法来处理对象中的数据成员。特别地,还可以使用 setValues( )方法来修改对象中的数据成员。 - 2 - ABAQUS 软件 2003 年度用户论图 1. ABAQUS 对象模型ABAQUS 对象模型是指 ABAQUS 脚本接口中的各种对象类型之间的层次结构和相互关系。ABAQUS 脚本接口对 Python 语言的扩展,主要体现在一系列的 ABAQUS 对象类型,以及基于这些对象的方法(method)。ABAQUS 大约定义了 500 个对象类型。这些对象类型之间的关系比较 复杂。一般将这些对象类型分
9、为三类,如图 1。其中,Session 对象用来定义 viewport,远程队列, 用户定义的视图等。Mdb 对象是保存在模型空间中的对象。声明语句 from abaqus import * 创建了一个名为 mdb 的 Mdb 对象。Mdb 对象包括 Model 对象和 Job 对象。而 Model 对象又包含part 对象,section 对象,material 对象,step 对象等等。Model 对象类型几乎包含了建模编程的所需要的所有对象类型,是要主要考虑的对象类型。 3 二次开发 3.1 矩形圆管堆 使用 ABAQUS 脚本进行多胞材料建模的基本框架大致是:先做一些准备工作(引入模块
10、,创建模型空间,用户输入),然后创建并绘制 sketch,最后生成 part 并以图形窗口的形式显示结果。在程序的开始处引入几个模块,对于使用频繁的模块 abaqus, abaqusConstants,将它引入全局名子空间,在程序中这些模块中的变量名可直接引用,abaqus 模块引入了一些基本的 ABAQUS 对象,也提供了一个名为 mdb 的缺省的模型空间。abaqusConstants 引入了 ABAQUS 定义的一系列符号常量;对于使用不频繁的模块 part, sketch, random,仍将其变量名限于模块名子空间,在程序中引用这些模块中的变量,需要以模块名为前缀。 创建一个名为 M
11、odel-1 的模型。并专门定义了变量 myModel 为它的别名。 在程序中,需要用户输入的参数有:模型的长度、宽度及深度。ABAQUS 提供了函数 getInput( )用来和用户进行交互。 - 3 - ABAQUS 软件 2003 年度用户论根据用户输入的材料大小,来计算合适的图纸大小。这需要创建一个 sketch,并专门定义了一个变量 mySketch 作为它的别名。 计算胞元的数量及画图的起始坐标时。 基本的思想就是用胞元尽量填满指定的模型大小范围。由于胞元必须是整数,所以这里计算的胞元数最后用强制类型转换将其变成整型。为了保证模型图形 位于图纸的中央,由于图纸中央的坐标是 (0,
12、0),令起始坐标为模型大小的二分之一。 图 2. 矩形圆管堆 sketch 的绘制 以上为准备工作,接下来绘制 sketch。定义变量 xline, yline 来表示当前的胞元的坐标 (xline, yline), 以绘图函数 CircleByCenterPerimeter( ) 来绘制每个胞元。CircleByCenterPerimeter( ) 函数有两个参数分别是圆心坐标,及圆上任意点。在 Y 方向上和 X 方向上以两重循环绘制图形。如图2 所示,外层循环使得 yline 在 Y 方向上以胞元直径递增,内层循环使得 xline 在 X 方向上也以胞元直径递增。 做好了 sketch,然
13、后做 part。程序先定义一个名为 Part A 的 part,并专门定义了一个变量myPart 作为它的别名。之后调用函数将绘制好的 sketch 伸展(extrude)成一定深度(由用户定义) 的三维图形。最后,创建一个名为 Viewport: 1 的 viewport,用来显示这个 part,并设置了显示参数,以便于观察。 3.2 三角形圆管堆 - 4 - ABAQUS 软件 2003 年度用户论图 3. 三角形圆管堆 sketch 的绘制 三角形圆管堆的程序与矩形圆管堆的程序基本框架一致,只存在结构上的差异。这里仅讨论两者 的差异。三角形圆管堆与矩形圆管堆结构差异不大,但稍显复杂。如图
14、 3 所示,三角形圆管堆的每一行并不完全一致,奇数行与偶数行的起始坐标相差 r,这个问题可以在外层循环中解决。在外层循环中, 程序先判断是奇数行还是偶数行,之后把相应的起始坐标值赋给 xline. 另外,相对于矩形圆管堆, 三角形圆管堆 Y 方向的间距有所变化,不再是 2r,而是 b = sqrt(3)*r,此处使用了开方函数 sqrt( ), 使用前应先引入其所在模块 math,它来自 Python 标准库。 3.3 自接触的实现 在 ABAQUS 中,自接触用来描述一个 surface 的不同区域的互相接触。这将避免在实际模拟中可能会出现的一个面穿过另一个面的情况。 在自接触的定义中,要用
15、到 face, side 和 surface 几个概念,face 是 ABAQUS/CAE 图形中“面”的一种内部表示。surface 是用户定义的区域,用来表示图形刚体上的某些 face 的集合。surface 的定义可以指定方向(side):SIDE1(正面),SIDE2( ),或者 SIDE12(两面都要)。 在 ABAQUS 里 ,part 不可以直接定义接触,所以要先把 part 实例化,程序创建了一个名为Instance A 的实例,并且专门定义了一个变量 myInstance 作为它的别名,之后程序定义一个名为IntProp-1 的交互(interaction)属性,用来描述自接
16、触的性质。接下来程序开始一个胞元一个胞元地定义自接触。对于不同的材料结构,定义的方法也有所不同。下面分别讨论。 - 5 - ABAQUS 软件 2003 年度用户论图 4. 矩形圆管堆自接触的定义 图 5. 三角形圆管堆自接触的定义 如图 4 所示的矩形圆管堆,在 ABAQUS/CAE 内部一个胞元被分成了四个 face 即图中的 AB, BC,CD,DA 四段弧。要把这四段弧重新组成胞元,作为一个 surface,可以通过函数 findAt( ) 来实现。findAt( ) 只需 face 上一点即可找到该 face. 如图,在四段弧上分别选了一个点,即点 1、点2、点 3、点 4。另外,缺
17、省的面方向是向圆外的(SIDE1),但需要的是圆内侧的面,所以设置面方向为 SIDE1. 有了 surface 的定义,就可以定义自接触了。按胞的行列号来命名生成的自接触。最后将定义好自接触的材料模型在 viewport 中显示出来。 同样的道理,对于三角形圆管堆,如图 5 所示,在 ABAQUS/CAE 内部一个胞元被分成了六个face 即图中的 AB,BC,CD,DE,EF,FA 六段弧。需要把这六段弧重新组成胞元,作为一个 surface。同样通过函数 findAt( ) 来实现。如图,在六段弧上分别选了一个点,即点 1、点 2、点 3、点 4、点5、点 6。另外,缺省的面方向是向圆外的
18、(SIDE1),但需要圆内侧的面,所以设置面方向为 SIDE2。 4 应用实例 应用上述的二次开发程序,对两类多胞体材料进行了实体造型,再进行有限元网格划分,网格大小都取为 2.8mm, 获得了良好的结果(图 6 ,7)。图 6. 带网格的矩形圆管堆效果图。(胞半径 10.0,材料 250*200*20)- 6 - ABAQUS 软件 2003 年度用户论图 7. 带网格的三角形圆管堆效果图。(胞半径 10.0,材料 280*240*20)5 结论 本文所提出的对于 ABAQUS 系统的二次开发, 利用了 ABAQUS 脚本接口及 Python 语言,可以有效的实施对程序的控制和文件的管理。既充分利用了ABAQUS 提供的开发模块深入到ABAQUS系统内部,实现了系统功能的要求,又利用系统资源,从而大大的提高了开发效率,解决了在分析包 含大量胞体,几何模型很复杂的多胞材料的力学性能时,将遇到的繁琐重复的建模问题。参考文献:12华云龙,余同希 多胞材料的力学行为.力学进展 .1991A. Honig, W. J. Stronge. Dynamic buckling of an imperfect elastic, visco-plastic plate.h
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某塑料厂注塑成型工艺细则
- 老年专科考试题及答案
- 物料进出洁净区管理规程
- 机构研究报告-意大利线上购物用户分析报告:Euronics
- 2.3期望最大化算法推导
- AI技术助力传统风筝文化数字化保护
- 安徽省2026八年级数学下册第17章一元二次方程及其应用17.2一元二次方程的解法3公式法课件新版沪科版
- 2026年内蒙古自治区中考英语试题(学生卷)
- 广东省韶关市仁化县2023-2024学年九年级上学期语文期中考试试卷(含答案)
- 2026年企业反恐安全防范试题及答案
- ISO 9001(DIS)-2026《质量管理体系要求》中英文标准对照版(2025年9月)
- DB50∕T 10013-2025 川渝省际毗邻地区公交运营服务规范
- 环保应急知识培训课件
- 宫颈癌早期诊断筛查课件
- 电气工作票技术规范
- 再生水利用项目可行性研究报告立项
- 体育社会组织建设与管理
- T-CBIA 010-2024 营养素饮料标准
- 2024年广东省普通高中学业水平合格性地理试卷(1月份)
- 思念混声合唱简谱
- 投资回报模型构建及应用
评论
0/150
提交评论