当前位置: 首页 > 专利查询>湘潭大学专利>正文

一种基于包围圆颗粒接触检测的颗粒集合体生成方法技术

技术编号:24126625 阅读:85 留言:0更新日期:2020-05-13 04:49
本发明专利技术公开了一种基于包围圆颗粒接触检测的颗粒集合体生成方法,包括以下步骤:初始化程序变量并生成边界;生成第一个与边界不重叠颗粒;逐个生成与已有颗粒不重叠新颗粒;判断颗粒集合输出条件;输出颗粒集合信息。本发明专利技术方法原理简便,代码书写较易,所采用的包围圆颗粒接触检测方法可显著提高颗粒检测效率,为进一步研究颗粒材料力学行为提供了有效技术手段。

A method of particle aggregation generation based on the contact detection of surrounding circle particles

【技术实现步骤摘要】
一种基于包围圆颗粒接触检测的颗粒集合体生成方法
本专利技术涉及岩土工程数值计算方法,具体涉及一种基于包围圆颗粒接触检测的颗粒集合体生成方法。
技术介绍
离散元法是专门用来解决不连续介质问题的数值模拟方法。在岩土工程问题中,岩土体可被看作一种离散型颗粒材料,其内部可存在大位移、旋转和滑动乃至块体的分离,离散元方法可以较真实地模拟节理岩体中的非线性大变形特征,因此有着非常重要的作用。为进一步认识岩土体微观尺度下的力学行为特征,则需充分表征颗粒间接触情况。接触检测作为岩土力学中计算的基础之一,有着庞大的运算量,因此提高接触检测效率成为解决岩土工程非连续数值模拟的关键性问题。目前,在颗粒集合体生成及计算过程中所采用的颗粒接触检测算法有暴力枚举法、元胞链表法和边界盒法等。暴力枚举法虽然算法编写简单,但随着颗粒数目的增多,检测时间呈几何形式增长,计算量较大,计算效率较低。元胞链表法将颗粒体系所占据的空间划分为规则的网格,再对网格内颗粒接触情况进行检测,但其对网格尺寸要求严格,网格划分过程较为繁琐。此外,在采用边界盒法进行接触判断时,则需要较多的循环判断次数,将消耗大量的计算时间。现有一系列颗粒接触检测方法计算效率较低、检测原理复杂,基于以上所述的技术现状,有必要提出一种基于包围圆颗粒接触检测的颗粒集合体生成方法。
技术实现思路
本专利技术的目的在于提出一种基于包围圆颗粒接触检测的颗粒集合体生成方法,以提高规定边界范围内颗粒接触检索效率。为了达到上述目的,本专利技术的具体技术方案如下:一种基于包围圆颗粒接触检测的颗粒集合体生成方法,其特征在于,包括以下步骤:步骤a.初始化程序变量并生成边界:初始化程序最大循环次数、累计循环次数、最小颗粒半径值、最大颗粒半径值以及包围圆半径值,并建立颗粒生成边界;步骤b.生成第一个与边界不重叠颗粒:在边界范围内随机生成一圆心,在最小及最大颗粒半径范围内随机生成半径;步骤c.逐个生成与已有颗粒不重叠新颗粒;步骤d.判断颗粒集合输出条件:判断累计循环次数是否等于最大循环次数,是则进入步骤e,否则返回步骤c;步骤e.输出颗粒集合信息。进一步地,步骤b中,通过计算圆心与边界距离是否大于等于圆半径的方式判断所生成颗粒是否与边界重叠。进一步地,步骤c中,包括如下六个步骤:步骤c1.在边界范围内随机生成一圆心,在初始条件的范围内随机生成半径,并判断所生成圆心到边界的距离是否大于等于生成半径,是则进入步骤c2,否则重复步骤c1;步骤c2.判断包围圆最大半径值是否大于等于上一个生成颗粒的半径值,是则直接进入步骤c3,否则将上一个颗粒的半径值赋值给包围圆最大半径值,而后进入步骤c3;步骤c3.以步骤c1中所生成圆心为包围圆圆心,以步骤c1中所生成圆半径与步骤c2中包围圆最大半径值之和为包围圆半径生成包围圆,并判断包围圆范围内是否有其他圆心,是则进入步骤c4,否则进入步骤c6;步骤c4.以两圆心之间距离小于两圆半径和为标准,判断生成颗粒是否与包围圆内其他颗粒接触,是则进入步骤c5,否则进入步骤c6;步骤c5.循环次数加一,并进入步骤d;步骤c6.生成颗粒。与现有技术相比较,本专利技术具有以下有益技术效果:本专利技术提供了一种基于包围圆颗粒接触检测的颗粒集合体生成方法,该方法在模拟颗粒生成的过程中,以将要生成的颗粒圆心作为包围圆圆心,以包围圆内颗粒之间接触情况来判断是否可生成该颗粒;该方法显著缩小可颗粒接触检索区域,并具有代码书写较易、计算耗时较短的优势,克服了现有直接检索方法检索量大、计算过程冗长、效率低下等不足。附图说明图1为一种基于包围圆颗粒接触检测的颗粒集合体生成方法的流程图;图2为本专利技术中包围圆示意图;图3为本专利技术实施例提供的不同循环次数条件下的颗粒集合图;图4为本专利技术实施例提供的循环次数与颗粒数目关系图;图5为本专利技术实施例提供的循环次数与计算耗时关系图;具体实施方式为使本专利技术的目的、技术方案及优点更加清晰,以下结合附图及实施例,对本专利技术的具体实施方式进行说明。一种基于包围圆颗粒接触检测的颗粒集合体生成方法的具体流程如图1所示,包括以下步骤:步骤a.定义各初始条件并生成边界:最大循环次数Count=100,累计循环次数count=0,最小半径值Rmin=0.1,最大半径值Rmax=0.2,包围圆最大半径值Rmaxi=0,生成边长为10的矩形边界。本专利技术中各个实施例初始条件参数值如下表所示:步骤b.赋予生成条件并生成第一个颗粒:在边界范围内随机生成一点作为圆心,其坐标记为[X0,Y0],在初始条件Rmin=0.1,Rmax=0.2,范围内随机生成半径R0,判断点到边界的距离是否大于等于半径R0,生成第一个颗粒。步骤c.逐个生成与已有颗粒不重叠的新颗粒,其具体实施步骤如下:步骤c1.在边界范围内随机生成一点作为圆心,其坐标记为[Xi,Yi],在初始条件Rmin=0.1,Rmax=0.2,范围内随机生成半径Ri,判断点到边界的距离是否大于等于半径Ri,是则进入步骤c2,否则重复步骤c1。步骤c2.判断包围圆最大半径值Rmaxi是否大于等于上一个生成颗粒的半径值Ri-1,是则直接进入步骤c3,否则将上一个颗粒的半径值赋值给包围圆最大半径值,而后进入步骤c3;步骤c3.以步骤c1中所生成圆心[Xi,Yi]为包围圆圆心,以步骤c1中所生成圆半径Ri与步骤c2中包围圆最大半径值Rmaxi之和为包围圆半径Ri+Rmaxi生成包围圆,图2即为本专利技术中包围圆示意图,并判断包围圆范围内是否有其他圆心,是则进入步骤c4,否则进入步骤c6;步骤c4.以两圆心之间距离D小于两圆半径和为标准,判断生成颗粒是否与包围圆内其他颗粒接触,是则进入步骤c5,否则进入步骤c6;步骤c5.累计循环次数加一,并进入步骤d;步骤c6.生成以[Xi,Yi]为圆心,以Ri为半径的颗粒。d.判断颗粒集合输出条件:累判断颗粒集合输出条件:判断累计循环次数是否等于最大循环次数,是则进入步骤e,否则返回步骤c。e.输出颗粒集合信息,不同初始化条件下的实施例所得到颗粒集合图如图3所示。在本专利技术中,在不同初始化条件下,分别采用包围圆法与暴力枚举法进行颗粒接触检测生成颗粒集合体,以此定量化分析所提出基于包围圆颗粒接触检测的颗粒集合体生成方法的计算效率,基于两种不同颗粒接触检测方式所生成颗粒集合体中颗粒数目对比结果如图4所示,计算耗时对比结果如图5所示,从图中可知,不同最大循环次数条件下,包围圆法与暴力枚举法进行颗粒接触检测所生成颗粒集合体中颗粒数目均较为相近,相较于暴力枚举法而言,采用包围圆法进行颗粒接触检测可显著地缩减计算耗时,有效地提高计算效率。本文档来自技高网...

