首页/文章/ 详情

木木带你深度解析泰森多边形如何生成?

11月前浏览4412

1.1 功能简介

POLARIS-VORONOI是一款Abaqus前处理插件,用于生成Voronoi二维多边形三维多棱柱三维多面体的几何模型,并可实现周期性晶格优化缩放圆滑、以及二维模型删除短边二维模型晶体尺寸级配控制等功能。操作简单、使用方便,可大大节约使用者的时间,提高工作效率。

1.2 主要功能

  1. 生成平面二维 Voronoi 多边形模型;
  2. 生成三维 Voronoi 多棱柱模型;
  3. 生成三维 Voronoi 多面体模型;
  4. 存储模型数据,并可读取数据重新生成对应的模型;
  5. 不同晶体定义不同集 合功能;
  6. 提取二维三角形、三维四面体网格的节点信息,协助生成规则多边形;
  7. 晶格控制点可以实现:随机分布或多种渐变方式的梯度分布;
  8. 提供等比例和等距的晶体缩放功能;
  9. 可采用晶体控制点与重心趋于重合的方式,实现晶体优化功能;
  10. 可实现二维晶体短边合并(删除)功能;
  11. 二维多边形支持内切样条曲线功能;
  12. 二维模型支持晶体尺寸的级配控制;
  13. 二维模型支持边界的几何周期性。

1.3 使用方法

Voronoi 模型生成插件

Video Introduction按钮:点击后可以跳转到视频介绍链接,请在联网状态下点击,否则无法观看。

Documentation按钮:点击后,在浏览器中将打开插件的帮助文档。

Generate Control Points区块:定义Voronoi控制点信息和生成方式。

  1. Point type:控制点的生成方式,有Global Random、Orthogonal Random、Mesh Points、Data File、Gradation 五个选项;
    • Global Random:全局随机分布

         
    • Orthogonal Random:正交随机分布

    • Mesh Points:控制点源自网格节点

    • Data File:读取“.voro”文件中的节点数据

    • Gradation:晶体尺寸的级配控制

  2. Part Type:生成模型的类型,有 2D_Plane、3D_Plane、3D_Solid 三种选项;
    • 2D_Plane:生成平面二维 Voronoi 多边形模型;
    • 3D_Plane:生成三维 Voronoi 多棱柱实体和壳体模型;
    • 3D_Solid:生成三维 Voronoi 多面体实体和壳体模型。    
  3. Total Number :为选择全局随机类型时,区域内控制点的总个数;
  4. X_length:生成模型在 X 方向上的长度;
  5. Y_length:生成模型在 Y 方向上的长度;
  6. Z_length:生成模型在 Z 方向上的长度;
  7. Type:分 X\Y\Z 三个方向上控制点密度的渐变规律,包含:
    • Uniform:均匀随机;
    • Positive:正向递增;
    • Negative:反向递增;
    • Inward:向内递增;
    • Outward:向外递增。
  8. Gradient:当控制点密度分布存在递增选项,则设置X\Y\Z三个方向的渐变梯度大小,注意:数值越小,越集中;
  9. X_nodeNum:X方向上布置的 Voronoi 控制点数量;
  10. Y_nodeNum:Y方向上布置的 Voronoi 控制点数量;
  11. Z_nodeNum:Z方向上布置的 Voronoi 控制点数量;
  12. X_random:X方向上控制点的波动幅度,为X方向平均间距的倍数;
  13. Y_random:Y方向上控制点的波动幅度,为Y方向平均间距的倍数;
  14. Z_random:Z方向上控制点的波动幅度,为Z方向平均间距的倍数;
  15. Model:当选择Mesh Points类型时,为选择的模型名称;
  16. Part:当选择Mesh Points类型时,为选择的部件名称;
  17. File Name:当生成模型类型为Data File时,输入框和文件选择按钮激活,需要定义voro文件的读取路径。
  18. R_Max,R_Min,Proprotion:当生成模型类型为Gradiation时,需要人为定义级配参数表格,分别为不同层级晶体的最大等效半径、最小等效半径和含量,所有层级晶体含量之和需要等于1。(注:等效半径为多边形面积对应等效圆的半径)

