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

用于无网格粒子模拟技术的邻近粒子高效双重搜索方法技术

技术编号:17994833 阅读:116 留言:0更新日期:2018-05-19 12:00
本发明专利技术公开了一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法。它主要包括:将无网格粒子计算模型的离散粒子节点数据导入计算机内存,并进行初始化计算;根据计算模型的求解域,建立一个规则矩形或长方体背景区域,确定背景区域的中心点坐标及边长;对背景区域进行规则网格划分,得到一系列大小完全相同的规则小矩形或小长方体格子;根据划分出的背景格子,判断离散粒子与背景格子的关系,从而建立落入每个背景格子中的粒子列表;背景格子层次的搜索;粒子层次的搜索。本发明专利技术硬件成本低,通用性强,并能有效提高无网格粒子模拟技术中的粒子搜索效率,大量降低模拟过程的耗时。

Efficient double search method for near particles using meshless particle simulation technology

The invention discloses a highly efficient double search method for adjacent particles used in gridless particle simulation technology. It mainly includes: introducing the discrete particle node data of the meshless particle calculation model into the computer memory and initializing the calculation. According to the solution domain of the calculation model, a regular rectangle or the rectangle background area is set up to determine the center point coordinates and the border length of the background area, and the regular grid is divided into the background area. A series of regular small rectangular or small rectangular squares of the same size are obtained; the relation between the discrete particles and the background lattices is judged according to the background lattices divided, thus the particle list falling into each background lattice is set up, the search of the background lattice level and the search of the particle level. The invention has low hardware cost and strong versatility, and can effectively improve particle search efficiency in the meshless particle simulation technology, and greatly reduces the time consuming in the simulation process.

