ABAQUS二次开发在材料微结构计算中的应用

2020-06-17 09:04张江溯李旭东
甘肃科学学报 2020年3期
关键词:微结构插件晶界

张江溯,李旭东

(兰州理工大学省部共建有色金属先进加工与再利用国家重点实验室,甘肃 兰州 730050)

如今随着工程问题复杂程度的日益增加,人们对材料的性能有了更高的要求,而材料的性能很大程度上由材料的微观组织结构所决定[1]。由于计算机科学技术迅速发展使得材料微结构计算已成为人们的研究热点,其采取的主要手段就是数值材料技术、数字材料技术以及虚拟现实技术。它是从材料微观结构的几何状态、取向状态和物性状态3个角度来研究科学问题,揭示微观组织结构内在规律[2]。

对于金属材料变形的研究来说,构造多晶体的微观结构尤为重要[3],它的建立是有限元模拟仿真分析的前提。它不同于宏观建模,在建立微观模型的过程中需要考虑更多的特征因素,比如晶粒大小、几何结构、分布特征以及晶体取向等[4-5],建立准确的多晶体有限元模型对于研究多晶体的内部变形以及微观组织演变行为有着重要意义。

ABAQUS作为国际通用的有限元仿真软件之一,它自身具备的二次开发接口有着强大的建模优势,可以通过编写接口脚本语言实现各种复杂几何结构的可视化[6]。同时也可以根据用户自身的需求进行前后处理的开发。

1 ABAQUS实现Voronoi多晶体几何模型

1.1 Voronoi图基本原理

Voronoi图最早是由俄罗斯数学家Georgy Fedoseevice Voronoi提出的,并在1908年对n维Voronoi图作了相关的定义[7]。伴随着科学技术的不断发展,大规模的数学计算成为可能,因此Voronoi图被广泛地用于地理学、气象学、结晶学、图像处理、微结构模拟和城市规划等一些复杂的问题的处理中[8]。

二维Voronoi定义如下:令S属于平面内包含有n个任意分布的点集合,即S={p1,p2,…,pn},设

i,j=1,2,3,…,n

(1)

其中:d(p,pi)表示p和pi两者之间的欧几里得距离,像这样的V(pi)就被称为点pi的Voronoi结构。

由定义可知,Voronoi图实质上就是对某一特定空间进行剖分,并由空间剖分后的多边形构成,在每一个多边形的区域内都存在与之对应的目标点,即该区域的发生元,在此多边形所在的区域内每一点到相对应目标点的距离要比到其他点的距离都近。三维Voronoi模型和二维模型原理相同,只是三维Voronoi模型的种子点布置的空间为三维空间。

1.2 Python与ABAQUS

ABAQUS作为国际公认的大型通用非线性有限元软件之一,随着ABAQUS应用领域及用户的不断拓展,软件自身提供的功能往往不能满足一些特殊的使用要求。为了进步满足不同用户在软件使用过程中不断产生的新需求,ABAQUS软件为用户提供了开放的二次开发接口[9],其中包括基于Python语言的脚本接口,主要是能够方便用户根据自身的需求开发前后处理工具或复杂模型的建立等工作。

1.3 多晶体微结构设计实例

(1) 基于Voronoi图的多晶体几何模型构造 多晶体材料微观结构的复杂性和多样性使得我们对多晶体微观组织进行研究变得更加困难,而且要再现真实的多晶体材料的微结构必须要体现实际多晶体微观模型的分布特点、几何构型、晶粒尺寸以及晶粒的形状。采用Voronoi图的多晶建模可以较好地描述晶粒的内部变形情况。此外Voronoi图还可以利用种子分布的随机性来控制多晶体的形态,同时还可人为控制晶粒晶体学取向的分布,基于上述 Voronoi图的建模优点,采用Voronoi原理借助Python语言来建立多晶体几何模型。它的主要操作过程如下:

