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

一种并行粒子群合金纳米粒子结构优化方法及系统技术方案

技术编号:21093108 阅读:33 留言:0更新日期:2019-05-11 11:17
本发明专利技术公开一种并行粒子群合金纳米粒子结构优化方法及系统。该方法主要包括在CPU单元中构建合金纳米粒子集合;构建GPU运行单元;在CPU单元中对运行参数进行初始化并发送至GPU运行单元,在GPU运行单元中运行粒子群改进算法来优化合金纳米粒子结构。本发明专利技术的GPU运行单元中通过软件调试计算不同线程数下Gupta函数的平均耗时,选择平均耗时最短的线程数确定为每块中的线程个数,通过合金纳米粒子集合的个体数/(线程数+1)确定所需块数,每个线程使用40个寄存器,每个原子占用一个线程计算原子势能。运用本发明专利技术,提高了计算效率与准确率,实现了合金纳米粒子稳定结构的快速高效全局优化,可广泛适应各类合金纳米粒子。

【技术实现步骤摘要】
一种并行粒子群合金纳米粒子结构优化方法及系统
本专利技术涉及合金纳米粒子结构优化
,特别是涉及一种并行粒子群合金纳米粒子结构优化方法及系统。
技术介绍
铂族金属具有很强的催化性能,但其资源匮乏、价格昂贵,因此与非贵金属形成合金材料是一种提高催化活性与降低价格的有效方法。而合金纳米材料的催化效应通常发生在材料表面,并且其催化活性与粒子尺寸、原子比例等有很大关系。因此,研究合金纳米粒子的稳定结构至关重要。现有稳定结构研究方法分为两类,一类是将电子看成一个系统的量子化学计算方法,计算复杂耗时,仅能分析少数原子组成的合金纳米团簇。另一类是忽略电子作用的分子动力学计算方法,通常利用经验势描述原子间作用,该类方法基于经验势能函数模拟原子间作用,计算相对简单,可处理成百上千个原子的纳米粒子。近年来,各种智能优化方法被引入到基于经验势函数的纳米粒子稳定结构研究中,如遗传算法、粒子群算法、模拟退火、差分进化、动态格点及盆地跳等。但经验势函数是一个多维空间曲面并且极其复杂,存在众多局部极小点,使得基于智能算法的全局优化成为NP难问题,容易陷入局部最优,且随着纳米粒子尺寸增加其计算复杂性也成指数级增长。因此,必须寻找一种新的有效方法来提高合金纳米粒子结构优化的计算效率。
技术实现思路
本专利技术的目的是提供一种并行粒子群合金纳米粒子结构优化方法及系统,提高计算效率与准确率,实现合金纳米粒子稳定结构的快速高效全局优化,可广泛适应各类合金纳米粒子。为实现上述目的,本专利技术提供了如下方案:一种并行粒子群合金纳米粒子结构优化方法,所述方法包括:在CPU单元中构建合金纳米粒子集合;所述合金纳米粒子集合包括多个个体;每个所述个体表示一种合金纳米粒子结构;每种所述合金纳米粒子结构表示多个原子在空间的坐标位置,且每种所述合金纳米粒子结构中同种类型的原子个数比例不变;在CPU单元中对运行参数进行初始化;所述运行参数包括合金纳米粒子集合的个体数、个体的初始速度和初始位置、每个合金纳米粒子的初始结构、初始线程数、总迭代次数;构建GPU运行单元;所述GPU运行单元中包括若干个网格;每个所述网格包括若干个块;每个所述块包括若干个线程;每个线程使用40个寄存器;每个原子占用一个线程来计算原子势能;其中,通过NVIDIAParallelNsight调试计算不同线程数下Gupta函数的平均耗时,选择平均耗时最短的线程数确定为每块中的线程个数;所述合金纳米粒子集合所需的块数为合金纳米粒子集合的个体数/(线程数+1);将初始化后的运行参数发送至所述GPU运行单元,并在所述GPU运行单元中运行粒子群改进算法来优化合金纳米粒子结构;其中,将当前迭代确定的最优个体与存储在CPU单元的个体进行比较更新,确定在CPU单元存储的最终个体。可选的,所述在所述GPU运行单元中运行粒子群改进算法来优化合金纳米粒子结构,具体包括:利用Gupta函数,计算每个所述个体的Gupta势能值,并选出第一个体,记录当前迭代次数;所述第一个体为所述合金纳米粒子集合中Gupta势能值最小的个体;判断所述第一个体的Gupta势能值是否小于CPU单元存储的个体的Gupta势能值,得到第一判断结果;若所述第一判断结果表示所述第一个体的Gupta势能值小于CPU单元所存储的个体的Gupta势能值,则将CPU单元存储的个体删除,将所述第一个体存储到CPU单元中;若所述第一判断结果表示所述第一个体的Gupta势能值大于或者等于CPU单元所存储的个体的Gupta势能值,则保持CPU单元存储的个体不变;判断所述当前迭代次数是否小于总迭代次数,得到第二判断结果;若所述第二判断结果表示当前迭代次数小于总迭代次数,则更新所述合金纳米粒子集合,返回利用Gupta函数,计算每个所述个体的Gupta势能值的步骤;若所述第二判断结果表示当前迭代次数等于总迭代次数,则输出CPU单元存储的个体。可选的,所述更新所述合金纳米粒子集合,具体包括:采用速度公式更新个体的速度;采用位置公式更新个体的位置;采用交换子交换序的原子位置迁移算法,更新个体的结构。可选的,所述速度公式为所述位置公式为X'k=Xk+Vk';其中,Vk'表示第k个个体更新后的速度,Vk表示第k个个体的当前速度,ω为惯性权重,α,β为0-1之间随机数,Xk表示第k个个体的当前位置,Pk表示第k个个体自身当前达到的最优位置,X'k表示第k个个体更新后的位置,Gb表示种群当前目标最近的位置。可选的,所述采用交换子交换序的原子位置迁移算法,更新个体的结构,具体包括:将所述合金纳米粒子集合中任意两个个体进行比较,挑选出在相同坐标位置上具有不同类型原子的两个个体并关联,然后将关联的两个个体互相交换在相同坐标位置上的不同类型的原子;计算自适应调整概率,确定每个个体调整的原子个数;其中,所述自适应调整概率为根据当前迭代次数、上一次自适应调整概率和上一次成功调整次数所确定的一种概率;根据每个个体调整的原子个数,将每个个体中不同坐标位置不同类型的原子进行随机交换,从而得到更新后的个体结构。可选的,所述将所述合金纳米粒子集合中任意两个个体进行比较,挑选出在相同坐标位置上具有不同类型原子的两个个体,具体包括:采用海明距离计算算法,在所述合金纳米粒子集合中挑选出在相同坐标位置上具有不同类型原子的两个个体。可选的,所述计算自适应调整概率,确定每个个体调整的原子个数,具体包括:采用以下公式计算自适应调整概率;所述公式为:其中,r为取值0.2到0.5之间的随机数,t为当前迭代次数,G为总迭代次数;η为调整权重,N为个体个数,ept-1为上一次自适应调整概率,nsuc为上一代成功调整次数,b是常数,取值为3;根据每个个体的总原子个数和自适应调整概率,确定每个个体调整的原子个数。可选的,所述利用Gupta函数,计算每个所述个体的Gupta势能值,具体包括:利用以下公式计算每个所述个体的Gupta势能值;所述公式为:其中,Vk表示第k个个体的Gupta势能值,Gupta势能值由排斥势能和吸引势能两部分组成;第k个个体包括n个原子,Vr(i)表示第i个原子的排斥势能,Vm(i)表示第i个原子的吸引势能。一种并行粒子群合金纳米粒子结构优化系统,所述系统包括:合金纳米粒子集合构建模块,用于在CPU单元中构建合金纳米粒子集合;所述合金纳米粒子集合包括多个个体;每个所述个体表示一种合金纳米粒子结构;每种所述合金纳米粒子结构表示多个原子在空间的坐标位置,且每种所述合金纳米粒子结构中同种类型的原子个数比例不变;初始化模块,用于在CPU单元中对运行参数进行初始化;所述运行参数包括合金纳米粒子集合的个体数、个体的初始速度和初始位置、每个合金纳米粒子的初始结构、初始线程数、总迭代次数GPU运行单元构建模块,用于构建GPU运行单元;所述GPU运行单元中包括若干个网格;每个所述网格包括若干个块;每个所述块包括若干个线程;每个线程使用40个寄存器;每个原子占用一个线程来计算原子势能;其中,通过NVIDIAParallelNsight调试计算不同线程数下Gupta函数的平均耗时,选择平均耗时最短的线程数确定为每块中的线程个数;所述合金纳米粒子集合所需的块数为合金纳米粒子集合的个体数/(线程数+1);合金纳米粒子结构优化模本文档来自技高网...

