System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法技术_技高网

一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法技术

技术编号:44892925 阅读:3 留言:0更新日期:2025-04-08 00:31
本发明专利技术属于分子动力学领域,具体涉及一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,包括:对粒子空间进行网格划分,并预处理;对计算域内的粒子进行邻近列表搜索,筛选出符合条件的邻居原子,通Reduce操作计算S球域的近程力;随机均匀选取CS球域中的部分粒子,通过Reduce操作计算CS球域的近程力;结合S球域的近程力和CS球域的近程力以及两个区域贡献的修正项,进而计算粒子的实际近程力。本发明专利技术高效实现了计算EAM粒子短程相互作用,通过球域划分引入随机受力,大幅减少近邻粒子数量来降低计算复杂度,较好的提升了计算效率。

【技术实现步骤摘要】

本专利技术属于分子动力学领域,具体涉及一种基于rbl算法实现eam力场中粒子间短程相互作用计算的方法。


技术介绍

1、材料在成型、使用过程中,会发生不同程度的相变行为,例如:裂纹、错位、断裂等;对相变材料相变行为的研究是当前材料研究的重要前沿,它对于理解材料微结构与宏观性能之间的关系以及材料性能设计(如抗疲劳性能)均具有重大意义。

2、相关研究表明,材料的相变过程实际上是一个包含了从微观到宏观多级特征空间和时间尺度的多物理过程,其力学行为呈现强烈的非平衡,非线性和多尺度效应。目前主流的理论和模拟研究方法集中在单一尺度,缺乏跨尺度研究的有效工具。

3、分子动力学模拟作为一种强大的计算工具,能够在原子层面模拟材料的运动和相互作用,为深入理解材料的相变过程提供了潜在的机会。通过模拟合金等材料在不同温度、压力和合金成分条件下的原子结构和行为,可以揭示其相变机制、晶体结构变化以及热力学性质的细节。将分子动力学应用于材料跨尺度研究的主要难点之一是:实际发生的相变尺度在微米级别,而目前主流的分子动力学软件其模拟尺度限制在纳米,其主要瓶颈在于描述粒子间短程相互作用的势能在大规模计算中所遇到内存占用过高等挑战。

4、eam(embedded atom method)力场描述了其他原子的电子密度对中心原子的相互作用的影响,是两体相互作用和多体相互作用共同的结果。它主要用于金属和合金系统,能够预测材料的机械性质和力学性质。此外,eam力场也是一种短程相互作用。

5、在短程相互作用的实际计算中,为了加速收敛,一般会设定一个截断距离/半径(cutoff distance),即以某个粒子为中心,取截断半径内的所有粒子,根据lj势能函数计算该粒子受到的周围近邻粒子的短程相互作用。以这种计算方法为基础,研究者专利技术了更加优化的短程相互作用计算方法,例如:verlet近邻列表算法(verlet list)、元胞链表算法(cell linked list)等,都是上述计算短程相互作用的变体。然而,随着计算体系(粒子数)规模的增大,上述短程相互作用的算法存在显著的内存占用过高、计算效率低等问题。其主要原因在于:

6、目前主流的计算架构是基于冯·诺依曼架构,该架构将计算单元与存储单元分离,即“存算分离”。然而,随着“摩尔定律”的失效和多核处理器架构的广泛应用,基于冯·诺依曼架构的计算机体系逐渐暴露出其局限性。在大规模计算集群中,cpu和内存之间的数据传输速度与浮点运算性能之间的巨大差距限制了计算机在更大时空尺度上的应用,导致了著名的“冯·诺依曼瓶颈”。

7、因此,对于大规模粒子体系的模拟,基于“存算分离”的架构将导致计算机内存占用过高,同时在计算粒子受到的短程相互作用时,由于需要构建更大规模的近邻列表,计算器与存储器之间的通讯也将受到限制,严重影响计算效率。


技术实现思路

1、为解决上述技术问题,本专利技术提供一种基于rbl算法实现eam力场中粒子间短程相互作用计算的方法,包括以下步骤:

