一种基于三角形划分的二维数值颗粒成型方法与流程

文档序号:12271750阅读:260来源:国知局
一种基于三角形划分的二维数值颗粒成型方法与流程

本发明涉及一种基于三角形划分的二维数值颗粒成型方法。



背景技术:

在道路工程数值离散模拟试验中,PFC2D有着举足轻重的作用,目前大量的数值实验都采用PFC2D自带的小球颗粒来仿真模拟。

虽然该方法简便易行,但是无法精确模糊复杂形态的颗粒。部分三维的数值成型方法都是运用了简化、随机生长的方法来拟合形态,虽然在一定程度上拟合了简单的三维形态,但是无法精确刻画级配颗粒的棱角形态,而复杂形态的级配颗粒,其棱角形态对于道路试验、路用性能具有非常重大的影响。

故,需要对提供一种新的方案来解决上述问题。



技术实现要素:

发明目的:为了克服现有技术中存在的不足,本发明提供一种基于三角形划分的二维数值颗粒成型方法,通过将颗粒轮廓划分成三角形,旋转叠加成型,以期解决目前在离散元仿真模拟中精确拟合复杂二维颗粒的问题。

技术方案:一种基于三角形划分的二维数值颗粒成型方法,包括如下步骤:

(1)AIMS扫描:选择需要成型的级配颗粒,并运用AIMS设备进行单独扫描,获得处理过的每一个级配颗粒的二维轮廓图;

(2)三角形划分:以沿X轴正向为起始标线,按照逆时针每10度划分颗粒轮廓图,将整个颗粒划分成36个近似三角形;

(3)三角形边长测定:运用image pro,标定36个近似三角形边长测量线,并按照逆时针顺序测定构成每一个三角形2条边长的测量线长度,存储汇总;

(4)三角形成型方法:按照逆时针依次顺序判断每一个近似三角形的类型,根据三角形两边长度分为三种,下边长大于等于上边长,下边长小于上边长,根据类型调用相应的三角形成型代码,成型每一个近似三角形数值模型;

(5)坐标转换叠加:根据成型的近似三角形编号,确定每一个三角形的坐标转换系数,将36个近似三角形经过坐标转换旋转叠加,成型二维数值级配颗粒。

实施本发明,可获得的有益效果是:本发明解决了目前在离散元仿真模拟中精确拟合复杂二维颗粒的问题,能精确刻画级配颗粒的棱角形态。该方案简单易行,且很好地拟合了颗粒的棱角形态,能够在后期实验中较好的仿真颗粒真实接触状态,对于道路工程专业具有重要意义。

附图说明

图1运用图像处理得到的颗粒轮廓图像示意图。

图2颗粒轮廓测量线划分示意图。

图3下边长大于等于上边长的三角形示意图。

图4下边长小于上边长的三角形示意图。

图5经坐标转换并遍布圆盘颗粒的二维数值模型示意图。

具体实施方式

如图1至图5所示,本发明提供了一种基于三角形划分的二维数值颗粒成型方法,该方法主要包括以下步骤:

步骤(1)、AIMS扫描:选择需要成型的级配颗粒,并运用AIMS设备进行单独扫描,获得处理过的每一个级配颗粒的二维轮廓图。

步骤(2)、三角形划分:以沿X轴正向为起始标线,按照逆时针每10度划分颗粒轮廓图,将整个颗粒划分成36个近似三角形。

步骤(3)、三角形边长测定:运用image pro,标定36个近似三角形边长测量线,并按照逆时针顺序测定构成每一个三角形2条边长的测量线长度,存储汇总。

步骤(4)、三角形成型:按照逆时针依次顺序判断每一个近似三角形的类型,根据三角形两边长度分为三种,下边长大于等于上边长,下边长小于上边长,根据类型调用相应的三角形成型代码,成型每一个近似三角形数值模型。

步骤(5)、坐标转换叠加:根据成型的近似三角形编号,确定每一个三角形的坐标转换系数,将36个近似三角形经过坐标转换旋转叠加,成型二维数值级配颗粒。

