一种基于距离势函数任意凸多边形块体离散单元法

文档序号:10553171阅读:296来源:国知局
一种基于距离势函数任意凸多边形块体离散单元法
【专利摘要】本发明公开了一种基于距离势函数任意凸多边形块体离散单元法,方法主要包括以下步骤:先建立矿石?边界离散模型;采用NBS接触检测方法对所有块体单元进行接触检测,得到每个块体单元及与之接触的块体单元;对相互接触的块体单元通过块体离散单元距离势函数进行接触力计算,得到作用于块体单元的接触力以及力矩;进而通过velocity verlet算法计算块体单元的速度与位移,最后逐步更新矿石块体单元的位移即是其具体运动形态。本发明采用距离势函数的定义,明确了势函数的物理意义,通过基于距离势函数的块体离散单元法实现计算任意凸多边形块体的运动形态,可以用于岩土矿石的运动形态研究,为实际矿场工程提供实际指导意义。
【专利说明】
一种基于距离势函数任意凸多边形块体离散单元法
技术领域
[0001] 本发明涉及一种块体离散单元法,具体涉及一种岩土工程中通过基于距离势函数 的块体离散单元法实现计算二维非连续介质的大规模任意凸多边形块体的运动形态,属于 块体离散元模型技术领域。
【背景技术】
[0002] 离散单元法的思想源于较早的分子动力学,1971年由美国的Cundall P.A.教授首 先提出用以模拟非连续介质力学行为的数值分析方法。这种方法是将研究对象划分为大量 的离散块体(颗粒),每个块体拥有相应的自由度。块体之间通过接触力、力矩以及摩擦力相 互作用,同时施加合适的力或位移的边界条件。在给定初始条件及外力作用下,基于牛顿第 二运动定律并采用显示时步步进的动态松弛法,确定下一时刻块体的运动状态。
[0003] 离散单元法原理直观简单,由于离散元单元具有更真实地表达岩体的几何力学特 性的能力,便于处理以所有非线性变形和破坏都集中的节理面上为特征的岩体破坏问题, 被广泛地应用于模拟边坡、滑坡、矿场等力学过程的分析和计算中。从本质上来说,岩土材 料都是由离散的、尺寸不一、形状各异的颗粒或块体组成。离散元法的单元从几何形状上分 类可分为颗粒元和块体元两大类,块体元中对于二维问题可以是任意多边形元。矿场中矿 石的运动形态采用块体离散元法,它的基本思想是把不连续体分离为刚性块体的集合,使 各个块体满足运动方程,用时步迭代的方法求解各块体的运动方程,继而求得不连续体的 整体运动形态。
[0004] 本申请主要运用块体离散元法研究矿场中矿石在一定形状边界内的运动形态,如 矿石以一定速度落入槽框内的运动形态,或者某放矿场漏斗内充满了已崩大小不等、不规 则的矿石,漏斗内嵌在槽框内,漏斗与槽框分别是固定的,研究对象为,将漏斗闸门打开,矿 石从漏孔中放出后落在槽框中的矿石的整体运动形态等。研究矿石的运动形态主要是研究 矿石运动过程中块体离散单元之间的接触力,块体离散单元法中接触力主要有角-角接触 力、角-边接触力和边-边接触力。目前,对于块体离散单元法中接触力计算主要有两种:一 是引入刚度系数,通过嵌入量计算方法,该方法在计算中可能存在能量不守恒的问题,同时 在处理角-角接触时,采用圆角化进行规避,过程复杂;二是由英国A.MUNJIZA教授提出的基 于势函数接触力计算方法,通过将研究对象划分为三角形块体单元,并以单元形心为基础 建立势函数定义,该方法能够保证系统能量守恒,同时很好地规避了角-角接触的问题,但 是存在着势函数物理意义不明,对于求解任意形状的凸多边形块体接触力的情况,更是无 能为力。
[0005] 综合目前的研究,本发明提供一种新的势函数法,解决平面任意凸多边形块体离 散单元接触力计算的问题,并明确了势函数的物理意义,有利于研究矿石在一定形状边界 内的运动过程形态。

【发明内容】