Other区块:定义Voronoi生成过程中的辅助建模选项,可以实现:

  1. Optimize:控制点位置优化,优化目标为:控制点与控制区域重心重合
    • Optimize Contral Points Times:优化过程的迭代次数,迭代次数越大,晶体控制中心和重心越趋近重合,最大数字为100。
  2. Del Short Edges:删除短边,目前仅适用于2D_Plane和3D_Plane模型;
    • Topological Edge Length:设置删除短边的临界最大长度;
  3. Scale:实现多边形缩放;
    • Scale Type:缩放类型,包含Equal Ratio等比缩放和Isometric等距缩放。
    • Equal Ratio:等比缩放,需要输入Ratio为等比缩放的比例,当Ratio=1则不进行缩放;当Ratio=0,则删除所有晶体。
    • Isometric:等距缩放,需要输入Size为,缩放晶体间隙的尺寸。
  4. Smooth:光滑处理,目前仅支持 MidPoint Spline 类型;
    • MidPoint Spline:边中点构建光滑样条曲线。
  5. Period:几何周期性;

辅助生成 Set 集 合插件

  1. Set Name:定义生成集 合的名称起始字符;
  2. Model:为选择部件所在的Model对象;
  3. Part:为选择部件的名称。

提示信息

用户填写完整数据之后,点击OK或APPLY可激活嵌入程序,在Abaqus信息提示框中将提示模型的生成进度,以二维Voronoi多棱柱为例:

1.4 命名法则

  1. 生成部件的名称默认以“Voro_PartType-ID”组成,如果为三维部件,会同时生成与之对应的壳模型,名称后跟着“-Shell”;其中PartType为模型类别(2D_Plane、3D_Plane、3D_Solid),ID为编号,会自动生成;
  2. 生成的模型会自动生成多个“Color-NUM”字样的几何,用于多颜色显式不同的晶体,由于集 合多了以后会造成显示成像的负担,因此最多生成24个Color集 合;
  3. 如果用户希望每个Voronoi晶体创建一个Set集 合,则可以采用辅助生成Set集 合插件,可以实现二维不同Face或三维不同Cell分别创建不同的集 合;
  4. 模型生成的同时,会自动创建Part同名的.voro文件,记录了生成模型的基本信息和随机控制点的坐标信息,也可以人为定义,但格式要求比较苛刻,否则会报错。Voro文件格式说明:

1.5 插件测试

测试电脑:CPU 主频 2.5GHz,内存 8G 1333MHz

测试类型:二维 Voronoi 多边形

测试模型:三维 Voronoi 多棱柱

测试模型:三维 Voronoi 多面体

使用的常见问题

  1. 嵌入失败,提示“X_length/Y_length/Z_length/X_nodeNum/Y_nodeNum/Z_nodeNummust >0 !”。表示用户定义的对应数值需要大于零。

       
  2. 嵌入失败,提示“X_random/Y_random/ Z_random must >=0 !”。表示节点的波动幅度要大于等于0。

       
  3. 嵌入失败,提示“Failure to read File[FileName] !”。表示读取数据信息错误,“.voro”文件需要满足指定格式才能被正常读取。

       
  4. 提取模型网格失败,提示“ElemType[ ‘ElemType’ ] is not supported!”。表示模型中包含程序不支持的单元类型,目前仅支持 CPS3、CPE3 和 C3D4 三种单元类型,也就是仅支持二维三角形和三维四面体单元。

       

1.6 示例

任意形状Voronoi多棱柱

插件无法直接生成二维长方形或三维长方体以外的其他形状多面体,但用户可以通过切除或面刨分等方式,获得任意外形的多边形或多面体模型,如下图所示,为祖国陆地外形中填充随机的Voronoi多棱柱的效果图:

控制点渐变分布

插件目前在 XYZ 三个维度上,可以实现梯度网格,并提供了五种梯度方式,通过搭配不同的维度和梯度,可使模型在不同位置的晶粒加密,示例如下:

Voronoi 晶体优化案例

多边形(晶体)的控制点一般是随机生成,如下图左侧黑点,通过黑点位置可获得多边形边界,但最终获得的多边形可能会非常不规则,且控制点和多边形重心(红点)偏离距离较大;为了使重心和控制点重合,将生成多边形重心作为下一次迭代的控制点,重新获得晶体分布,依次循环迭代N次,获得的晶体将逐渐变规则,重心和控制点位置也将趋于重合。