在进一步的实施例中,步骤(1)优选为:运用AIMS扫描获得的每个颗粒的二维轮廓图像需要经过图像软件处理,首先将二维轮廓实体图整体灰度化,并去除内部黑色像素点,只留下边缘处轮廓处的黑色像素点,如图1所示。

在进一步的实施例中,步骤(2)优选为:三角形的划分以颗粒形心为中心,首先沿着X轴正向延伸出一条起始的测量线,然后按照逆时针每10度从中心延伸出测量线,每一个颗粒共有36条测量线,每一条测量线均以颗粒中心为起点,以测量线与颗粒边缘轮廓交点为终点,相邻的测量线与测量线之间的颗粒轮廓线构成近似三角形,共划分36个近似三角形,如图2所示。

在进一步的实施例中,步骤(3)优选为:运用image pro,用36种不同的颜色重新标记36条测量线,便于image pro软件识别读取,在image pro软件内编制相应宏命令,读取这36条测量线的长度,存储汇总。需要说明的是,image pro仅为优选实施例,可以采用类似软件或者根据需要自行编写软件来实现。

在进一步的实施例中,步骤(4)优选为:按照逆时针依次顺序判断每一个近似三角形的类型,根据三角形两边长长度分为三种,下边长大于上边长,下边长小于上边长,下边长等于上边长,这里上边长、下边长指的是测量线构成的2条边长,不是测量线之间的颗粒轮廓构成的边长。

在进一步的实施例中,步骤(4)优选为:按照逆时针标记36条测量线,依次记为1-36,近似三角形按照逆时针依次记为1-36,那么第n(1≤n≤36)个近似三角形的两边长分别为第n和第n+1测量线。对于第n个近似三角形,其第n条测量线作为其下边长,第n+1条测量线作为其上边长,如图2所示。

在进一步的实施例中、步骤(4)优选为:当近似三角形下边长大于等于上边长时,如图3,调用下边长大于等于上边长的三角形成型代码,记下边长长度为S1,上边长长度为S2,测量线之间的颗粒轮廓线作为三角形外边长,近似长度记为S3,S1与S2夹角为a,S1、S2、a均为已知,且满足下列关系式:

a=10°

过S2与S3的交点作S1的垂线,该垂线从内部将近似三角形分为左右两部分,在PFC2D按照内部分成的左右两个三角形进行圆盘遍历填充,填充圆盘半径为rad,单个圆盘填充位置由_x,_y控制,其中_x为x轴位置,_y为y轴位置,记S1与S2交点为起点(0,0)。

首先赋予(_x,_y)为(0,0)值,使其在起点(0,0)处生成半径为rad的圆盘颗粒,接着通过循环方法将_x依次增加2rad距离,每次修正的_x为需要填充圆盘列的X轴位置,通过_x和角度a计算出_x位置处需要遍历生成圆盘列的高度_h,并满足下式:

_h=_x×tan a (2)

同一列的圆盘上下互相相切,相邻圆盘中心坐标沿Y轴相隔2rad,当_x确定后,在_x位置处向上依次生成半径为rad的圆盘,每生成一个圆盘,保持_x不变,_y加上2rad,在继续生成圆盘,直到在此_x位置处,_y的值大于此_x位置处的_h,停止生成圆盘。接下来,将_x增加2rad,_y变为0,重新按照(2)式计算_h,在新的_x处生成一列圆盘,当_x值增加到大于d1时,停止循环,生成左半部分三角形,其中d1满足下式:

d1=S2×cos a (3)

当_x>d1时,所属位置属于右半部分的三角形,此时进入新的循环,_x同样按照2rad递增,直到_x大于S1,记d2,d3,并满足下式

d2=S1-d1 d3=S2×sin a (4)

当_x大于d1时,_x为需要生成圆盘列的X轴位置,其中_h仍为此_x处需要生成圆盘列的高度,_y为生成圆盘中心的Y轴位置,并满足下式:

在_x处,_y按照2rad的增量向上遍历生成相切的圆盘,直到_y大于此_x处的_h停止生成圆盘,_x增加2rad,_y变为0,按照(5)式重新计算新的_x下的_h,继续循环遍历圆盘,直到_x大于S1停止循环。

通过上述循环方法,实现下边长大于等于上边长的近似三角形的圆盘颗粒填充。

在进一步的实施例中,步骤(4)优选为,当近似三角形下边长小于上边长时,如图4所示,调用下边长小于上边长的三角形成型代码,记下边长长度为S1,上边长长度为S2,测量线之间的颗粒轮廓线作为三角形外边长,近似长度记为S3,S1与S2夹角为a,S1、S2、a均为已知,且满足关系式(1),通过S1和S3的交点做S1的垂线,该垂线从内部将三角形分为左右两部分,首先赋予(_x,_y)为(0,0)值,使其在起点(0,0)处生成半径为rad的圆盘颗粒,接着通过循环方法将_x依次增加2rad距离,每次修正的_x为需要填充圆盘列的X轴位置,通过_x和角度a计算出_x位置处需要遍历生成圆盘列的高度_h,并满足式(2),同一列的圆盘上下互相相切,相邻圆盘中心坐标沿Y轴相隔2rad,当_x确定后,在_x位置处向上依次生成半径为rad的圆盘,每生成一个圆盘,保持_x不变,_y加上2rad,在继续生成圆盘,直到在此_x位置处,_y的值大于此_x位置处的_h,停止生成圆盘。接下来,将_x增加2rad,_y变为0,重新按照(2)式计算_h,在新的_x处生成一列圆盘,当_x值增加到大于S1时,停止循环,生成左半部分三角形。

当_x大于S1时,所属位置属于右部分三角形,此时进入新的循环,_x同样按照2rad递增,直到_x大于d4,并记d4、d5,并满足下式:

d4=S2×cos a;d5=d4-S1 (6)

当_x大于d1时,_x为需要生成圆盘列的X轴位置,其中_h仍为此_x处需要生成圆盘列的高度,_y为生成圆盘中心的Y轴位置,记_hmin,_hmax,并满足下式:

_hmax=_x×tan a

_hmin≤_h≤_hmax (7)

在_x处,_y的起始值为此_x下的_hmin,按照式(7)计算,_y按照2rad增量递增,直到_y大于此_x下的_hmax后,停止生成圆盘,接着_x增加2rad,重新按照式(7)计算_y的起始值和最大值_hmin、_hmax,继续循环。当_x大于d4时停止循环。

通过上述循环方法,实现下边长小于上边长的近似三角形的圆盘颗粒填充。

在进一步的实施例中、步骤(5)优选为,根据步骤4中可以成型36个近似三角形,第n个三角形的下边长与X轴的夹角记为θ,并满足下式:

θ=(n-1)×a (8)

由于36个三角形所处位置不同,为了达到旋转叠加成型二维颗粒的目的,需要对每一个已经生成的三角形进行坐标转换,记第n个三角形的内填充的第i个圆盘颗粒x、y原始坐标为_xni、_yni,经过坐标转换后的相应x、y坐标为_xninew、_yninew,并满足下式:

_xninew=_xni×cosθ+_yni×sinθ

_yninew=_yni×cosθ-_xni×sinθ (9)

通过循环遍历方法,将每一个三角形内的所有填充的圆盘统一按照式(9)进行坐标转换,最终转换后的坐标通过ball命令生成该颗粒内部的所有圆盘颗粒,实现二维颗粒的重构,如图5所示。

综上,本发明提供了一种基于三角形划分的二维数值颗粒成型方法,通过将颗粒划分为36个近似三角形,判断三角形的类型调用相应的三角形成型代码,最终通过坐标转换实现二维数值颗粒的最终成型,该成型方式简单易行,且很好地拟合了颗粒的棱角形态,能够在后期实验中较好的仿真颗粒真实接触状态,对于道路工程专业具有重要意义。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1