一种随机分批埃瓦德算法的近场加速方法技术

技术编号:34687542 阅读:16 留言:0更新日期:2022-08-27 16:20
本发明专利技术公开了一种随机分批埃瓦德算法的近场加速方法,涉及分子动力学模拟技术领域。在分子动力学模拟埃瓦德算法中,对于长程部分,在傅里叶空间中对频率随机采样,计算对应的受力;对于短程部分,采用双层近邻列表方法。本发明专利技术利用随机方法近似受力,在对体系模拟的数值积分过程中,随机力波动的期望为零且方差可控,使得最终分布接近实际分布,因此具有良好的收敛性,计算复杂度为线性,比现有方法更快;只需要在CPU核之间通讯有限个频率样本,不需要密集通讯,并行效率高;对小截断半径内的力的作用准确计算,而对球壳内粒子随机选择并计算受力,减少CPU内存占用和计算量。减少CPU内存占用和计算量。减少CPU内存占用和计算量。

【技术实现步骤摘要】
一种随机分批埃瓦德算法的近场加速方法


[0001]本专利技术涉及分子动力学模拟
,尤其涉及一种随机分批埃瓦德算法的近场加速方法。

技术介绍

[0002]在分子动力学模拟中,应用的场景一般是整体电中性的带电离子体系,外加周期性边界条件,一般使用埃瓦德算法(Ewald算法)来处理这个具有长程相互作用的问题。Ewald算法是由德国物理学家保罗
·
彼得
·
埃瓦尔德(Paul Peter Ewald)专利技术的一种计算周期性系统静电相互作用势能的方法。其核心想法是把电荷间的库仑相互作用拆分成长程和短程两个部分,其中长程部分通过傅里叶变换快速计算;而短程部分和伦纳德琼斯(Lennard

Jones)势能都是快速衰减的项,通常使用截断方法进行处理;另外还有原子间共价键、键角等相互作用。伦纳德琼斯势能是由数学家约翰
·
莱纳德
·
琼斯(John Lennard

Jones)提出的用来描述惰性气体分子间的相互作用。具体的算法如下:
[0003]模拟体系包含N个离子,整体满足电中性条件:
[0004][0005]外加周期性边界条件,可以得到体系整体的相互作用势能:
[0006][0007]其中前三项都是粒子间的键能,分别代表键长、键角、以及多个键角形成的二面角所对应的能量,这个部分的能量只与相邻粒子有关。后两项分别表示库仑相互作用以及伦纳德琼斯势能。其中n∈Z3表示三维整数向量,∑
n/>'表示排除i=j并且n=0的情形。对于库仑相互作用,直接使用截断是不准确的,经典的Ewald方法是将拆分成长程和短程两个部分:和其中erfc(x)为误差补函数,衰减迅速,因此可以使用直接截断方法处理;erf(x)为误差函数,衰减缓慢,因此将通过傅里叶变换转变到傅里叶空间中快速衰减的级数,再对频率进行截断来计算。因此对粒子i得到的整体受力表达式为:
[0008][0009]其中第二项为伦纳德琼斯势能对应的受力,结构因子Im表示取虚部,r
ij
=r
j

r
i
。在Ewald方法中,选择合适的α以及截断长度k
c
和r
s
,使得长程和短程相互作用计算复杂度均为O(N
3/2
)。
[0010]现在的方法通过对最后一项傅里叶空间中的受力应用快速傅里叶变换以及插值等加速手段,达到降低整体计算复杂度的效果,最终可以达到O(NlogN)。对于短程受力而言,目前的方法是对每个粒子建立近邻列表,计算近邻列表中粒子产生的整体受力。此外,还应用了元胞列表法,使得整体计算复杂度下降至线性;以及考虑比实际需要略大的近邻列表,使得降低近邻列表更新频率。
[0011]现有技术计算复杂度较高:对于库仑相互作用长程部分,现有的方法复杂度较高;在处理短程受力时,截断半径内相互作用粒子数量仍然较多(几百个),计算复杂度大。现有的方法在处理库伦相互作用长程部分时,使用多次快速傅里叶变换,在多核并行模拟时消耗大量时间用于信息通讯,降低了并行效率。每个粒子都需要储存较大近邻粒子列表,其占用的CPU内存较高,在模拟非常大的粒子体系时,会受到内存瓶颈限制。
[0012]因此,本领域的技术人员致力于开发一种随机分批埃瓦德算法的近场加速方法(IRBE)。计算复杂度为线性,比现有方法更快;只需要在CPU核之间通讯有限个频率样本,不需要密集通讯,并行效率高;构建双层近邻列表,只需要存储内层近邻的信息,减少CPU内存占用和计算量。