【技术保护点】
1.一种并行粒子群合金纳米粒子结构优化方法,其特征在于,所述方法包括:在CPU单元中构建合金纳米粒子集合;所述合金纳米粒子集合包括多个个体;每个所述个体表示一种合金纳米粒子结构;每种所述合金纳米粒子结构表示多个原子在空间的坐标位置,且每种所述合金纳米粒子结构中同种类型的原子个数比例不变;在CPU单元中对运行参数进行初始化;所述运行参数包括合金纳米粒子集合的个体数、个体的初始速度和初始位置、每个合金纳米粒子的初始结构、初始线程数、总迭代次数;构建GPU运行单元;所述GPU运行单元中包括若干个网格;每个所述网格包括若干个块;每个所述块包括若干个线程;每个线程使用40个寄存器;每个原子占用一个线程来计算原子势能;其中,通过NVIDIA Parallel Nsight调试计算不同线程数下Gupta函数的平均耗时,选择平均耗时最短的线程数确定为每块中的线程个数;所述合金纳米粒子集合所需的块数为合金纳米粒子集合的个体数/(线程数+1);将初始化后的运行参数发送至所述GPU运行单元,并在所述GPU运行单元中运行粒子群改进算法来优化合金纳米粒子结构;其中,将当前迭代确定的最优个体与存储在CPU单元的个体进行比较更新,确定在CPU单元存储的最终个体。...