Voronoi晶体删除短边

随机生成的晶体模型,通常会存在大量的短边,影响网格划分的质量,因此可以通过删除短边,从而减少畸变单元,提高网格质量。如下右图所示,短边为红线位置,删除短边的方式是将短边柔和到一个点(如右图所示)。

Voronoi晶体缩放

多边形MidPoint Spline光滑处理

利用泰森多边形可以生成高含量骨料模型,普通的随机投递模型获得的骨料含量是非常有限的。为实现高骨料含量模型,一方面可以采用晶体缩放技术,另一方面则可以在获得的多边形内部生产光滑颗粒,这样就能更加逼近实际情况,如下图所示:

网格节点控制二维多边形生成过程

二维三角形网格的角点作为Voronoi多边形的控制点,可以获得比较规则的Voronoi多边形,而且可以避免出现短边,有利于后续模型的网格划分,因此V1.2版本后新增网格节点信息提取功能,帮助用户生成均匀Voronoi模型,示例如下:

  • 建立模型,并在模型内部布置一些刨隔线,防止网格过于规则,增加网格的随机性;

  • 布置种子,进行网格划分,网格可以如图中所示,呈现过渡网格,目前二维模型仅支持平面三角形单元(CPS3 和 CPE3);三维模型仅支持一阶的四面体单元(C3D4),不支持其他网格类型。

       
  • 采用 工具,Point Type 选择为:Mesh Points类型,并选择对应的Model 名称和Part名称,点击APPLY就可以生成规则的Voronoi模型,这种方法同样适合于三维模型,切记,三维模型需要采用四面体一阶单元进行网格划分。

       

二维晶体级配控制

大自然中经常会遇到多种尺寸晶体混合的情况,比如合金材料、岩石材料等,为实现不同晶体尺寸的控制和含量搭配,V2.2新增了这一功能,可以定义多种晶体层级,并指定不同晶体层级的最大、最小等效半径和含量,程序通过多次迭代实现了晶体尺寸和含量向我们设置的目标值进行逐步逼近,下面为不同迭代次数和目标级配的逼近效果。

平面模型的几何周期性

在进行细观结构的单胞分析中,通常需要采用周期性边界条件,要实现周期性边界条件,通常需要满足2个方面的要求,一方面是周期性边界的变形需一致,如左右两侧的位移量需要相同;其次,还需要保证细观模型在周期性边界上的材料一致,示例如下:

Voronoi晶体试件的拉伸断裂仿真

试件中,嵌入随机的泰森(Voronoi)多边形,模拟晶体与晶界,并采用POLARIS_InsertCohElem 插件全局嵌入零厚度Cohesive单元,其中晶界位置的Cohesive单元强度低于晶体内部Cohesive单元时,模拟拉伸断裂过程的等效应力云图和断裂情况如下所示:

Voronoi晶体试件的压缩破碎仿真

首先生成三维Voronoi多面体模型,模型外形为长方体,通过剪裁操作,可以获得圆柱体试件,采用POLARIS_InsertCohElem插件全局嵌入零厚度Cohesive单元,其中晶界位置的Cohesive单元强度低于晶体内部Cohesive单元时,模拟获得不同阶段,试件的破坏情况如下,其中左侧为晶体分布图,右侧为位移云图:

Voronoi晶体试件的切削仿真

试件中嵌入随机的泰森(Voronoi)多边形,模拟晶体与晶界,并采用POLARIS_InsertCohElem插件全局嵌入零厚度Cohesive单元,其中晶界位置的Cohesive单元强度低于晶体内部Cohesive单元时,模拟切削过程的塑性应变云图和断裂情况如下所示,观察切屑的形态和破坏方式可知,该方法适合模拟脆性材料的切削过程。

温馨提示:该云图结果虽为二维视角,但其实是三维模型(厚度方向取一个单元长度),二维模型Cohesive单元破裂后,切屑之间的接触将成问题;应用三维 Voronoi多棱柱模型,结合通用接触方法,可实现切削分离后的自接触,从而避免切削的相互侵入。



来源:易木木响叮当
Abaqus断裂通用UM材料控制
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-12-09
最近编辑:11月前
易木木响叮当
硕士 有限元爱好者
获赞 221粉丝 265文章 351课程 2
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