①首先在指定空间范围内生成一系列均匀分布的种子点,然后对其进行随机扰动,扰动程度由参数e来控制;②将生成的种子点存入列表xyz[]中,然后利用函数array()将该列表转换为数组,并将数组带入函数Voronoi()中;③利用属性ridge_vertices输出一系列边界面上顶点的序号,通过For in循环遍历所有顶点并去除无限远的顶点,只保留有限范围内的顶点,然后在该范围内,把顶点的序号转换为顶点的实际坐标值;④由于多边形边线要首尾相连,所以在尾部再附加上第一个顶点,将生成的Voronoi数据信息存入文档中备用;⑤在ABAQUS环境下通过Python脚本接口读取上面所得到的数据,并存放于多级列表中,以供后续程序调用;⑥利用WirePolyLine命令得到多面体各个面的边,然后使用CoverEdges命令将已生成的边组合成面;(7)利用AddCells命令从壳体生成实体,将各个多面体加入装配体实例,此时得到一个完整的Voronoi多晶几何模型,如图1所示。

图1 ABAQUS中生成Voronoi多晶几何模型

(2) 晶界模型 当进行多晶体材料微结构计算的时候,一般情况下忽略晶界,视其厚度为0,只有当晶粒尺寸非常小时,才会考虑晶界的厚度,因为晶界会影响到材料的整体性能,所以也要对晶界模型进行合理设计。研究根据已经生成的多晶体微结构几何模型,通过编写Python程序,在原来体积大小的多晶体基础上,对每个晶粒各个面偏移一定距离,让晶粒之间产生一定距离的缝隙,从而实现了晶界模型的可视化。在完成偏移操作后,将所有晶粒装配起来,然后与预先建立好的立方体进行布尔差操作,最终得到晶界的几何模型,整个过程如图2所示。

图2 晶界的模拟过程

将偏移后得到的微结构几何模型和构造出的晶界模型进行装配,则完成对具有晶界微结构的仿真。利用上述方法构造得到的由800个晶粒所组成的多晶体微观组织结构如图3所示,这为以后研究晶界对材料性能的影响以及晶界效应等提供了有利的建模基础。

图3 含晶界的多晶体微结构模型

2 多晶体材料微结构设计平台前处理开发

2.1 GUI工作原理

ABAQUS软件的图形用户界面GUI基于ABAQUS GUI Toolkit,交互性好,易于用户理解。ABAQUS人机交互功能是通过ABAQUS/CAE中2个各自独立的执行程序Kernel与GUI之间互相通信完成的交互[10]。

ABAQUS有限元分析通过图形用户界面GUI向用户提示操作步骤,用户使用GUI创建模型并显示处理结果。用户进行任何操作,ABAQUS/CAE都会在内部传递消息,并将结果反馈在用户所建立的模型上。ABAQUS/CAE中Kernel和GUI之间的交互工作原理如图4所示[11]。

再进行GUI二次开发时,用户在GUI用户界面输入信息,内核程序采集用户输入并进行相应操作,并反馈结果。因此在开发时,GUI界面设置文件、内核程序文件、GUI与内核程序的通信文件都必不可少。

图4 ABAQUS内部GUI与Kernel的命令交互流程

基于上述开发GUI插件的原理,通过定制合理的参数对话框,编写内核Python程序开发出材料微结构前处理建模多功能插件,大大提高了前处理建模效率。

2.2 插件Polycrystal Toolkit的开发流程

为了能够更好地表征多晶体内部晶向的排布方式,需要为每个晶粒赋予晶体学取向,而多晶体材料细观模型的结构比较复杂,手动对其进行操作时需要反复切换模块、点击按钮等,过程繁琐,耗时费力。为了能够有效提高前处理建模效率,基于ABAQUS/CAE内嵌的GUI插件开发辅助工具RSG对话框构造器,定制合理的参数对话框,编写内核Python程序开发出了材料微结构前处理建模插件Polycrystal Toolkit。该插件主要功能如下:

(1) 实现自动赋予不同类型的晶体学取向,包括赋予任意取向、相同取向以及任意和指定取向。

(2) 支持晶体学取向的自动替换,替换方式有3种:①替换所有晶粒的晶体学取向;②替换指定晶粒的晶体学取向;③替换除了指定晶粒外剩余晶粒的晶体学取向。

(3) 可以构造指定晶界厚度的微观组织结构。

