1 插件启动方式

       首先启动Abaqus界面,单击菜单栏AbqVoronoi,点击子菜单中的选项可启动不同的晶体模型生成模块,包括:Voronoi2D模块(生成二维Voronoi模型)、Voronoi3D模块(生成三维Voronoi模型)、VoronoiEG模块(生成网格型Voronoi模型)和VoronoiTool(其他辅助工具),如图所示:

Unity 泰森多边形_自定义

图1.1 启动三维多晶模型生成插件

2 Voronoi2D模块

       Voronoi2D模块包括:Basic Voronoi2D和BSpline Voronoi2D模块,其中Basic Voronoi2D模块可生成矩形和圆形边界的二维Voronoi晶体模型;BSpline Voronoi2D模块可生成在每个晶胞中填充B样条曲线的模型。

2.1 Basic Voronoi2D模块

       BSpline Voronoi2D模块用户输入界面如下:

 

Unity 泰森多边形_自定义_02

图2.1 Basic Voronoi2D模块矩形边界模型用户界面

Unity 泰森多边形_参数说明_03

图2.2 Basic Voronoi2D模块圆形边界模型用户界面

2.2 BSpline Voronoi2D模块

       BSpline Voronoi2D模块用户输入界面如下:

Unity 泰森多边形_自定义_04

图2.3 BSpline Voronoi2D模块用户输入界面

3 Voronoi3D模块

      Voronoi3D模块包括:Basic Voronoi3D模块、Multiphase Voronoi3D模块、Weighted Voronoi3D模块、Gradient Voronoi3D模块和UserDefine Voronoi3D模块。

3.1 Basic Voronoi3D模块

       Basic Voronoi3D模块生成长方体边界模型的用户输入界面如下:

Unity 泰森多边形_用户界面_05

图3.1 Basic Voronoi3D模块长方体边界模型用户输入界面

       Basic Voronoi3D模块生成圆柱体边界模型的用户输入界面如下:

Unity 泰森多边形_自定义_06

图3.2 Basic Voronoi3D模块圆柱体边界模型用户输入界面

       Basic Voronoi3D模块生成球体边界模型的用户输入界面如下:

Unity 泰森多边形_python_07

图3.3 Basic Voronoi3D模块球体边界模型用户输入界面

       Basic Voronoi3D模块生成拉伸模型的用户输入界面如下:

Unity 泰森多边形_python_08

图3.4 Basic Voronoi3D模块拉伸模型用户输入界面

3.2 Multiphase Voronoi3D模块

       Multiphase Voronoi3D模块的用户输入界面如下:

 

Unity 泰森多边形_用户界面_09

图3.5 Multiphase Voronoi3D模块用户输入界面

       Cell Size输入参数说明:(1) Size[radius]列指该相晶体的半径大小,记为

Unity 泰森多边形_自定义_10

; (2) Num列指该相晶体的数量,记为 Unity 泰森多边形_Unity 泰森多边形_11

Unity 泰森多边形_自定义_10

Unity 泰森多边形_Unity 泰森多边形_11需保证以下关系:

Unity 泰森多边形_python_14

式中

Unity 泰森多边形_自定义_15

为多相晶体相数,

Unity 泰森多边形_参数说明_16

为长方体总体积。

       该模块支持用户输入固定位置晶胞,点击“Set Fixed Grain”按钮可进行相应输入,输入界面如下:

Unity 泰森多边形_自定义_17

图3.6 固定晶胞参数输入界面

3.3 Weighted Voronoi3D模块(测试版)

       Weighted Voronoi3D模块的用户输入界面如下:

 

Unity 泰森多边形_Unity 泰森多边形_18

图3.7 Weighted Voronoi3D模块的用户输入界面

       Cell Info输入参数说明:(1) Ratio列指该相晶体体积和占体积的比率,记为

Unity 泰森多边形_自定义_10

,必须保证

Unity 泰森多边形_用户界面_20

; (2) Num列指该相晶体的数量。Ratio列中支持存在一个为“-1”的值,其Ratio值为

Unity 泰森多边形_用户界面_21

。 

3.4 Gradient Voronoi3D模块

       Gradient Voronoi3D模块的用户输入界面如下:

 

Unity 泰森多边形_自定义_22