2、s1:设计存储各个邻居粒子id向量的向量数据结构group_id和内嵌各个邻居粒子坐标position向量的向量数据结构group_position,上述两个数据结构用于存储计算短程相互作用力时邻居列表的相关信息;

3、所述group_id的数据结构为:vector<vector<int>>,其中最内层vector<int>为邻居粒子id向量;

4、所述group_position的数据结构为:vector<vector<vector<float>>>,其中最内层vector<float>表示邻居粒子位置的3维坐标position;

5、s2:设计reduce操作符,用于大规模粒子计算时的相加操作;

6、s3:通过网格划分操作在粒子空间中构建单位大小为rs的网格域cell list,并对其进行预处理;

7、s4:在cell list网格域的基础上,划分空间中的粒子,并将粒子间距小于rs的区域设为s球域,将粒子间距大于rs小于rc的区域设为cs球域;其中,rc为邻居列表搜索半径;

8、s5:对计算域中的所有粒子,其粒子编号为0、1……i,均进行邻居列表搜索;

9、s6:通过遍历cell list网格域中的网格单元,筛选出符合计算条件的邻居粒子;

10、s7:分别计算s球域和cs球域内所有邻居粒子与中心粒子间的短程力;

11、s8:对s球域中每个粒子短程力与cs球域的每个粒子短程力进行对应加和,得到每个原子的临时短程力,通过reduce操作符加和每个粒子的临时短程力,得到短程力修正项,并将每个粒子的临时短程力都减去短程力修正项,得到每个粒子的实际短程力。

12、本专利技术的有益效果:

13、本专利技术在传统短程相互作用力的计算方法基础上,在不同距离邻居粒子对中心粒子的短程作用影响因子不同的条件下,通过划分不同作用域,并采用随机分批方法筛选cs壳域内邻居粒子,极大减少了近邻粒子计算数量,降低了计算成本,提升了计算效率。

14、本专利技术高效实现了计算eam粒子短程相互作用,通过球域划分引入随机受力,大幅减少近邻粒子数量来降低计算复杂度,较好的提升了计算效率。

本文档来自技高网...

【技术保护点】

1.一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,包括:

2.根据权利要求1所述的一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,通过网格划分操作在粒子空间中构建单位大小为rs的网格域CellList,包括:

3.根据权利要求1所述一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,对网格域Cell List进行预处理,包括:

4.根据权利要求1所述一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,对计算域内的所有粒子进行邻近列表搜索,包括:

5.根据权利要求1所述一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,筛选出符合计算条件的邻居粒子,包括:

6.根据权利要求1所述一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,计算S球域内所有邻居粒子与中心粒子间的短程力,包括:

7.根据权利要求1所述一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,计算CS球域内所有邻居粒子与中心粒子间的短程力,包括:

8.根据权利要求1所述一种基于RBL算法实现EAM力场中粒子间短程相互作用计算的方法,其特征在于,通过Reduce操作符加和S球域和CS壳域的每个粒子的临时短程力,得到短程力修正项Fcor,最后,将每个粒子的临时短程力都减去这个短程力修正项,得到每个粒子的实际短程力,包括:

...

【技术特征摘要】

1.一种基于rbl算法实现eam力场中粒子间短程相互作用计算的方法,其特征在于,包括:

2.根据权利要求1所述的一种基于rbl算法实现eam力场中粒子间短程相互作用计算的方法,其特征在于,通过网格划分操作在粒子空间中构建单位大小为rs的网格域celllist,包括:

3.根据权利要求1所述一种基于rbl算法实现eam力场中粒子间短程相互作用计算的方法,其特征在于,对网格域cell list进行预处理,包括:

4.根据权利要求1所述一种基于rbl算法实现eam力场中粒子间短程相互作用计算的方法,其特征在于,对计算域内的所有粒子进行邻近列表搜索,包括:

5.根据权利要求1所述一种基于rbl算法实现eam力场中粒子间短程相互作用...

【专利技术属性】
技术研发人员:徐振礼金石罗泽东高伟航郭永发刘欢刘晓庆赵腾
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1