二维及三维voronoi泰森多边形生成及其批量cohesive的插入
目前voronoi晶粒模型已经被广泛应用,材料的穿晶断裂和沿晶断裂是失效的两种主要表现形式,建立晶粒模型是分析材料性能和失效机制的前提条件。
1 自编程建立voronoi模型(总体思想是借助于MATLAB或Python中的voronoi函数):
a 对于二维模型目,前有两种主要的方式,第一是通过MATLAB的voronoi函数编程建立晶粒模型,然后导入ABAQUS进行后续分析;第二是通过Python编程,直接在ABAQUS中生成模型,下面给出一幅由第一种方法和第二种方法都可快速生成的二维voronoi图片:
b对于三维模型,目前也是主要有以上两种方法生成,但是对于三维模型,如果由MATLAB中的voronoi函数编程实现晶粒模型创建,那么,必须还要通过MATLAB再编一个提取定点坐标,然后由点构建线,由线构建面,由面构建体的程序,然后把模型导入ABAQUS中,虽然可以实现,但是过程比较复杂,因此,一般都选择第二种方法。第二种方法就是使用Python中的voronoi函数直接编程实现,这样模型无需通过中间过程,便可以直接在ABAQUS中生成,因为使用Python编程晶粒模型,必须借助于Python的一些库,所以我们需要提前安装这些库文件。下面给出使用Python二次开发编程建立的三维voronoi晶粒模型:
2 使用插件建立voronoi模型:
当然,对于二维和三维模型目前还有一些公开的插件和收费的插件可用,公开的插件用于二维voronoi模型建立的有homtool插件,对于三维voronoi模型建立的有应用于linux系统上的neper软件,这需要具备一定的linux基础,另外需要详细研究neper的使用。
3 voronoi晶粒开裂的仿真
a 通过在实体单元间批量插入cohesive 单元法
晶粒的沿晶断裂比较好实现,在高版本的ABAQUS软件中(ABAQUS2016以上版本),可以轻松实现在晶粒界面批量插入cohesive单元,从而模拟晶界开裂,当然,这个批量插入也可以通过自编程或相关插件实现。
晶体内穿晶开裂和沿晶开裂同时发生时,这就必须通过自编程或插件实现,目前个人已经可以做到,分别为晶粒内和晶界的cohesive单元设置不同的损伤属性即可。
b 是借助于ABAQUS中自带的损伤笨狗,例如金属的延性损伤,剪切损伤等等来通过单元删除的方法实现晶粒内裂纹扩展的模拟。
下面给出几幅图,分别是二维和三维voronoi模型中批量嵌入cohesive单元,都分别在晶内嵌入和晶界嵌入:
最后再给出两幅图,分别是通过批量嵌入cohesive单元模拟晶体失效和通过ABAQUS自带损伤笨狗模拟晶体失效:
注:第一晶粒拉伸失效图选自星辰北极星公众号里的截图。
总结:
以上二维和三维voronoi模型的建立都可以通过编程方法实现,cohesive的批量插入都可以通过插件实现,晶粒的失效可以通过批量插入cohesive单元实现或ABAQUS自带笨狗实现,如果有感兴趣的或者有需要的可以站内私信或者加QQ1057593923。
希望这个总结能给正接触voronoi和ABAQUS的进阶同学一些帮助。
ABAQUS断裂模拟收徒 ,保证快速学会各种ABAQUS断裂模拟方法 1200/人(将享有各种插件以及程序,价值3000+、专门定制视频、全程亲自教学、各种模型调试及解答问题等等,倾囊相教)
查看更多评论 >