【技术实现步骤摘要】
用于无网格粒子模拟技术的邻近粒子高效双重搜索方法
本专利技术属于计算机辅助工程中的仿真计算领域,具体涉及一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法。
技术介绍
近几十年来,在计算仿真领域,无网格法、离散元法等无网格粒子类模拟方法迅速发展。无网格法不同于传统有限元法采用场变量插值,而是采用场变量逼近的方法。无网格法仅需离散的节点信息,而无需网格信息,避免了因网格存在而导致的数值计算困难。现已经发展了多种无网格方法,如光滑质点流体动力学法(SPH)、无网格Garlerkin法(EFGM)、重构核粒子法(RKPM)、物质点法(MPM)等。无网格法计算精度高,收敛快,已被广泛应用于动态裂纹扩展、冲击动力学、金属塑性成型、结构优化等领域。在无网格粒子类方法的计算过程中,一般需要利用某个粒子的邻近点信息,如无网格法中的节点影响域内的节点,离散元法中的某个粒子也只可能与邻近粒子发生接触等。但是,由于不存在网格,离散点之间的关系不能事先获得,因此在无网格粒子类方法的计算过程中,需要通过粒子搜索方法确定某个粒子的邻近点。传统的搜索方法是全局搜索。虽然全局搜索方法简单,易于编程实现,但粒子规模较大时,搜索计算量大(全局搜索方法的时间复杂度是O(N2),N为粒子数)、耗时长,严重限制了无网格粒子类方法在大规模工程问题中的应用。针对无网格粒子类方法计算过程中全局搜索的耗时问题,人们基于粒子的局部影响特性,提出了在局部区域搜索粒子的方法。典型的有链表搜索法和树形搜索法。链表搜索法是采用建立的规则背景网格来缩小搜索范围。在实现链表搜索法时,需要在问题域中铺设临时背景网格,网格单元的空间大小应与粒子的影响域尺寸一致。那么,对于某个给定的粒子,其邻近粒子只能在同一网格单元内,或者在紧密相邻的单元内。该算法的时间复杂度是O(N)。但链表搜索法存在的问题是,当影响域尺寸可变时,网格空间就不能适应每一个粒子,此时若再利用链表搜索法,则容易导致错误,并且搜索效率也会降低。树形搜索法非常适宜求解具有可变影响域尺寸的问题。这种算法是通过粒子的位置来构造有序树,将最大问题域递归分割成一个个卦限,直到每一个卦限内只包含一个粒子为止,该算法的时间复杂度是O(NlgN)。但树形搜索法的算法复杂,且搜索效率低于链表搜索法。
技术实现思路
本专利技术的目的在于针对上述无网格粒子类局部搜索方法中粒子搜索存在计算量大、耗时长等问题,尤其是对变影响域尺寸模型粒子搜索效率低的问题,提供一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法。该方法能够有效提高无网格粒子类方法计算过程中的粒子搜索效率,且能够适应变影响域尺寸的问题。本专利技术提供的一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法,包括如下顺序的步骤:(1)将无网格粒子计算模型的离散粒子节点数据导入计算机内存,并进行初始化计算;(2)根据计算模型的求解域Ω,建立一个规则的矩形(用于平面问题)或长方体(用于立体问题)背景区域Ωs,要求计算模型的求解域Ω为背景区域Ωs的子集;通过求取所有粒子坐标的最大值、最小值来确定背景区域Ωs的中心点坐标(midx,midy)及边长Lx、Ly;(3)对背景区域Ωs进行规则网格划分,即对背景区域Ωs的各边以合理的间距,进行等间距划分,得到一系列大小完全相同的规则小矩形或小长方体格子;其中,背景区域Ωs纵向方向的等分数为divm,格子的纵向边长为cy;背景区域Ωs横向方向的等分数为divn,格子的横向边长为cx;(4)根据步骤(3)划分出的背景区域格子(以下简称背景格子),判断离散粒子与背景格子的关系,从而建立落入每个背景格子中的粒子列表;(5)背景格子层次的搜索,即确定可能包含某个点邻近粒子的所有背景格子;(6)粒子层次的搜索,即提取在步骤(5)所确定背景格子包含的所有粒子,利用式(1)判断,是否属于给定点影响域内的粒子,若满足式(1),则粒子属于给定点的影响域,否则不属于给定点的影响域;d<Rm(1);其中,d为给定点与搜索粒子之间的距离,Rm为给定点的影响域尺寸。具体的,所述步骤(1)中,无网格粒子计算模型的离散粒子节点数据包括粒子的坐标,数据的排列顺序为粒子的编号序号。具体的,所述步骤(4)包括如下步骤:(a)遍历所有粒子,利用式(2)计算某个粒子所在背景格子的整体行号cellm与整体列号celln,并利用式(3)计算该粒子所在背景格子的整体编号NG;然后,统计每个背景格子中所落入的粒子数,并存储至数组cellnumpar[Cellnum]中,其中,Cellnum为格子数;NG=cellm+divm*(celln-1)(3);式中,ceil表示向上取整,nody、nodx表示粒子的坐标,midy、midx表示背景区域Ωs的中心点坐标,Lx、Ly表示背景区域Ωs在横向与纵向方向的边长,cx、cy表示格子的横向与纵向边长,divm表示背景区域Ωs在纵向方向的等分数;(b)在计算机内存中开辟数组cellpar[N],然后再次遍历所有粒子,存储落入每个背景格子中的粒子编号至数组cellpar[N];同时,为便于从数组cellpar[N]中索引粒子,还生成了数组cellpar_idx[Cellnum],用于存储每个格子内在数组cellpar[N]中索引号最小的粒子的索引号。具体的,所述步骤(5)包括如下步骤:(a)记给定点所在背景格子为中心格子,利用式(2),根据给定点的坐标计算中心格子的行号cen_cellm与列号cen_celln;(b)根据粒子影响域尺寸确定背景格子的搜索半径R,然后根据该半径确定中心格子附近可能包含邻近粒子的所有背景格子,并按自上至下、自左至右的方式对得到的背景格子进行编号;此处的编号为所得到背景格子的局部编号;根据格子的排布方式得到,左上角格子的局部行列号(ul_cellm,ul_celln)可由式(4)计算,右下角格子的局部行列号(lr_cellm,lr_celln)可由式(5)计算;根据局部行列号,参照式(3)计算得到左上角与右下角格子的局部编号ul_NL、lr_NL;式中,cellm、celln分别表示粒子所在背景格子的整体行号和整体列号,ceil表示向上取整,cx、cy分别表示格子的横向边长和纵向边长;(c)由于背景格子的局部编号和整体编号均是按照自上至下、自左至右的方式编排,因此背景格子的局部编号增量与整体编号增量相等;根据式(6)可将所得到背景格子的局部编号转化为整体编号;式中,NG表示粒子所在背景格子的整体编号,ul_NG为左上角格子的整体编号,为lr_NG右下角格子的整体编号,ul_NL、lr_NL分别表示左上角和右下角格子的局部编号。从上述技术方案可知,本专利技术所提出的邻近粒子高效双重搜索方法,不仅具有链表搜索法搜索效率高的优点,同时又具有树形搜索法能够适应变影响域长度的优点,且避免了复杂的链表数据结构和树形数据结构,易于编程实现,数据存储效率高,从而为无网格粒子类方法应用于大规模科学与工程问题奠定了基础。附图说明图1为本专利技术方法中的背景区域示意图。图2为本专利技术方法中的背景格子示意图。图3为本专利技术方法中的搜索背景格子示意图。图4为本专利技术方法中的搜索粒子示意图。图5为本专利技术方法实施例1的模型示意图。图6为本专利技术方法本文档来自技高网
...
用于无网格粒子模拟技术的邻近粒子高效双重搜索方法

