[发明专利]一种用于SPH算法的邻近粒子搜索方法及系统在审
| 申请号: | 201811522912.X | 申请日: | 2018-12-12 |
| 公开(公告)号: | CN109711525A | 公开(公告)日: | 2019-05-03 |
| 发明(设计)人: | 孙旋;涂正光;印强强;郭江涛;舒孟炯;周律;何乾坤 | 申请(专利权)人: | 湖北航天技术研究院总体设计所 |
| 主分类号: | G06N3/00 | 分类号: | G06N3/00;G06F17/50 |
| 代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 余浩 |
| 地址: | 430040*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 粒子 网格单元 相邻网格单元 算法 搜索 邻近 流体力学 计算流体力学 计算效率 数值计算 鲁棒性 网格 映射 单胞 构建 预置 验证 | ||
本发明公开了一种用于SPH算法的邻近粒子搜索方法及系统,涉及计算流体力学技术领域。本发明通过构建预置单胞网格并计算每个粒子所在位置的网格单元编号;将粒子映射到网格单元中,获取每个粒子所对应的网格单元编号,根据网格单元编号找出粒子的相邻网格单元;逐个比较每个粒子与相邻网格单元中的粒子的距离并建立粒子对。该方法可以有效提高软件的鲁棒性。通过算例验证,使用本发明进行流体力学问题的数值计算仿真是可行的,有效提高了计算效率。
技术领域
本发明涉及计算流体力学技术领域,具体是涉及一种用于SPH算法的邻近粒子搜索方法及系统。
背景技术
随着计算机技术和CFD计算方法的迅速发展,SPH法逐渐用于流体数值计算过程中,但是传统的SPH法计算规模大,计算效率低,因此,在现有有效研究手段缺乏的情况下,开展SPH法改进算法研究工作来提高计算效率显得尤为重要。
对于流体域内任一个粒子,其核函数有一个支持域,在支持域内的所有粒子都会与该粒子发生相互作用,都是该粒子的临近粒子。临近粒子会随计算时间的变化而改变,因此在每一个迭代步都必须进行临近粒子的搜索算法,才能确定并计算粒子对之间的相互作用。相对于整个计算域来说,单个粒子的支持域非常小,因此其临近粒子数相对于整个计算域粒子数来说也很少,因SPH方法是无网格法,粒子之间无连接关系,因此如何高效地从数量庞大、散乱无规则的粒子群中找出它们的临近粒子,是亟待解决的重要问题。
粒子的排列顺序对计算速度也有较明显的影响,因为在计算粒子对之间相互作用的时候,需要访问两个粒子的数据。CPU访问数据时,总线往往会将数据所在的内存及附近的数据调入缓存区,若两粒子在内存中的位置相距较远,则CPU从缓存区取得数据的几率下降。对于整个计算域来说,若每个粒子与它的配对粒子相隔较远,则会耗费大量的CPU处理时间,导致程序的整体计算效率降低。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种用于SPH算法的邻近粒子搜索方法及系统,在大规模无网格流体计算时,提高计算效率。
本发明提供一种用于SPH算法的邻近粒子搜索方法,包括以下步骤:
建立所有粒子区域的笛卡尔坐标系,构建预置单胞网格并计算每个粒子所在位置的网格单元编号;
将粒子映射到网格单元中,获取每个粒子所对应的网格单元编号,根据网格单元编号找出粒子的相邻网格单元;
逐个比较每个粒子与相邻网格单元中的粒子的距离并建立粒子对。
在上述方案的基础上,所述构建预置单胞网格并计算每个粒子所在位置的网格单元编号,具体包括以下步骤:
遍历所有粒子,计算出粒子所在坐标系的最大坐标值(Xmax,Ymax,Zmax)、最小坐标值(Xmin,Ymin,Zmin)和粒子的最大光滑长度hmax;
计算预置单胞网格的边长d,ε为容差,计算公式为:
d=2hmax+ε (1)
将粒子所在坐标系用边长d等分成大小相同的网格单元,计算网格单元编号最大值:(imax,jmax,kmax):
计算网格单元总数Cell Num:
Cell Num=imax*jmax*kmax (3);
计算每个粒子所在位置的网格单元编号(i,j,k),将粒子对
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北航天技术研究院总体设计所,未经湖北航天技术研究院总体设计所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811522912.X/2.html,转载请声明来源钻瓜专利网。