【技术保护点】
1.一种基于包围圆颗粒接触检测的颗粒集合体生成方法,其特征在于,包括以下步骤:/n步骤a.初始化程序变量并生成边界:初始化程序最大循环次数、累计循环次数、最小颗粒半径值、最大颗粒半径值以及包围圆半径值,并建立颗粒生成边界;/n步骤b.生成第一个与边界不重叠颗粒:在边界范围内随机生成一圆心,在最小及最大颗粒半径范围内随机生成半径;/n步骤c.逐个生成与已有颗粒不重叠新颗粒;/n步骤d.判断颗粒集合输出条件:判断累计循环次数是否等于最大循环次数,是则进入步骤e,否则返回步骤c;/n步骤e.输出颗粒集合信息。/n

【技术特征摘要】
1.一种基于包围圆颗粒接触检测的颗粒集合体生成方法,其特征在于,包括以下步骤:
步骤a.初始化程序变量并生成边界:初始化程序最大循环次数、累计循环次数、最小颗粒半径值、最大颗粒半径值以及包围圆半径值,并建立颗粒生成边界;
步骤b.生成第一个与边界不重叠颗粒:在边界范围内随机生成一圆心,在最小及最大颗粒半径范围内随机生成半径;
步骤c.逐个生成与已有颗粒不重叠新颗粒;
步骤d.判断颗粒集合输出条件:判断累计循环次数是否等于最大循环次数,是则进入步骤e,否则返回步骤c;
步骤e.输出颗粒集合信息。


2.根据权利要求1所述的一种基于包围圆颗粒接触检测的颗粒集合体生成方法,其特征在于,步骤b中,通过计算圆心与边界距离是否大于等于圆半径的方式判断所生成颗粒是否与边界重叠。


3.根据权利要求1所述的一种基于包围圆颗粒接触检测...

【专利技术属性】
技术研发人员:龙志林俞飘旖旷杜敏邓锐杰张婷匡凤兰
申请(专利权)人:湘潭大学
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1