【技术保护点】
一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法,其特征在于包括如下顺序的步骤:(1)将无网格粒子计算模型的离散粒子节点数据导入计算机内存,并进行初始化计算;(2)根据计算模型的求解域Ω,建立一个规则的矩形(用于平面问题)或长方体(用于立体问题)背景区域Ωs,要求计算模型的求解域Ω为背景区域Ωs的子集;通过求取所有粒子坐标的最大值、最小值来确定背景区域Ωs的中心点坐标(midx,midy)及边长Lx、Ly;(3)对背景区域Ωs进行规则网格划分,即对背景区域Ωs的各边以合理的间距,进行等间距划分,得到一系列大小完全相同的规则小矩形或小长方体格子;其中,背景区域Ωs纵向方向的等分数为divm,格子的纵向边长为cy;背景区域Ωs横向方向的等分数为divn,格子的横向边长为cx;(4)根据步骤(3)划分出的背景区域格子(以下简称背景格子),判断离散粒子与背景格子的关系,从而建立落入每个背景格子中的粒子列表;(5)背景格子层次的搜索,即确定可能包含某个点邻近粒子的所有背景格子;(6)粒子层次的搜索,即提取在步骤(5)所确定背景格子包含的所有粒子,利用式(1)判断,是否属于给定点影响域内的粒子,若满足式(1),则粒子属于给定点的影响域,否则不属于给定点的影响域;d<Rm         (1);其中,d为给定点与搜索粒子之间的距离,Rm为给定点的影响域尺寸。...

【技术特征摘要】
1.一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法,其特征在于包括如下顺序的步骤:(1)将无网格粒子计算模型的离散粒子节点数据导入计算机内存,并进行初始化计算;(2)根据计算模型的求解域Ω,建立一个规则的矩形(用于平面问题)或长方体(用于立体问题)背景区域Ωs,要求计算模型的求解域Ω为背景区域Ωs的子集;通过求取所有粒子坐标的最大值、最小值来确定背景区域Ωs的中心点坐标(midx,midy)及边长Lx、Ly;(3)对背景区域Ωs进行规则网格划分,即对背景区域Ωs的各边以合理的间距,进行等间距划分,得到一系列大小完全相同的规则小矩形或小长方体格子;其中,背景区域Ωs纵向方向的等分数为divm,格子的纵向边长为cy;背景区域Ωs横向方向的等分数为divn,格子的横向边长为cx;(4)根据步骤(3)划分出的背景区域格子(以下简称背景格子),判断离散粒子与背景格子的关系,从而建立落入每个背景格子中的粒子列表;(5)背景格子层次的搜索,即确定可能包含某个点邻近粒子的所有背景格子;(6)粒子层次的搜索,即提取在步骤(5)所确定背景格子包含的所有粒子,利用式(1)判断,是否属于给定点影响域内的粒子,若满足式(1),则粒子属于给定点的影响域,否则不属于给定点的影响域;d&lt;Rm(1);其中,d为给定点与搜索粒子之间的距离,Rm为给定点的影响域尺寸。2.根据权利要求1所述一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法,其特征在于:所述步骤(1)中,无网格粒子计算模型的离散粒子节点数据包括粒子的坐标,数据的排列顺序为粒子的编号序号。3.根据权利要求1所述一种用于无网格粒子模拟技术的邻近粒子高效双重搜索方法,其特征在于:所述步骤(4)包括如下步骤:(a)遍历所有粒子,利用式(2)计算某个粒子所在背景格子的整体行号cellm与整体列号celln,并利用式(3)计算该粒子所在背景格子的整体编号NG;然后,统计每个背景格子中所落入的粒子数,并存储至数组cellnumpar[Cellnum]中,其中,Cellnum为格子数;NG=cellm+divm*(celln-1)(3);式中,ceil表示向上取整,nody、nodx表示粒子的坐标,midy、midx表示背景区域Ωs...

【专利技术属性】
技术研发人员:龚曙光卢海山谢桂兰张建平
申请(专利权)人:湘潭大学
类型:发明
国别省市:湖南,43

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

1