(4) 实现批量为每个晶粒赋予材料属性。

(5) 支持晶粒的缩放。

(6) 批量为每个晶粒创建集合。

该插件程序开发流程如图5所示。

插件Polycrystal Toolkit是由3个代码文件以及2个.png格式的图片文件组成,文件包括:注册文件(Polycrystal_plugin.py)、图形界面文件(PolycrystalDB.py)、内核执行文件(Polycrystal.py)、多晶体晶界模型示意图(Grain boundary model.png)和赋予晶体学取向后多晶体的示意图(Orientation model.png)。

将以上5个文件存入文件夹并复制到ABAQUS工作目录或者ABAQUS安装目录下的abaqus_plugins文件夹内,重新启动ABAQUS/

CAE主界面,就可以在“Plug-ins”下的子菜单中找到名为Polycrystal Toolkit的插件,点击该菜单之后,则会进入通过编写内核脚本自定义图形界面,如图6所示。

图5 多晶体微结构前处理建模插件程序开发流程

图6 多晶体微结构前处理建模插件

3 数值计算

3.1 有限元模型的建立

为了验证上述微结构建模方法的有效性和准确性,基于有限元仿真软件ABAQUS分别对2种任意取向下的圆柱多晶体模型一端施加扭矩,进行模拟,对比研究了多晶体应力分布情况及内部变形规律。首先通过设定参数并在ABAQUS中运行插件构造出晶粒总数为400的多晶体圆柱模型A,并为其赋予了任意方向的晶体学取向。同理,借助插件中替换取向的功能来替换模型A的晶体学取向得到模型B,使用文献[5]中晶体材料塑性本构关系,且网格单元类型均为C3D4。

3.2 结果分析

扭转变形后的多晶体模型A和多晶体模型B应力分布云图如图7所示。观察图7可以看出,多晶圆柱表面出现明显的凹凸现象,应力分布呈现出极度不均匀现象。这一现象主要是由当地微观组织结构的几何结构以及初始取向的随机分布造成的,而且最大应力都处于晶粒边界的位置,这是因为多晶体在受载变形的过程中,使得晶粒之间发生相互作用,所以在晶界处容易产生应力集中。

图7 扭转变形后的模型应力分布云图

图8为A、B 2个模型扭转变形后的纵截面图,显而易见,多晶体的变形过程非常复杂。另外,图8(a)和图8(b)中相同晶粒的变形量是明显不一样的,而且同一晶粒越靠近多晶体表面其变形差异越明显。综上所述,变形中的多晶体微观组织演化的复杂程度不但取决于晶粒的初始取向,还与晶粒之间的相互作用有关。结合上述现象与文献[5]的模拟结果,对比可知其变形规律基本一致,充分验证了该种微结构设计方法的有效性。

图8 多晶体内纵截面变形图

4 结论

借助ABAQUS的二次开发接口,编写Python语言构造出了基于Voronoi图的多晶体微结构模型以及前处理平台的设计,并采用该方法建立有限元模型结合仿真软件ABAQUS分别对2种任意取向下的圆柱多晶体进行变形模拟,得到如下结论:

(1) 通过编写Python语言生成的Voronoi多晶模型可以很好地描述实际多晶体变形过程中内部变形的不均匀性,验证了模型的有效性。

(2) 利用Python语言编写内核脚本程序,开发出的前处理插件Polycrystal Toolkit能够有效提高材料微结构前处理建模效率,为以后的织构演化行为研究提供了有利的建模基础。

猜你喜欢
微结构插件晶界
晶界工程对316L不锈钢晶界形貌影响的三维研究
基于截断球状模型的Fe扭转晶界的能量计算
运动晶界与调幅分解相互作用过程的相场法研究*
ZnO对莫来石多孔陶瓷成相及微结构的影响研究
自编插件完善App Inventor与乐高机器人通信
圆柱表面微结构超精密车削加工技术研究
基于jQUerY的自定义插件开发
金属微结构电铸装置设计
粘结型La0.8Sr0.2MnO3/石墨复合材料的微结构与电输运性质
基于修正球形双晶模型的金属Al晶界能分子动力学计算