图3.8 Gradient Voronoi3D模块用户输入界面

       Cell Size输入参数说明:Size Limit代表Z方向上下边界的晶体大致半径,支持3种分布:Ramp、Pow2和UDF(用户自定义尺寸场),前两种分布晶体大致大小随Z的变化如下:

Unity 泰森多边形_用户界面_23

图(a) Ramp分布

Unity 泰森多边形_用户界面_24

图(b) Pow2分布

图3.9 Gradient Voronoi3D模块晶体大小分布

getSize(x, y, z)函数中的内容,函数返回值为一个大于0的浮点数,其意义为该点的晶体尺寸(半径)。

       例如:在1×1×1的方盒中,晶体在方盒中的尺寸分布为:

Unity 泰森多边形_用户界面_25

       将该尺寸分布函数转为Python程序,参考示例如下:

#coding:utf-8

import math
def getSize(x, y, z):

################################################

    size = 0.2*math.sqrt((x-0.5)**2+(y-0.5)**2)+0.025

################################################

    return max(size, 1E-5)

if __name__ == "__main__":

    print(getSize(0., 0., 1.))

3.5 UserDefine Voronoi3D模块

       UserDefine Voronoi3D模块生成用户输入界面如下:

Unity 泰森多边形_python_26

图3.10 UserDefine Voronoi3D模块自定义Part用户输入界面

Unity 泰森多边形_参数说明_27

图3.11 UserDefine Voronoi3D模块自定义形核点用户输入界面

4 VoronoiEG模块

       VoronoiEG模块包括:Basic VoronoiEG和Smoothing VoronoiEG子模块;

4.1 Basic VoronoiEG模块

       Basic VoronoiEG模块用户输入界面如下:

Unity 泰森多边形_python_28

图4.1 Basic VoronoiEG模块用户输入界面

4.2 Smoothing VoronoiEG模块

       Smoothing VoronoiEG模块用户输入界面如下:

Unity 泰森多边形_用户界面_29

图4.2 Smoothing VoronoiEG模块用户输入界面

       其中参数Type有两个可选项,分别为Closed和Open。Close代表所有晶体均封闭;Open代表边界处的晶体为开口状态。

5 其他工具

       目前插件提供晶体随机取向设置模块,其用户界面如下图所示:

Unity 泰森多边形_自定义_30

图5.1 晶体随机取向设置模块用户界面

       其中Rotation Type参数有4个可选项,分别为Full Random、X Rotation、Y Rotation和Z Rotation。Full Random表示晶体取向完全随机;X Rotation表示所有晶体取向的X方向不变;其他两个选项亦同。

6 插件通用参数说明

       (1) 生成算法:Uniform和Random算法。Uniform生成的模型每个晶体大小比较均匀,Random算法生成的模型晶体大小比较随机,并受最小距离约束(该参数可一定程度控制晶体均匀度)

Unity 泰森多边形_Unity 泰森多边形_31

图(a) Random算法

Unity 泰森多边形_python_32


图(b) Uniform算法

图6.1不同生成算法生成的晶体模型结果

       (2) Gap参数:Gap参数用于设置晶界的厚度。若Gap值设置为0,代表晶体无实体晶界;若Gap值设置大于0,则会在所有晶体间生成指定厚度的实体晶界,厚度值为Gap值,如图所示:

Unity 泰森多边形_用户界面_33

图6.2 晶体实体晶界厚度示意图

7 其他可间接生成的模型

7.1 线框模型

       生成的Voronoi模型经过处理后可生成如下图所示的线框模型,可用于梁/杆单元有限元分析:

Unity 泰森多边形_用户界面_34

图7.1 线框模型示例

7.2 泡沫结构模型

       插件生成的Voronoi模型经过处理后可得到泡沫结构模型,可用于泡沫结构的力学性能有限元分析,可生成的泡沫结构模型的类型如下:

Unity 泰森多边形_自定义_35

图(a) 壳模型

Unity 泰森多边形_Unity 泰森多边形_36

图(b) 实体模型

Unity 泰森多边形_用户界面_37


图(c) 网格模型

Unity 泰森多边形_python_38


图(d) 特殊分布模型(Weighted模型)

图7.2 泡沫结构模型示例

       注:任何可生成三维几何Voronoi模型的模块均可用于创建泡沫结构模型。

7.3 支撑结构模型

       插件可对自定义模型生成Voronoi支撑结构,示例如下:

Unity 泰森多边形_自定义_39

图7.3 支撑结构模型示例