【技术特征摘要】
1.一种并行粒子群合金纳米粒子结构优化方法,其特征在于,所述方法包括:在CPU单元中构建合金纳米粒子集合;所述合金纳米粒子集合包括多个个体;每个所述个体表示一种合金纳米粒子结构;每种所述合金纳米粒子结构表示多个原子在空间的坐标位置,且每种所述合金纳米粒子结构中同种类型的原子个数比例不变;在CPU单元中对运行参数进行初始化;所述运行参数包括合金纳米粒子集合的个体数、个体的初始速度和初始位置、每个合金纳米粒子的初始结构、初始线程数、总迭代次数;构建GPU运行单元;所述GPU运行单元中包括若干个网格;每个所述网格包括若干个块;每个所述块包括若干个线程;每个线程使用40个寄存器;每个原子占用一个线程来计算原子势能;其中,通过NVIDIAParallelNsight调试计算不同线程数下Gupta函数的平均耗时,选择平均耗时最短的线程数确定为每块中的线程个数;所述合金纳米粒子集合所需的块数为合金纳米粒子集合的个体数/(线程数+1);将初始化后的运行参数发送至所述GPU运行单元,并在所述GPU运行单元中运行粒子群改进算法来优化合金纳米粒子结构;其中,将当前迭代确定的最优个体与存储在CPU单元的个体进行比较更新,确定在CPU单元存储的最终个体。2.根据权利要求1所述的并行粒子群合金纳米粒子结构优化方法,其特征在于,所述在所述GPU运行单元中运行粒子群改进算法来优化合金纳米粒子结构,具体包括:利用Gupta函数,计算每个所述个体的Gupta势能值,并选出第一个体,记录当前迭代次数;所述第一个体为所述合金纳米粒子集合中Gupta势能值最小的个体;判断所述第一个体的Gupta势能值是否小于CPU单元存储的个体的Gupta势能值,得到第一判断结果;若所述第一判断结果表示所述第一个体的Gupta势能值小于CPU单元所存储的个体的Gupta势能值,则将CPU单元存储的个体删除,将所述第一个体存储到CPU单元中;若所述第一判断结果表示所述第一个体的Gupta势能值大于或者等于CPU单元所存储的个体的Gupta势能值,则保持CPU单元存储的个体不变;判断所述当前迭代次数是否小于总迭代次数,得到第二判断结果;若所述第二判断结果表示当前迭代次数小于总迭代次数,则更新所述合金纳米粒子集合,返回利用Gupta函数,计算每个所述个体的Gupta势能值的步骤;若所述第二判断结果表示当前迭代次数等于总迭代次数,则输出CPU单元存储的个体。3.根据权利要求2所述的并行粒子群合金纳米粒子结构优化方法,其特征在于,所述更新所述合金纳米粒子集合,具体包括:采用速度公式更新个体的速度;采用位置公式更新个体的位置;采用交换子交换序的原子位置迁移算法,更新个体的结构。4.根据权利要求3所述的并行粒子群合金纳米粒子结构优化方法,其特征在于,所述速度公式为所述位置公式为X'k=Xk+V′k;其中,V′k表示第k个个体更新后的速度,Vk表示第k个个体的当前速度,ω为惯性权重,α,β为0-1之间随机数,Xk表示第k个个体的当前位置,Pk表示第k个个体自身当前达到的最优位置,X'k表示第k个个体更新后的位置,Gb表示种群当前目标最近的位置。5.根据权利要求3所述的并行粒子群合金纳米粒子结构优化方法,其特征在于,所述采用交换子交换序的原子位置迁移算法,更新个体的结构,具体包括:将所述合金纳米粒子集合中任意两个个体进行比较,挑选出在相同坐标位置上具有不同类型原子的两个个体并关联,然后将关联的两个个体互相交换在相同坐标位置上的不同类型的原子;计算自适应调整概率,确定每个个体调整的原子个数;其中,所述自适应调整概率为根据当前迭代次数、上一次自适应调整概率和上一次成功调整次数所确定的一种概率;根据每个个体调整的原子个数,将每个个体中不同坐标位置上不同类型的原子进行随机交换,从而得到更新后的个体结构。6.根据权利要求5所述的并行粒子群合金纳米粒子结构优化方法,其特...

【专利技术属性】
技术研发人员:邵桂芳李铁军刘建军刘暾东杨剑波
申请(专利权)人:厦门大学
类型:发明
国别省市:福建,35

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

1