基于huang.for结合cohesive单元模拟晶粒之间的晶界开裂

   已有大佬做了基于cohesive+泰森多边形(Voronoi)插件模拟晶粒之间的晶界开裂的视频,这个视频中晶粒模型主要是通过homtools插件建立的,cohesive单元的建立是通过Cohesive_generator_2D3D插件实现的。附上视频链接:

   在Neper中建立晶粒模型划分网格时也可以批量插入0厚度cohesive单元,我之前进行了尝试,这里给出一个示例。在Neper中生成一个1×1的二维正方形晶体模型,平均晶粒尺寸为0.08,圆形度为0.1,共196个晶粒:

neper -T -n from_morpho -dim 2 -domain "square(1,1)" -morpho "diameq:lognormal(0.08,0.01),1-circularity:lognormal(0.100,0.03)" -oriformat plain -oridescriptor euler-bunge -reg 1 -o cp1

划分网格并生成inp文件:   

neper -M cp1.tess -rcl 1.2 -elttype tri -pl 15 -interface cohesive -format inp -o abq_input
基于huang.for结合cohesive单元模拟晶粒之间的晶界开裂的图1

    注意这里的命令-pl是为了减轻网格的过度细化,避免局部网格过密,这一问题在neper的github讨论中提到过,附上地址:https://github.com/neperfepx/neper/discussions/777

    命令-interface cohesive是在晶界处批量插入0厚度cohesive单元,遗憾的是,neper暂时不支持插入非0厚度的cohesive单元(https://github.com/neperfepx/neper/discussions/192)。此外,晶粒网格选择了三角形单元,neper生成2维cohesive单元时似乎不支持四边形单元划分(https://github.com/neperfepx/neper/discussions/98),另外一个讨论中(https://github.com/neperfepx/neper/discussions/481)作者说明了它不适用于六面体网格,但Neper2CAE似乎可以完成这项工作,感兴趣的读者可以自行查找。

    从neper导出inp文件后,需要对该inp文件进行一个简单的前处理,为每一个晶粒建立单独的材料并输入材料参数,这部分工作可以参考Github上的工作Neper2Abaqus(https://github.com/smrg-uob/Neper2Abaqus?tab=readme-ov-file)。Neper2Abaqus是通过Bunge欧拉角和晶体坐标向量计算全局坐标向量并输入到abaqus的材料属性中,此外还需要为inp文件的每个晶界集合创建单独的截面,以便指派材料属性,并设置粘聚力模型的材料参数。

   在abaqus中导入inp文件之后,可以根据自身需要修改cohesive单元的控制属性:

基于huang.for结合cohesive单元模拟晶粒之间的晶界开裂的图2

    这里对模型施加了一个拉伸荷载,采用黄永刚老师的晶体塑性子程序huang.for,然后提交作业就可以计算得到应力云图:

基于huang.for结合cohesive单元模拟晶粒之间的晶界开裂的图3

这里附上计算文件:


登录后免费查看全文
立即登录
App下载
技术邻APP
工程师必备
  • 项目客服
  • 培训客服
  • 平台客服

TOP

7
19