在传统的多晶 RVE 生成方法(如 NEPER 或 DREAM.3D)通常采用“先生成拓扑几何,再划分有限元网格”的工作流。这种方法在处理包含精确孔洞或复杂边界的几何体时,容易在边界处产生 Jagged(锯齿状)网格,导致应力集中计算失真或有限元计算不收敛 。
该推文推荐一个abaqus精品插件,该插件是基于离散网格开发的,支持任意类型的网格(2D、3D均可),共有2个模块(通用模块和自定义模块),如下图所示. 通用模块比较适合规则的几何模型(对于不规则的几何模型,随机的种子可能会位于模型之外,从而导致晶粒生成失败),自定义模块可以导入用户自己的种子(可以采用Python, Matlab等软件生成)来生成,比较灵活. 比如生成带孔洞的RVE, 柱状晶RVE等等。对于规则的几何模型,在自定义模块导入与NEPER相同的种子后,生成的RVE模型与NEPER(划分相同数量的网格)的完全一样。


插件主界面布局
值得注意的是在做晶体塑性的时候,往往需要施加周期性边界条件(PBCs),然而四面体网格(三维模型)很难保证两个对立面的节点也是周期性的(点点对应)。因此,在这种情况下,六面体(体素)网格(三维模型)或者四边形网格(二维模型)是往往是最合适的选择。
然而,当我们研究宏观损伤(RVE模型含有孔洞的情况)时,利用NEPER、DREAM3D 等主流软件生成的模型中孔洞体积分数和形状与事先设定的差别很大,效果不是很理想(如下图所示)。

而这个插件明显的优势就是可以生成光滑的带孔的RVE模型(使用自定义模块),与NEPER相比,能更好的描述孔洞的体积分数和形状(如下图所示),从而更准确(定量)分析孔洞对局部变形行为的影响。

如何获取:
可以从github上免费下载,下载链接:https://github.com/Abaqus-Voronoi-toolbox/Abaqus_Voronoi_toolbox。
如何使用:
目前支持ABAQUS6.14-2022,后续会开放源码,也支持后续的ABAQUS版本。
操作步骤:
1.在ABAQUS里面先建好Part;
2.划分网格,也可以直接导入网格文件 (跳过第1步);
3.在ABAQUS里面点击Plug-ins(见下图),填写相应的参数,比如module名,Part名,晶粒数量等.点击应用即可。

使用插件时需要注意:
1. 划分的网格数量越多,效果越好,当然需要的时间也越长. 用户可以根据计算量权衡. 本人一般是用三维模型,200晶粒8万左右单元(C38D)。
2. 尽量保证划分的网格数量远远大于晶粒数量,比如只有1个网格想要生成2个晶粒自然会失败. 再比如只有2个网格,想要生成2个晶粒,如果采用通用模块也可能会失败(随机的2个种子落在了一个单元内). 用户可以采用自定义模块来解决。
3. 在三维模型中生成柱状晶,让第三个方向的坐标全部等于0即可。
如果在你的工作中使用了这个插件,请引用这篇文章:Zhou S, Ben Bettaieb M, Abed-Meraim F (2026) Flexible Generation of Polycrystalline RVEs on Pre‑Meshed Geometries: A Novel ABAQUS Toolbox for Crystal Plasticity Simulations. Integrating Materials and Manufacturing Innovation. https://doi.org/10.1007/s40192-026-00466-1
(正在出版,暂时搜不到是正常的)
如果你想在这个基础上做更多的贡献,也欢迎联系作者zsshuaizhou@gmail.com