技术实现思路

[0013]有鉴于现有技术的上述缺陷,本专利技术所要解决的技术问题是如何降低分子动力学模拟埃瓦德算法的计算复杂度,提高并行效率,减少CPU内存占用和计算量。
[0014]为实现上述目的,本专利技术提供了一种随机分批埃瓦德算法的近场加速方法,分子动力学模拟埃瓦德算法,对于短程部分,采用双层近邻列表方法。
[0015]进一步地,对于长程部分,在傅里叶空间中对频率随机采样,计算对应的受力。
[0016]进一步地,所述频率随机采样,数值模拟过程中进行频率样本计算的数量级为百或千。
[0017]进一步地,所述频率随机采样,只进行一次CPU核之间的全局通讯。
[0018]进一步地,所述双层近邻列表方法,对小截断半径内的力的作用准确计算,对球壳内粒子随机选择并计算受力。
[0019]进一步地,所述双层近邻列表方法,存储近邻粒子信息,包括位置和速度。
[0020]进一步地,所述双层近邻列表,只存储小截断半径内的近邻粒子信息。
[0021]进一步地,所述双层近邻列表,对于外部粒子只随机选择一部分,不储存近邻信息。
[0022]进一步地,对于短程相互作用,包括库仑短程部分和伦纳德琼斯部分。
[0023]进一步地,对于短程相互作用,选择两个截断半径。
[0024]在本专利技术的较佳实施方式中,在分子动力学模拟中,应用的场景是整体电中性的带电离子体系,外加周期性边界条件。现有技术埃瓦德算法计算复杂度较高:对于库仑相互作用长程部分,现有的方法复杂度较高;在处理短程受力时,截断半径内相互作用粒子数量仍然较多(几百个),计算复杂度大。本专利技术利用随机近似受力,在对体系模拟的数值积分过程中,随机力波动的期望为零且方差可控,使得最终分布接近实际分布,因此具有良好的收敛性。对于长程部分受力,在傅里叶空间中对频率随机采样,计算对应的受力;对于短程部分,考虑双层近邻列表方法,对小截断半径内的力的作用准确计算,而对球壳内粒子随机选择并计算受力,这样可以减少整体计算复杂度。计算复杂度为线性,比现有方法更快。
[0025]在多核并行方面,现有技术需通讯大量信息,导致并行效率下降:现有的方法在处理库仑相互作用长程部分时,使用多次快速傅里叶变换,在多核并行模拟时消耗大量时间用于信息通讯,降低了并行效率。本专利技术对频率进行随机采样,每次数值模拟过程中只用到有限个(几百到几千个)频率样本进行计算,只需要一次CPU核之间的通讯,提高并行效率。
[0026]现有技术每个粒子都需要储存较大近邻粒子列表,其占用的CPU内存较高,在模拟非常大的粒子体系时,会受到内存瓶颈限制。本专利技术对小截断半径内的力的作用准确计算,而对球壳内粒子随机选择并计算受力。建立双层近邻列表,只需要存储小截断半径内的粒子即可,对于外部粒子只需随机选择一部分,不需要储存近邻信息,因此减少了CPU内存占用。
[0027]本专利技术与现有技术相比较,具有如下显而易见的实质性特点和显著优点:
[0028]1.利用随机方法近似受力,在对体系模拟的数值积分过程中,受力误差相互抵消,使得最终分布接近实际分布,因此具有良好的收敛性。计算复杂度为线性,比现有方法更快。
[0029]2.只需要在CPU核之间通讯有限个频率样本,不需要密集通讯,并行效率高。
[0030]3.对小截断半径内的力的作本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种随机分批埃瓦德算法的近场加速方法,其特征在于,分子动力学模拟埃瓦德算法,对于短程部分,采用双层近邻列表方法。2.如权利要求1所述的随机分批埃瓦德算法的近场加速方法,其特征在于,对于长程部分,在傅里叶空间中对频率随机采样,计算对应的受力。3.如权利要求2所述的随机分批埃瓦德算法的近场加速方法,其特征在于,所述频率随机采样,数值模拟过程中进行频率样本计算的数量级为百或千。4.如权利要求2所述的随机分批埃瓦德算法的近场加速方法,其特征在于,所述频率随机采样,只进行一次CPU核之间的全局通讯。5.如权利要求1所述的随机分批埃瓦德算法的近场加速方法,其特征在于,所述双层近邻列表方法,对小截断半径内的力的作用准确计算,对球壳内粒子...

【专利技术属性】
技术研发人员:徐振礼梁久阳赵越
申请(专利权)人:上海交通大学
类型:发明
国别省市:

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

1