[0006] 本发明的目的在于克服现有技术中的不足,提供了一种基于距离势函数任意凸多 边形块体离散单元法,解决了现有技术中势函数计算方法中物理意义不明确的技术问题。
[0007] 为解决上述技术问题,本发明提供了一种基于距离势函数任意凸多边形块体离散 单元法,包括以下步骤:
[0008] 步骤一,建立矿石-边界离散模型;基于离散单元法理论,对在一定形状边界内的 多个矿石,建立矿石-边界的离散元模型,矿石模型为多个多边形块体单元,多边形块体单 元的参数包括多边形的质量、块体间的阻尼系数及块体单元的刚度系统;
[0009] 步骤二,确定模型采集矿石信息的迭代时间步长;
[0010] 步骤三,在当前时间步,采用NBS接触检测方法对所有块体单元进行接触检测,得 到每个块体单元及与之接触的块体单元;
[0011] 步骤四,根据步骤三的检测结果,对相互接触的块体单元进行接触力计算,当循环 到某个块体单元时,以此块体单元为目标块体(Target),与此块体单元相接触的块体单元 为接触块体(Contactor ),基于所提出的块体离散单元距离势函数的定义,计算当前时间步 作用于目标块体的法向接触力、切向接触力以及力矩;
[0012] 步骤五,重复步骤四计算当前时间步内每个块体单元所受的接触力和力矩;
[0013] 步骤六,根据牛顿第二定律,计算出每个块体单元当前时间步的加速度,再由 velocity verlet算法计算出每个块体单元下一时间步的速度和位移;
[0014] 步骤七,根据步骤六中块体单元的位移,更新每个块体单元顶点、形心及内点的坐 标,完成当如时间步的计算;
[0015] 步骤八,重复步骤三至七计算下一时间步,直至计算完所有时间步。
[0016] 进一步的,在所述步骤二中,模拟采集矿石信息离散单元计算时间步长为
[0018] 其中4是系统的阻尼比
?是块体单元质量,c是阻尼系数,k是刚度系 数。
[0019] 进一步的,所述步骤三中,NBS接触检测法进行接触检测的具体步骤包括:
[0020] 步骤3.1,对每个块体单元,计算其形心坐标及各顶点到形心之间的距离1;
[0021]步骤3.2,选取形心到顶点之间的最大距离为1_,记(1 = 2*1_,将离散模型计算 区域划分为以d为边长的正方形网格;
[0022] 步骤3.3,根据公式:
[0025]将所有块体单元映射到网格上,其中,xk、yk为块体单元k的形心坐标,k=l, 2,......,N,N为块体单元个数,Xmin、ymin为计算区域在x、y方向的最小值;
[0026]步骤3.4,对每个块体单元与其周边所有相邻网格内块体单元进行接触检测,当循 环到某个块体单元时,即以此块体单元所在格子为中心,进行判断此块体单元是否与该格 子内部以及相邻格子内部单元接触,判断此块体单元与相邻的一个块体单元是否接触的具 体过程为:
[0027] 1)分别计算两个块体单元的形心之间的距离dist、两块体单元各顶点与其对应的 形心之间的最大距离分别为1 lmax、12max,计算1 lmax、12max的平均值为1 avmax ;
[0028] 2)比较dist与lavmax的大小,如果dist<21avmax,则判断此两个块体单元接触,如果 dist>21avmax,则判断此两个块体单元不接触;
[0029] 步骤3.5,遍历所有块体单元,记录每个块体单元及与之接触的块体单元。
[0030] 进一步的,在所述步骤四中,目标块体的法向接触力、切向接触力以及力矩具体计 算步骤如下:
[0031] 步骤4.1,确定目标块体各顶点对应的内点,其中内点定义为在多边形顶点角平分 线上至顶点所在两条边距离为h的点为多边形顶点所对应的内点,其中h为多边形最大内切 圆直径:
[0032] 1)根据最小二分法,取hmin = 0,hmax = 21max迭代计算,其中lmax为目标块体的形心到 顶点间的最大距离,确定目标块体最大内切圆直径h;
[0033] 2)根据点到直线的距离公式:
,求出各顶点对应的内点坐标; 其中:
,:A、B、C是顶点所在两条边任一直线方程参数;xo、yo是顶点对应的内点坐标;
[0034] 步骤4.2,根据步骤4.1所求目标块体的内点,连接顶点及其对应的内点将目标块 体划分为n个子块体,n为目标块体的顶点数;
[0035] 步骤4.3,定义距离势函数,循环计算每个与目标块体相接触的块体单元作用于目 标块体的接触力和力矩;
[0036]步骤4.4,更新所有与目标块体相接触的块体单元作用于目标块体的接触力和力 矩。
[0037] 进一步的,在所述步骤4.3中,计算每个与目标块体相接触的块体单元作用于目标 块体的接触力和力矩,以相互接触的块体单元1和块体单元2说明计算过程,对此两个彼此 接触的块体单元,以块体单元1为目标单元,求解由块体单元2所引起、作用于目标单元的接 触力和力矩过程为:
[0038] 1)计算块体单元2各底边与块体单元1各子块边线的交点,确定块体单元2与块体 单元1的重叠区域;
[0039] 2)定义距离势函数
,其中$(/))是块体单元内 部点P的势函数值,hp-12、hp-23......hp-nl是点P至块体单元各子块底边的距离,如hp-12是点p至 块体单元的12边的距离;n为块体单元1的顶点数;h为块体单元最大内切圆半径;计算出各 交点在块体单元1子块中的距离势函数值,若交点在块体单元1底边上则势为〇,在块体单元 1内点与顶点连线上则势为1;
[0040] 3)根据距离势函数值在子块体内呈线性分布的特征,分别计算各子块的重叠区域 边界势函数值:
?,其中,供为边界的势函数值,i = 1,……,M- 1,M为交点以及块体单元2在块体单元1内的顶点个数之和,p (尸,)为交点p i的势函数值, 为交点p1+1的势函数值,1_1+1为相邻两交点p^p1+1之间的距离;
[0041] 4)计算当前时间步,块体单元1内子块的法向接触力及力矩,具体计算过程为:
[0042] 4-1)基于重叠区域边界势函数法向接触力计算公式为:-;其 中,fn是重叠区域边界上的法向接触力;nr是边界的外法向向量,即法向接触力方向矢量;pn 为罚函数,P(/?)为边界上各点的势函数值;根据3)所求的重叠区域边界势函数值,法向接 触力计算公式简化为/,,=-%凡仍,计算作用于重叠区域边界的法向接触力;
[0043] 4-2)力的作用点取重叠区域边界势函数分布图形心在对应边界上的投影点A;
[0044] 4-3)由块体单元2侵入块体单元1,所引起的作用于块体单元2的法向接触力为fn; 根据牛顿第三定律可知,作用于块体单元1的法向接触力为-f n;
[0045] 4-4)分别计算由法向接触力引起的,作用于块体单元1、2的力矩:Mj= (fn)j X (nc^nt-A)」,j = l,2;其中,(fn)j为块体单元1、2所受的法向接触力;(nc^nt-A)」为由点A指向块 体单元1、2的形心的矢量;
[0046] 4-5)重复4-1)到4-4),计算块体单元2在块体单元1所有子块内的法向接触力及力 矩并求和,得到由单元2侵入目标单元1,所引起的作用于块体单元1、2的法向接触力及力 矩;
[0047] 5)以块体单元2为目标块体,以块体单元1为接触块体,重复1)至4 ),分别求出由块 体单元1侵入块体单元2,所引起的作用于块体单元1以及块体单元2的法向接触力及力矩; 并与4)所求的法向接触力和力矩求和,得到当前时间步,两个彼此接触的块体单元1、2的法 向接触力(fn)l、(fn)2,以及其引起的力矩(MnKMA;
[0048] 6)计算当前时间步,块体单元1、块体单元2的切向接触力及其引起的力矩,具体过 程为:
[0049] 6-1)考虑到重叠区域很小,定义重叠区域任一边界中点B为此边界切向力作用点;
[0050] 6-2)计算切向位移增量:A 8 = ( A v ? ns)ns* A t;其中,~是切向单位向量,与边界 法向量垂直;△ v是块体单元1相对于块体单元2的速度,计算公式为:
[0051] A v = Vd-Vc2+ w i X ri~ co 2 X r2,
[0052] 其中vu是块体单元1形心的线速度,是块体单元2形心的线速度,《 1是块体单元 1的角速度,《 2是块体单元2的角速度,n、r2分别是点昭lj块体单元1、2形心的矢量;
[0053] 6-3)计算切向接触力:匕=匕'+1&6,其中,1(3为切向刚度系数;匕'为上一时间步 目标块体所受切向接触力;A S为目标块体切向位移增量;
[0054]同时,切向接触力需满足库伦摩擦定律:),im = tan %十e ,若切向接触力 fs>(Fs)max时,令fs=(F s)max^中,%是最大静摩擦角;C为凝聚力,Fn为单元的法向接触力;
[0055] 则作用于块体单元1的切向接触力为fs,根据牛顿第三定律,作用于块体单元2的 切向接触力为_fs。
[0056] 6_4)由切向接触力引起的力矩:(Ms)j = (fs)jX (ricent-b)j,j = 1,2;
[0057] 其中,(fs)j为块体单元1、2的切向接触力;(nc^nt-B)j为由点B指向块体单元1、2的形 心的矢量;
[0058] 7)根据5)和6)的计算结果,分别计算当前时间步块体单元1、2所受的力矩:(MJ = (Mn) j+(Ms) j,j = 1,2 〇
[0059] 进一步的,在所述步骤4.4中,更新所有与目标块体相接触的块体单元作用于目标 块体的接触力和力矩,具体过程如下:
[0060] 1)重复步骤4.3,循环与目标块体相接触的每个块体单元作用于该块体单元的切 向接触力、法向接触力和力矩;
[0061] 2)当前时间步,目标块体所受的切向接触力、法相接触力和力矩分别为:
[0062] (d = XX,") m _ (〇s(.() m
[0064] m
[0065] 其中t为当前时间,m为与目标块体相接触的块体单元个数,(Fn)t为当前时间目标 块体所受的切向接触力,(F s)t为当前时间目标块体所受的法相接触力,(M)t为当前时间目 标块体所受的力矩。
[0066] 进一步的,在所述步骤六中,当前时间步的目标块体加速度计算公式为:
[0067] mk(ak)t=Fk
[0068] Ik(ak)t=Mk
[0069] 其中,Ik是块体单元k的主惯性矩,(ak)t是块体单元k当前时间步的加速度,(€〇*是 块体单元k当前时间步的角加速度,F k是块体单元k当前时间步所受的合力,Mk是块体单元k 当前时间步所受的力矩,k = 1,2,……,N,N为块体单元个数;
[0070] 根据求解得到的加速度,采用velocity verlet算法计算块体单元下一时间步的 速度和位移:
[0074]其中,A t是时间步长,v是块体单元的速度,r是块体单元的位移。
[0075] 进一步的,所述步骤七中,更新每个块体单元的顶点、形心以及内点的坐标,公式 为:
[0076] xk(t+ A t) = xk(t)+rk(t+ At)
[0077] yk(t+ A t) = yk(t)+rk(t+ A t)
[0078] 其中,xk、yk是块体单元k的顶点、形心以及内点的坐标,rk为块体单元k的位移,k = 1,2,......,N,N为块体单元个数。
[0079] 与现有技术相比,本发明所达到的有益效果是:
[0080] 1)本方法采用距离势函数的定义,明确了势函数的物理意义,可以实现二维非连 续介质大规模任意凸多边形块体离散单元接触力计算问题,计算过程满足能量守恒;
[0081] 2)本方法采用块体离散元建模,适用范围广,尤其适用于岩土矿石的运动形态研 究,在实际矿场开矿工程中有实际指导意义。
【附图说明】
[0082] 图1是NBS接触检测方法中块体单元映射至网格的示意图;
[0083]图2是块体单元分为子块体的示意图;
[0084]图3是两块体单元接触的重叠区域示意图;
[0085]图4是图3中边界67的势函数分布示意图;
[0086]图5是本发明实施例一矿石-边界的离散元模型示意图;
[0087]图6-图10是实施例一矿石的运动过程示意图;
[0088]图11是实施例一矿石块体单元运动过程中动能变化图;
[0089]图12是实施例二中矿石-漏斗的离散单元模型示意图;
[0090] 图13-图19是实施例二放矿时的矿石运动过程示意图。
【具体实施方式】
[0091] 下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明 的技术方案,而不能以此来限制本发明的保护范围。
[0092] 本发明提供了一种基于距离势函数任意凸多边形块体离散单元法,包括以下步 骤:
[0093]步骤一,建立矿石-边界离散模型;基于离散单元法理论,对在一定形状边界内的 多个矿石,建立矿石-边界的离散元模型,将矿石模型为多边形块体单元,多边形块体单元 的参数包括多边形的质量、块体间的阻尼系数、块体单元的刚度系数;
[0094] 步骤二,确定模型采集矿石信息离散单元计算时间步长;
[0095] 所述迭代时步采用多边形块体的基本运动方程为:
[0096] tT'Cr) 'f tr(f) ~ f (t)
[0097] 其中:m是块体单元质量,r(t)是位移,t是时间,c是阻尼系数,k是刚度系统,F(t) 是块体单元收到的外力。要使求解稳定,模拟采集矿石信息离散单元计算时间步长须满足:
[0099] 其中4是系统的阻尼比,
[0100] 通常为了保证稳定性,一般取迭代时间步长为〇. 1 A t。
[0101] 步骤三,在当前时间步,采用NBS接触检测方法,对所有块体单元进行接触检测,得 到每个块体单元及与之接触的块体单元;
[0102] Munjiza提出的NBS(No Binary Search)接触检测法,首先将单元映射到规则格子 中,然后在相邻格间进行接触对判断,NBS对以上建立离散元模型进行接触检测的具体步骤 包括:
[0103]步骤3.1,计算每个块体单元形心坐标和此形心到其各顶点之间的距离1;
[0104]步骤3.2,选取所有块体单元中形心到顶点间的最大距离为lmax,记d = 2lmax,将离 散模型计算区域划分为以d为边长的正方形网格;
[0105] 步骤3.3,根据公式:
[0108]将所有块体单元映射到网格上,其中,Xk、yk为块体单元k的形心坐标,k=l, 2,......,N,N为块体单元个数,int〇函数为将数值向下取整数,xmin、ymin为计算区域在x、y方 向的最小值;
[0109]将所有块体单元映射到网格上,如图1所示;
[011 0]步骤3.4,对每个块体单元与其周边所有相邻网格内块体单元进行接触检测,当循 环到某个块体单元时,即以此块体单元所在格子为中心,进行判断此块体单元是否与该格 子内部以及相邻格子内部单元接触,判断此块体单元与相邻的一个块体单元是否接触的具 体过程为:
[0111] 1)分别计算两个块体单元的形心之间的距离dist、两块体单元各顶点与其对应的 形心之间的最大距离分别为1 lmax、12max,计算1 lmax、12max的平均值为1 avmax ;
[0112] 2)比较dist与lavmax的大小,如果dist<21avmax,则判断此两个块体单元接触,如果 dist>21avmax,则判断此两个块体单元不接触;
[0113] 步骤3.5,遍历所有块体单元,记录每个块体单元及与之接触的块体单元;
[0114] 步骤四,根据步骤三的检测结果,对每个块体单元及与之接触的块体单元进行接 触力计算,当循环到某个块体单元时,以此块体单元为目标块体(Target),与此块体单元相 接触的块体单元为接触块体(Contactor),基于所提出的块体离散单元距离势函数的定义, 计算当前时间步作用于目标块体的法向接触力、切向接触力以及力矩;
[0115] 具体步骤如下:
[0116] 步骤4.1,确定目标块体各顶点对应的内点,其中内点定义为在多边形顶点角平分 线上至顶点所在两条边距离为h的点为多边形顶点所对应的内点,其中h为多边形最大内切 圆直径:
[0117] 1)根据最小二分法,取hmin = 0,hmax = 21max迭代计算,其中lmax为目标块体的形心到 顶点间的最大距离,确定目标块体最大内切圆直径h;
[0118] 2)根据点到直线的距离公式:
求出各顶点对应的内点坐标; 其中,,A、B、C是顶点所在两条边中任一条直线方程参数;XQ、yQ是顶点对应的内点坐 标;
[0119]步骤4.2,根据步骤4.1所求目标块体的内点,连接顶点及其对应的内点将目标块 体划分为n个子块体,n为目标块体的顶点数;图2以任意四边形单元为例,通过内点与顶点 的连线,将四边形块体分成4个子块体;
[0120]步骤4.3,计算由相接触的块体单元作用于目标块体的接触力和力矩,以相互接触 的两个块体单元为例,以块体单元1为目标块体(Target ),块体单元2为接触块体 (Contactor),定义距离势函数,计算由接触块体(块体单元2)所引起、作用于目标块体(块 体单元1)的法向接触力、切向接触力以及力矩:
[0121] 1)计算块体单元2各底边与块体单元1各子块边线的交点,确定块体单元2与块体 单元1的重叠区域;如图3所示,块体单元2与块体单元1的交点分别为 P1、p2、p3、P4和P5 ;
[0122] 2)定义距离势函数:
,其中,列?是块体单元内 部点P的势函数值,hp-12、hp-23......hp-nl是点P至块体单元各子块底边的距离,如hp-12是点p至 块体单元的12边的距离;n为块体单元的顶点数;min ()函数为取最小值,h为块体单元最大 内切圆半径;计算出各交点在块体单元1子块中的距离势函数值,若交点在块体单元1底边 上则势为0,在块体单元1内点与顶点连线上则势为1;如图3所示, Pl、p2和P4各交点的势由势 函数定义计算,P3、P5点因在块体单元1的边上则其势为0;
[0123] 3)根据距离势函数值在子块体内呈线性分布的特征,分别计算各子块的重叠区域 边界势函数值
;其中,资为边界的势函数值,i = 1,……,M-1, M为交点以及块体单元2在块体单元1内的顶点个数之和,$?(乃)为交点P i的势函数值, 为交点p1+1的势函数值,1P1P1+1为相邻两交点p4Pp1+1之间的距离;如图4所示, Pl、p2 和p3交点的边界67势函数为相应的梯形的面积;
[0124] 4)计算当前时间步,块体单元1内子块的法向接触力及力矩,具体计算过程为:
[0125] 4-1)基于重叠区域边界势函数法向接触力计算公式为:尤%凡]*,(/^// ;其 中,fn是重叠区域边界上的法向接触力;nr是边界的外法向向量,即法向接触力方向矢量;pn 为罚函数,P(/?)为边界上各点的势函数值;根据3)所求的重叠区域边界势函数值,法向接 触力计算公式简化为尤=妗,计算作用于重叠区域边界的法向接触力;
[0126] 4-2)力的作用点取重叠区域边界势函数分布图形心在对应边界上的投影点A;
[0127] 4-3)由块体单元2侵入块体单元1,所引起的作用于块体单元2的法向接触力为fn; 根据牛顿第三定律可知,作用于块体单元1的法向接触力为-f n;
[0128] 4-4)分别计算由法向接触力引起的,作用于块体单元1、2的力矩:Mj= (fn)j X (nc^nt-A)」,j = l,2;其中,(fn)j为块体单元1、2所受的法向接触力;(nc^nt-A)」为由点A指向块 体单元1、2的形心的矢量;
[0129] 4-5)重复4-1)到4-4),计算块体单元2在块体单元1所有子块内的法向接触力及力 矩并求和,得到由单元2侵入目标单元1,所引起的作用于块体单元1、2的法向接触力及力 矩;
[0130] 5)以块体单元2为目标块体,以块体单元1为接触块体,重复1)至4),分别求出由块 体单元1侵入块体单元2,所引起的作用于块体单元1以及块体单元2的法向接触力及力矩; 并与4)所求的法向接触力和力矩求和,得到当前时间步,两个彼此接触的块体单元1、2的法 向接触力(fn)l、(fn)2,以及其引起的力矩(MnKMA;
[0131] 6)计算当前时间步,块体单元1、块体单元2的切向接触力及其引起的力矩,具体过 程为:
[0132] 6-1)考虑到重叠区域很小,定义重叠区域任一边界中点B为此边界切向力作用点;
[0133] 6-2)计算切向位移增量:A 5 = ( A v ? ns)ns* A t;其中,ns是切向单位向量,与边界 法向量垂直;△ v是块体单元1相对于块体单元2的速度,计算公式为:
[0134] A v = Vd-Vc2+ w i X ri~ co 2 X r2,
[0135] 其中vu是块体单元1形心的线速度,是块体单元2形心的线速度,《 1是块体单元 1的角速度,《 2是块体单元2的角速度,n、r2分别是点昭lj块体单元1、2形心的矢量;
[0136] 6-3)计算切向接触力:fs = fs'+KsAS,其中,Ks为切向刚度系数;fs'为上一时间步 目标块体所受切向接触力;A S为目标块体切向位移增量;
[0137] 同时,切向接触力需满足库伦摩擦定律:(巧)lnax =巧+ e,若切向接触力 fs>(Fs)max时,令,么是最大静摩擦角;c为凝聚力,F n为单元的法向接触力;
[0138] 则作用于块体单元1的切向接触力为fs,根据牛顿第三定律,作用于块体单元2的 切向接触力为_fs。
[0139] 6_4)由切向接触力引起的力矩:(Ms)j = (fs)jX (ricent-b)j,j = 1,2;
[OMO]其中,(fs)j为块体单元1、2的切向接触力;(nc^nt-B)j为由点B指向块体单元1、2的形 心的矢量;
[0141] 7)根据5)和6)的计算结果,分别计算当前时间步块体单元1、2所受的力矩:(MJ = (Mn) j+(Ms) j,j = 1,2 〇
[0142] 步骤4.4,更新所有与目标块体相接触的块体单元作用于目标块体的接触力和力 矩,具体过程如下:
[0143] 1)重复步骤4.3,循环与目标块体相接触的每个块体单元作用于该块体单元的接 触力和力矩;
[0144] 2)当前时间步,目标块体所受的切向接触力、法相接触力和力矩分别为:
[0145] m
[0146] (0=Z!(.,:) m
[0147] (从)'=1(0 m
[0148] 其中t为当前时间,m为与目标块体相接触的块体单元个数,(Fn)t为当前时间目标 块体所受的切向接触力,(F s)t为当前时间目标块体所受的法相接触力,(M)t为当前时间目 标块体所受的力矩。
[0149] 步骤五,更新当前时间步所有块体单元所受的力和力矩;
[0150]步骤六,根据牛顿第二定律,计算出块体单元当前时间步的加速度,在由velocity verlet算法计算出块体单元下一时间步的速度和位移;
[0151] 块体单元k当前时间步的目标块体加速度计算公式为:
[0152] mk(ak)t=Fk
[0153] Ik(ak)t=Mk
[0154] 其中,Ik是块体单元k的主惯性矩,(ak)t是块体单元k当前时间步的加速度,(€〇*是 块体单元k当前时间步的角加速度,F k是块体单元k当前时间步所受的合力,Mk是块体单元k 当前时间步所受的力矩,k = 1,2,……,N,N为块体单元个数;
[0155] 根据求解得到的加速度,采用velocity verlet算法求解单元下一时间步的的速 度和位移,velocity verlet算法由块体单元在t时刻的速度和加速度,计算出t+ A t时刻的 位置,公式为:
[0159] 其中,At是时间步长,v是块体的速度,r是块体的位移;
[0160] 步骤七,根据步骤六中块体单元的位移,更新所有块体单元顶点、形心及内点的坐 标,完成当如时间步的计算;
[0161 ]更新每个块体单元的顶点、形心以及内点的坐标,公式为:
[0162] xk(t+ A t) = xk(t)+rk(t+ At)
[0163] yk(t+ A t) = yk(t)+rk(t+ At)
[0164] 其中,xk、yk是块体单元k的顶点、形心以及内点的坐标,rk为块体单元k的位移,k = 1,2,......,N,N为块体单元个数。
[0165] 步骤八,重复步骤三至七计算下一时间步,直至计算完所有时间步。
[0166] 实施例一
[0167] 矿石以一定速度落入槽框内的运动形态,槽框为一个矩形框,即多边形矿石块体 单元在一定形状边界内的运动形态,如图5所示,四个矿石块体以0.08m/s的速度向下运动, 采用本发明提供的方法,为矿石-边界建立离散元模型,现将四个矿石块体分为35个块体离 散单元,即计算分析35个块体单元的运动情况。
[0168] 图6至10是矿石块体开始接触槽框后,矿石块体运动过程图。在离散元模型中,所 有的块体单元以〇.〇8m/s的速度向下运动,当最下部的块体单元与边界接触时,块体单元与 块体单元之间、块体单元与边界之间由于接触产生接触力和力矩,块体单元所受的合力及 力矩发生改变,使块体单元的运动状态发生变化。块体飞离彼此,以恒定的速度继续运动, 直到与别的块体或者边框发生接触,产生新的接触力和力矩,块体的运动状态再次发生改 变,以此循环直到运动结束。
[0169] 由于接触,系统的部分动能转化为势能,随着块体的分离,势能再次转化为动能, 但整个过程中系统的总能量是不变的。图11是块体运动过程中动能变化图。
[0170] 通过观察图6-10可以看到,本发明提出的基于距离势函数的二维块体离散单元计 算方法,可以实现二维非连续介质的任意凸多边形离散单元数值接触力计算,图11的系统 运动过程中动能变化图可以说明本发明所提出的离散单元计算方法的正确性。
[0171] 实施例二
[0172] 某放矿场漏斗内充满了已崩大小不等、不规则的矿石,将漏斗闸门打开,受自重作 用,矿石从漏孔中放出后的运动形态,即多边形矿石块体单元在一定形状边界内的运动形 态,采用本发明提供的方法,为矿石-边界建立离散元模型,如图12所示,共划分矿体离散单 元309个,漏斗及槽框离散单元162个,漏斗及槽框固定。
[0173]图12为矿石在漏斗中的初始状态,图13到图19为漏斗口闸门开启后,放矿时的几 何形态。矿体之间受重力作用,彼此接触,产生接触力和力矩,矿体的速度与加速度因此发 生改变,矿体以变加速度向槽框底运动,直至与槽框底边接触,考虑摩擦和阻尼的影响,矿 体的速度逐渐减小为〇,矿体逐渐堆积。当所有的矿体都堆积到槽框底部时,运动结束。基于 本发明所提出的距离势函数的二维块体离散单元法模拟放矿过程,能清楚地描述崩落矿体 的运动规律。
[0174] 综上所述,采用基于距离势函数的二维离散单元法,能够解决二维任意形状的凸 多边形离散单元计算问题。
[0175] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人 员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型 也应视为本发明的保护范围。
【主权项】
1. 一种基于距离势函数任意凸多边形块体离散单元法,其特征是,包括W下步骤: 步骤一,建立矿石-边界离散模型;基于离散单元法理论,对在一定形状边界内的多个 矿石,建立矿石-边界的离散元模型,矿石模型为多个多边形块体单元,多边形块体单元的 参数包括多边形的质量、块体间的阻尼系数及块体单元的刚度系统; 步骤二,确定模型采集矿石信息的迭代时间步长; 步骤S,在当前时间步,采用NBS接触检测方法对所有块体单元进行接触检测,得到每 个块体单元及与之接触的块体单元; 步骤四,根据步骤=的检测结果,对相互接触的块体单元进行接触力计算,当循环到某 个块体单元时,W此块体单元为目标块体(Target),与此块体单元相接触的块体单元为接 触块体(Con化Ctor),基于所提出的块体离散单元距离势函数的定义,计算当前时间步作用 于目标块体的法向接触力、切向接触力W及力矩; 步骤五,重复步骤四计算当前时间步内每个块体单元所受的接触力和力矩; 步骤六,根据牛顿第二定律,计算出每个块体单元当前时间步的加速度,再由velocity verlet算法计算出每个块体单元下一时间步的速度和位移; 步骤屯,根据步骤六中块体单元的位移,更新每个块体单元顶点、形屯、及内点的坐标, 完成当前时间步的计算; 步骤八,重复步骤=至屯计算下一时间步,直至计算完所有时间步。2. 根据权利要求1所述的一种基于距离势函数任意凸多边形块体离散单元法,其特征 是,在所述步骤二中,采集矿石信息离散单元计算时间步长为: 其中:C是系统的阻尼t,c是阻尼系数,k是刚度系数。3. 根据权利要求1所述的一种基于距离势函数任意凸多边形块体离散单元法,其特征 是,所述步骤=中,NBS接触检测法进行接触检测的具体步骤包括: 步骤3.1,对每个块体单元,计算其形屯、坐标及各顶点到形屯、之间的距离1; 步骤3.2,选取形屯、到顶点之间的最大距离为Imax,记d = 2 ? Imax,将离散模型计算区域 划分为Wd为边长的正方形网格; 步骤3.3,根据公式:将所有块体单元映射到网格上,其中,xk、yk为块体单元k的形屯、坐标,k=l,2,……,N,N 为块体单元个数,Xmin、ymin为计算区域在X、y方向的最小值; 步骤3.4,对每个块体单元与其周边所有相邻网格内块体单元进行接触检测,当循环到 某个块体单元时,即W此块体单元所在格子为中屯、,进行判断此块体单元是否与该格子内 部W及相邻格子内部单元接触,判断此块体单元与相邻的一个块体单元是否接触的具体过 程为: 1) 分别计算两个块体单元的形屯、之间的距离dist、两块体单元各顶点与其对应的形屯、 之间的最大距离分别为h max、b max,计算h max、b max的平均值为Iav max; 2) 比较di St与lav max的大小,如果di St《2 lav max,则判断此两个块体单元接触,如果 dist〉21av max,则判断此两个块体单元不接触; 步骤3.5,遍历所有块体单元,记录每个块体单元及与之接触的块体单元。4. 根据权利要求1所述的一种基于距离势函数任意凸多边形块体离散单元法,其特征 是,在所述步骤四中,目标块体的法向接触力、切向接触力W及力矩具体计算步骤如下: 步骤4.1,确定目标块体各顶点对应的内点,其中内点定义为在多边形顶点角平分线上 至顶点所在两条边距离为h的点为多边形顶点所对应的内点,其中h为多边形最大内切圆直 径: 1 )根据最小二分法,取hmin = 0,hmax= 21max迭代计算,其中Imax为目标块体的形屯、到顶点 间的最大距离,确定目标块体最大内切圆直径h ; 2)根据点到直线的距离公式,求出各顶点对应的内点坐标;其中,,A、B、C是顶点所在两条边任一直线方程参数;x〇、y〇是顶点对应的内点坐标; 步骤4.2,根据步骤4.1所求目标块体的内点,连接顶点及其对应的内点将目标块体划 分为n个子块体,n为目标块体的顶点数; 步骤4.3,定义距离势函数,循环计算每个与目标块体相接触的块体单元作用于目标块 体的接触力和力矩; 步骤4.4,更新所有与目标块体相接触的块体单元作用于目标块体的接触力和力矩。5. 根据权利要求4所述的一种基于距离势函数任意凸多边形块体离散单元法,其特征 是,在所述步骤4.3中,计算每个与目标块体相接触的块体单元作用于目标块体的接触力和 力矩,W相互接触的块体单元1和块体单元2说明计算过程,对此两个彼此接触的块体单元, W块体单元1为目标单元,求解由块体单元2所引起、作用于目标单元的接触力和力矩过程 为: 1) 计算块体单元2各底边与块体单元1各子块边线的交点,确定块体单元2与块体单元1 的重叠区域; 2) 定义距离势函数,其中是块体单元内部点 P的势函数值,hp-12、hp-23......hp-nl是点P至块体单元各子块底边的距离,n为块体单元的顶点 数;h为块体单元最大内切圆半径;计算出各交点在块体单元1子块中的距离势函数值,若交 点在块体单元1底边上则势为O,在块体单元1内点与顶点连线上则势为1; 3) 根据距离势函数值在子块体内呈线性分布的特征,分别计算各子块的重叠区域边界 势函数值;其中,巧为边界的势函数值,i = 1,......,M-1,M为 交点W及块体单元2在块体单元1内的顶点个数之和,的/,,)为交点Pi的势函数值,祭(巧+1) 为交点PW的势函数值,为相邻两交点Pi和PW之间的距离; 4)计算当前时间步,块体单元1内子块的法向接触力及力巧,且体计貸讨超为: 4-1)基于重叠区域边界势函数法向接触力计算公式为其中,fn 是重叠区域边界上的法向接触力;nr是边界的外法向向量,即法向接触力方向矢量;Pn为罚 函数,沪(/))为边界上各点的势函数值;根据3)所求的重叠区域边界势函数值,法向接触力 计算公式简化为…听巧,计算作用于重叠区域边界的法向接触力; 4-2)力的作用点取重叠区域边界势函数分布图形屯、在对应边界上的投影点A; 4-3)由块体单元2侵入块体单元1,所引起的作用于块体单元2的法向接触力为fn;根据 牛顿第=定律可知,作用于块体单元1的法向接触力为-fn; 4-4)分别计算由法向接触力引起的,作用于块体单元1、2的力矩:Mj=(fn)jX (ncent-A)j, j = I,2 ;其中,(fn) j为块体单元I、2所受的法向接触力;(ncent-A) j为由点A指向块体单元I、2 的形屯、的矢量; 4-5)重复4-1)到4-4),计算块体单元2在块体单元1所有子块内的法向接触力及力矩并 求和,得到由单元2侵入目标单元1,所引起的作用于块体单元1、2的法向接触力及力矩; 5似块体单元2为目标块体,W块体单元巧接触块体,重复1)至4),分别求出由块体单 元1侵入块体单元2,所引起的作用于块体单元IW及块体单元2的法向接触力及力矩;并与 4)所求的法向接触力和力矩求和,得到当前时间步,两个彼此接触的块体单元1、2的法向接 触力(fn)l、(fn)2, W及其引起的力矩(Mn)l、(Mn)2; 6) 计算当前时间步,块体单元1、块体单元2的切向接触力及其引起的力矩,具体过程 为: 6-1)考虑到重叠区域很小,定义重叠区域任一边界中点B为此边界切向力作用点; 6-2)计算切向位移增量:A 5 = ( A V ? ns)ns* A t;其中,ns是切向单位向量,与边界法向 量垂直;A V是块体单元1相对于块体单元2的速度,计算公式为: A V 二 Vcl-Vc2+ W 1 X ri- CO 2 X T2, 其中Vel是块体单元I形屯、的线速度,Ve2是块体单元2形屯、的线速度,CO I是块体单元I的 角速度,《2是块体单元2的角速度,;Tl、r2分别是点B到块体单元1、2形屯、的矢量; 6-3)计算切向接触力:fs = fs'+Ks A 5,其中,Ks为切向刚度系数;fs'为上一时间步目标 块体所受切向接触力;A S为目标块体切向位移增量; 同时,切向接触力需满足库伦摩擦定律若切向接触力fs〉 (Fs)max时,令fs=(Fs)max;其中,鮮是最大静摩擦角;C为凝聚力,Fn为单元的法向接触力; 则作用于块体单元1的切向接触力为fs,根据牛顿第=定律,作用于块体单元2的切向接 触力为-fs。 6-4;)由切向接触力引起的力矩:(Ms)j=化)jX (ncent-B)j,j = l,2; 其中,(f S )功块体单元I、2的切向接触力;(ncent-B ) j为由点B指向块体单元I、2的形屯、的 矢量; 7) 根据5)和6)的计算结果,分别计算当前时间步块体单元1、2所受的力矩:(Mj ) = (Mn) j + (Ms)j,j = l ,2〇6. 根据权利要求5所述的一种基于距离势函数任意凸多边形块体离散单元法,其特征 是,在所述步骤4.4中,更新所有与目标块体相接触的块体单元作用于目标块体的接触力和 力矩,具体过程如下: 1) 重复步骤4.3,循环与目标块体相接触的每个块体单元作用于该块体单元的切向接 触力、法向接触力和力矩; 2) 当前时间步,目标块体所受的切向接触力、法相接触力和力矩分别为:其中t为当前时间,m为与目标块体相接触的块体单元个数,(Fn)t为当前时间目标块体 所受的切向接触力,(Fs)t为当前时间目标块体所受的法相接触力,(M)t为当前时间目标块 体所受的力矩。7. 根据权利要求1所述的一种基于距离势函数任意凸多边形块体离散单元法,其特征 是,在所述步骤六中,当前时间步的目标块体加速度计算公式为: mk(祉)t = Fk Ik(Qk)t = Mk 其中,Ik是块体单元k的主惯性矩,(ak)t是块体单元k当前时间步的加速度,(a〇t是块体 单元k当前时间步的角加速度,Fk是块体单元k当前时间步所受的合力,Mk是块体单元k当前 时间步所受的力矩,k = 1,2,……,N,N为块体单元个数; 根据求解得到的加速度,采用velocity verlet算法计算块体单元下一时间步的速度 和位移:其中,A t是时间步长,V是块体单元的速度,r是块体单元的位移。8. 根据权利要求1所述的一种基于距离势函数任意凸多边形块体离散单元法,其特征 是,所述步骤屯中,更新每个块体单元的顶点、形屯、W及内点的坐标,公式为: xk(t+ A t) =xk(t)+rk(t+ A t) yk(t+ A t) =yk(t)+rk(t+ A t) 其中,Xk、yk是块体单元k的顶点、形屯、W及内点的坐标,rk为块体单元k的位移,k = I, 2,……,N,N为块体单元个数。
【文档编号】G06F19/00GK105912852SQ201610218708
【公开日】2016年8月31日
【申请日】2016年4月8日
【发明人】赵兰浩, 刘勋楠, 毛佳, 李同春
【申请人】河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1