首页> 中国专利> 基于遗传算法对材料的磁结构进行搜索的方法及装置

基于遗传算法对材料的磁结构进行搜索的方法及装置

摘要

本发明提供了一种基于遗传算法对材料的磁结构进行搜索的方法及装置,该方法包括:获取待测材料的物理参数;确定扩展后的超元胞;确定遗传算法的迭代次数N、每代种群个体数量n和最优个体数量m;将随机生成的n个个体作为初始的种群;确定种群内每个个体的体系能量和磁有序结构,选取m个体系能量最低的最优磁有序个体、并从m个最优个体中随机抽取两个进行杂交并生成n个新的个体,之后重复上述选取m个最优个体的步骤,直至迭代次数达到N;根据最后得到的m个最优个体所对应的磁有序结构确定待测材料的全局最优磁有序结构。该方法能够快速准确地预测磁有序结构,大大提高确定磁有序结构的效率和准确度。

著录项

  • 公开/公告号CN109034357A

    专利类型发明专利

  • 公开/公告日2018-12-18

    原文格式PDF

  • 申请/专利权人 北京应用物理与计算数学研究所;

    申请/专利号CN201810585875.0

  • 发明设计人 张平;郑法伟;李淑静;周梅;

    申请日2018-06-08

  • 分类号

  • 代理机构北京冠和权律师事务所;

  • 代理人朱健

  • 地址 100088 北京市海淀区花园路6号

  • 入库时间 2023-06-19 07:43:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-06-18

    授权

    授权

  • 2019-01-11

    实质审查的生效 IPC(主分类):G06N3/00 申请日:20180608

    实质审查的生效

  • 2018-12-18

    公开

    公开

说明书

技术领域

本发明涉及材料磁结构技术领域,特别涉及一种基于遗传算法对材料的磁结构进行搜索的方法及装置。

背景技术

磁结构通常指晶体中原子磁矩空间取向的周期性和对称性(或晶体中原子磁矩具有某种规律性的空间分布),当材料具有较强的磁阻挫或自旋轨道耦合时,体系的磁有序结构可能会非常复杂。目前主要通过对称性分析或依据经验大体确定最稳定的磁结构,而只通过对称性的分析和依据经验的猜测难以快速准确地确定材料最稳定的磁有序状态,不仅效率差,且准确度低。

发明内容

本发明提供一种基于遗传算法对材料的磁结构进行搜索的方法及装置,用以解决现有确定材料最稳定磁有序结构方式效率低准确度差的技术问题。

本发明的目的是帮助相关研究人员摆脱人工猜测磁结构的传统方法,使其能够更加快速准确的确定磁有序结构,从而大大方便磁学的研究,尤其在解释中子散射实验、预测新型磁功能材料方面提供帮助,本发明则提供的一种基于遗传算法对材料磁结构进行搜索的方法及装置,包括:

获取待测材料的物理参数,所述物理参数包括初始原胞的三个原基矢、初始原胞内每个原子的坐标和超元胞的三个超基矢;

沿三个所述超基矢的方向对所述初始原胞进行扩展、并确定扩展后的超元胞,根据三个所述原基矢和所述初始原胞内每个原子的坐标确定所述超元胞内每个原子的坐标,并随机生成所述超元胞内每个原子的磁矩大小和磁矩方向;

确定遗传计算迭代次数N、每代种群个体数量n和最优个体数量m,将超元胞的一个磁有序结构作为一个个体,并将随机生成的n个个体作为初始的种群;

根据超元胞内每个原子的坐标、磁矩大小和磁矩方向,通过第一性原理进行结构优化和总能计算,来确定种群内每个个体的体系能量,以所述体系能量作为评价函数并对个体进行排序,体系能量越低,评价函数越好;将种群内每个个体的磁有序结构和对应的体系能量存储至数据库,并从所述数据库中筛选体系中评价函数最好的m个最优个体进入下一代计算;

基于遗传算法的杂交运算,从m个最优个体中随机抽取两个进行杂交生成新的个体,添加部分随机生成的新个体,直至新生成的下一代个体数量达到n,之后重复上述基于体系能量选取m个最优个体的步骤,直至迭代次数达到N;

根据最后得到的m个最优个体对应的体系能量最低的磁有序结构确定所述待测材料的全局最优磁有序结构。

在一种可能的实现方式中,所述从m个最优个体中随机抽取两个进行杂交并生成新的个体包括:

从m个所述最优个体中随机抽取一个个体作为父本,并根据超元胞中所有原子的坐标随机选取所述父本中k个原子,所述k个原子之间相连的化学键数量大于或等于预设阈值,k为随机正整数,且k不大于所述超元胞的原子个数;

再从最优个体中随机抽取另一个个体作为母本,将所述父本中的这k个原子的磁矩大小和磁矩方向赋值至母本中的相对应的k个原子,母本中其余原子保持母本原子原来的磁矩大小和磁矩方向,并将赋值后的母本作为杂交生成的下一代的个体。

在一种可能的实现方式中,新生成的下一代个体包括杂交生成的下一代个体和随机新生成的下一代个体,杂交生成下一代个体的数量为nG,随机新生成下一代个体的数量为nR,且nG+nR=n;所述从m个最优个体中随机抽取两个进行杂交并生成新的个体,添加部分随机生成的新个体,直至新生成的下一代个体数量达到n,包括:

预先确定随机新生成下一代个体的数量nR的数值,并根据随机新生成下一代个体的数量nR来确定杂交生成下一代个体的数量nG,其中0≤nR<nG≤n;

从m个最优个体中随机抽取两个进行杂交并生成杂交个体,判断所述杂交个体对应的磁有序结构是否存在于所述数据库中,当所述杂交个体对应的磁有序结构存在于所述数据库中时,重复从m个最优个体中随机抽取两个进行杂交并生成杂交个体的过程,直至所述杂交个体对应的磁有序结构不存在于所述数据库中,并将所述杂交个体作为下一代个体;

重复上述根据m个最优个体杂交生成下一代个体的过程,直至杂交生成的下一代个体的数量达到nG

当杂交生成的下一代个体的数量nG小于n时,采用随机法随机生成一个新的个体,判断所述新的个体对应的磁有序结构是否存在于所述数据库中,在所述新的个体对应的磁有序结构存在于所述数据库中时,重复随机生成新的个体的过程,直至所述新的个体对应的磁有序结构不存在于所述数据库中,并将所述新的个体作为下一代个体;

重复上述随机新生成一个下一代个体的过程,直至新生成的下一代个体的数量达到nR

在一种可能的实现方式中,所述判断所述杂交个体对应的磁有序结构是否存在于所述数据库中,包括:

对所述杂交个体进行对称操作,确定与所述杂交个体对应的磁有序结构等价的所有磁有序结构,当所述杂交个体对应的所有磁有序结构中存在任何一个磁有序结构存在于所述数据库中时,确定所述杂交个体对应的磁有序结构存在于所述数据库中;

所述判断所述新的个体对应的磁有序结构是否存在于所述数据库中,包括:

对所述新的个体进行对称操作,确定与所述新的个体对应的磁有序结构等价的所有磁有序结构,在所述新的个体对应的所有磁有序结构中存在任何一个磁有序结构存在于所述数据库中时,确定所述新的个体对应的磁有序结构存在于所述数据库中;

其中,所述对称操作包括对超元胞中所有原子平移整数倍个原基矢大小的平移对称操作以及包括反演、反射或旋转的点群对称操作。

基于同样的发明构思,本发明还提供一种基于遗传算法对材料的磁结构进行搜索的装置,包括:

获取模块,用于获取待测材料的物理参数,所述物理参数包括初始原胞的三个原基矢、初始原胞内每个原子的坐标和超元胞的三个超基矢;并确定遗传算法的迭代次数N、种群个体数量n和最优个体数量m;

扩展模块,用于沿三个所述超基矢的方向对所述初始原胞进行扩展、并确定扩展后的超元胞,根据三个所述原基矢和所述初始原胞内每个原子的坐标确定所述超元胞内每个原子的坐标,并随机生成所述超元胞内每个原子的磁矩大小和磁矩方向;

随机生成模块,根据确定的种群个体数量n,以超元胞的一个磁有序结构作为一个个体,随机生成的n个个体,并将这n个个体作为初始的种群;

处理模块,用于根据给定的超元胞内每个原子的坐标、磁矩大小和磁矩方向,通过第一性原理进行结构优化和总能计算,来确定种群内每个个体的体系能量,以所述体系能量作为评价函数并对个体进行排序,体系能量越低,评价函数越好;将种群内每个个体的磁有序结构和对应的体系能量存储至数据库,并从所述数据库中筛选体系中评价函数最好的m个最优个体进入下一代计算;

杂交模块,用于基于遗传算法的杂交运算,从m个最优个体中随机抽取两个进行杂交生成新的个体,添加部分随机生成的新个体,直至新生成的下一代个体数量达到n,之后重复上述基于体系能量选取m个最优个体的步骤,直至迭代次数达到N;

确定模块,用于根据最后得到的m个最优个体对应的体系能量最低的磁有序结构确定所述待测材料的全局最优磁有序结构。

在一种可能的实现方式中,所述杂交模块包括:

原子选取单元,用于从m个所述最优个体中随机抽取一个个体作为父本,并根据超元胞中所有原子的坐标随机选取父本中k个原子,所述k个原子之间相连的化学键数量大于或等于预设阈值,k为随机正整数,且k不大于所述超元胞的原子个数;

杂交单元,用于再从最优个体中随机抽取另一个个体作为母本,将所述父本中的这k个原子的磁矩大小和磁矩方向赋值至母本中的相对应的k个原子,母本中其余原子保持母本原子原来的磁矩大小和磁矩方向,并将赋值后的母本作为杂交生成的下一代的个体。

在一种可能的实现方式中,新生成的下一代个体包括杂交生成的下一代个体和随机新生成的下一代个体,杂交生成下一代个体的数量为nG,随机新生成下一代个体的数量为nR,且nG+nR=n;所述杂交模块包括:

预处理单元,用于预先确定随机新生成下一代个体的数量nR的数值,并根据随机新生成下一代个体的数量nR来确定杂交生成下一代个体的数量nG,其中0≤nR<nG≤n;

第一判断单元,用于从m个最优个体中随机抽取两个进行杂交并生成杂交个体,判断所述杂交个体对应的磁有序结构是否存在于所述数据库中,当所述杂交个体对应的磁有序结构存在于所述数据库中时,重复从m个最优个体中随机抽取两个进行杂交并生成杂交个体的过程,直至所述杂交个体对应的磁有序结构不存在于所述数据库中,并将所述杂交个体作为下一代个体;

第一重复单元,用于重复上述根据m个最优个体杂交生成下一代个体的过程,直至杂交生成的下一代个体的数量达到nG

第二判断单元,用于随机生成一个新的个体,判断所述新的个体对应的磁有序结构是否存在于所述数据库中,在所述新的个体对应的磁有序结构存在于所述数据库中时,重复随机生成新的个体的过程,直至所述新的个体对应的磁有序结构不存在于所述数据库中,并将所述新的个体作为下一代个体;

第二重复单元,用于重复上述随机新生成一个下一代个体的过程,直至新生成的下一代个体的数量达到nR

在一种可能的实现方式中,所述第一判断单元判断所述杂交个体对应的磁有序结构是否存在于所述数据库中,包括:

对所述杂交个体进行对称操作,确定与所述杂交个体对应的磁有序结构等价的所有磁有序结构,当所述杂交个体对应的所有磁有序结构中存在任何一个磁有序结构存在于所述数据库中时,确定所述杂交个体对应的磁有序结构存在于所述数据库中;

所述第二判断单元判断所述新的个体对应的磁有序结构是否存在于所述数据库中,包括:

对所述新的个体进行对称操作,确定与所述新的个体对应的磁有序结构等价的所有磁有序结构,当所述新的个体对应的所有磁有序结构中存在任何一个磁有序结构存在于所述数据库中时,确定所述新的个体对应的磁有序结构存在于所述数据库中;

其中,所述对称操作包括对超元胞中所有原子平移整数倍个原基矢大小的平移对称操作以及包括反演、反射或旋转的点群对称操作。

本发明实施例还提供一种计算机存储介质,所述计算机存储介质有存储计算机可执行指令,所述计算机可执行指令用于执行如上任意一项所述的基于遗传算法对材料的磁结构进行搜索的方法。

本发明提供的一种基于遗传算法对材料的磁结构进行搜索的方法及装置,将超元胞的一个磁有序结构作为一个个体,以体系能量作为评价函数来从超元胞中搜索最稳定的磁结构,使得最终确定的磁结构更能准确符合材料特性;同时,该方法能够使相关研究人员摆脱人工猜测磁结构的传统方法,使人们能够更加快速准确地确定最稳磁有序结构,大大提高确定最稳磁有序结构的效率和准确度,从而大大方便了磁学的研究,为人们解释中子散射实验、预测新型磁功能材料提供帮助。在杂交过程中选取多个联系最紧密的、具有足够多化学键的原子,以保证原子之间的连续性,从而使得杂交生成的下一代个体可以比较完整的保留父本的优势磁有序结构的模式,也不会对母本的磁有序结构的模式产生较大的破坏,从而大大增加了产生最稳磁有序结构的可能性。通过去重过程避免无用的重复个体,使得数据库中的每个个体均不相同,可以尽可能保证选取最优个体时的基数大,从而可以进一步保证最后确定的最优个体的准确性;且确定个体的等价磁有序结构使得去重过程更加准确。通过随机生成新的个体可以防止遗传算法在搜索空间比较小的时候陷入局域最优磁有序排列,避免不能搜索出全局最优磁有序排列。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中基于遗传算法对材料的磁结构进行搜索的方法的第一流程图;

图2为本发明实施例中基于遗传算法对材料的磁结构进行搜索的方法的第二流程图;

图3为本发明实施例中基于遗传算法对材料的磁结构进行搜索的装置的结构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

本发明实施例提供的一种基于遗传算法对材料的磁结构进行搜索的方法,参见图1所示,包括步骤101-106:

步骤101:获取待测材料的物理参数,物理参数包括初始原胞的三个原基矢、初始原胞内每个原子的坐标和超元胞的三个超基矢。

本发明实施例中,初始原胞是可以表征晶体周期性的最小晶格结构单元,是最小重复单元,也称为初基原胞或简称为原胞。超元胞也是一种原子结构的重复单元,但是超元胞是由多个初始原胞堆砌而成的更大的重复单元。该物理参数还可包括其他参数,具体视情况而定。

待测磁性材料的原子结构具有一定的平移对称性,但是体系的磁矩的排列可能会破坏原子结构的平移对称性,也就是说磁有序结构在实空间上的周期有可能比原子的周期更大,所以磁有序结构的最小元胞往往大于原子结构的最小元胞(即初始原胞)。故在本发明实施例中,在搜索最优磁构型(磁有序结构)的时候,需要选取一个比较大超元胞作为一个计算单元,即将超元胞的一个磁有序结构作为遗传算法中的一个个体,在尽可能多的超元胞包含的磁构型中搜索最稳定的磁构型。同时,初始原胞也可以有多种磁构型,但是往往不包含最稳定的磁构型,故本发明实施例是在超元胞中搜索最稳定的磁构型。

步骤102:沿三个超基矢的方向对初始原胞进行扩展、并确定扩展后的超元胞,根据三个原基矢和初始原胞内每个原子的坐标确定超元胞内每个原子的坐标,并随机生成超元胞内每个原子的磁矩大小和磁矩方向。

本发明实施例中,三个原基矢即为初始原胞的三个基矢,三个超基矢即为超元胞的三个基矢;一般情况下,三个原基矢的三个方向与三个超基矢的三个方向是相同的。三个超基矢的大小表示初始原胞基矢的多少倍,即沿三个原基矢的方向对初始原胞进行扩展相应超基矢的大小倍数即可得到超元胞,超元胞由多个初始原胞重复排列而形成。同时,根据初始原胞的三个基矢以及初始原胞内每个原子的坐标即可确定扩展后得到的超元胞内每个原子的坐标,之后随机生成超元胞内每个原子的磁矩大小和磁矩方向方便后续计算体系能量。

步骤103:确定遗传算法的迭代次数N、每代种群个体数量n和最优个体数量m,将超元胞的一个磁有序结构作为一个个体,并将随机生成的n个个体作为初始的种群。

本发明实施例中,将超元胞的一个磁有序结构作为一个个体,即在超元胞中搜索最稳定的磁构型。同时,基于上述步骤102随机确定超元胞的n个磁有序结构,从而生成n个个体,之后以该n个个体为初代种群进行遗传算法计算。

步骤104:根据超元胞内每个原子的坐标、磁矩大小和磁矩方向,通过第一性原理进行结构优化和总能计算,来确定种群内每个个体的体系能量,以所述体系能量作为评价函数并对个体进行排序,体系能量越低,评价函数越好;将种群内每个个体的磁有序结构和对应的体系能量存储至数据库,并从所述数据库中筛选体系中评价函数最好的m个最优个体进入下一代计算。

本发明实施例中,具体可以调用第一性原理计算程序来计算个体的体系能量,同时进行结构优化(优化原子的磁矩大小和磁矩方向,可选的,还可以优化原子的位置)。第一性原理计算程序在本实施例中的功能主要是在给定的磁有序构型的基础上计算体系的基态总能量,并优化磁矩的大小和方向。基于密度泛函理论的第一性原理计算方法是目前材料计算中最为广泛并能准确计算的方法。这种方法兼顾了计算速度和计算精度,并且能够满足大多数弱关联材料的计算。在关联性比较强的体系中也可以通过密度泛函计算加哈伯德修正的方法得到改进。密度泛函和在此基础上的哈伯德修正方法在通常的第一性原理计算程序包中都已实现。本实施例所使用的第一性原理计算程序主要采用商业软件VASP(Vienna Ab-initio Simulation Package),也可采用Abinit、Quantum Espresso、Elk和OpenMX等其它第一性原理计算程序。

同时,每一代计算的n个个体的磁有序结构和体系能量均存储至数据库中,数据库中的个体数量越来越多,之后从数据库的所有个体中选取m个体系能量最低的(即评价函数最好的)最优个体进入下一代计算,使得最后选取的m个最优个体更加准确。

步骤105:基于遗传算法的杂交运算,从m个最优个体中随机抽取两个进行杂交生成新的个体,添加部分随机生成的新个体,直至新生成的下一代个体数量达到n,之后重复上述基于体系能量选取m个最优个体的步骤,直至迭代次数达到N。

本发明实施例中,基于遗传算法杂交生成的n个个体作为新一代的种群存入数据库中,之后从新的数据库中再选取m个最优个体;每选取一次m个最优个体作为一次迭代,直至迭代次数达到N,则遗传算法过程结束。

步骤106:根据最后得到的m个最优个体对应的体系能量最低的磁有序结构确定待测材料的全局最优磁有序结构。

本发明实施例中,将能量最低的体系所对应的磁有序结构作为全局最优磁有序结构。在计算过程中,还可以通过“收敛性”来判断是否找到全局最优的磁结构;也就是说,当搜索到最优结构之后,遗传算法的每代计算给出的最优磁有序结构不再变化,最小体系能量将趋于收敛。

本发明实施例提供的一种基于遗传算法对材料的磁结构进行搜索的方法,将超元胞的一个磁有序结构作为一个个体,以体系能量作为评价函数来从超元胞中搜索最稳定的磁结构,使得最终确定的磁结构更能准确符合材料特性;同时,该方法能够使相关研究人员摆脱人工猜测磁结构的传统方法,使人们能够更加快速准确地确定磁有序结构,大大提高确定磁有序结构的效率和准确度,从而大大方便了磁学的研究,为人们解释中子散射实验、预测新型磁功能材料提供帮助。

本发明另一实施例提供一种基于遗传算法对材料的磁结构进行搜索的方法,该方法包括上述实施例中的步骤101-106,其实现原理以及技术效果参见图1对应的实施例。同时,本发明实施例中,步骤105“从m个最优个体中随机抽取两个进行杂交并生成新的个体”具体包括步骤A1-A2:

步骤A1:从m个最优个体中随机抽取一个个体作为父本,并根据超元胞中所有原子的坐标随机选取父本中k个原子,k个原子之间相连的化学键数量大于或等于预设阈值,k为随机正整数,且k不大于超元胞的原子个数。

步骤A2:再从最优个体中随机抽取另一个个体作为母本,将所述父本中的这k个原子的磁矩大小和磁矩方向赋值至母本中的相对应的k个原子,母本中其余原子保持母本原子原来的磁矩大小和磁矩方向,并将赋值后的母本作为杂交生成的下一代的个体。

本发明实施例中,基于随机抽取的父本和母本生成下一代的个体;在磁结构的遗传算法中,杂交的过程需要有针对性的设计杂交算法。具体的,原子之间磁的相互作用是海森堡交换积分,包括直接交换、间接交换和双交换等各种形式,各种形式的相互作用都有一个共性,那就是离得近的磁性原子之间的交换相互作用比较强,而离得远的磁性原子之间的交换相互作用则比较弱。在杂交计算中不能从第一个磁有序结构中随机的抽取多个原子并把相应原子的磁矩强加到第二个磁有序结构中。这是因为离散的抽取原子相当于切断了该原子与周围原子的所有联系,从而严重破坏了原先已经优化过的磁有序排列。

在本发明实施例中,根据超元胞中所有原子的坐标随机选取父本中k个原子,并限定这k个原子之间有较多的化学键相连(即相连的化学键数量大于或等于预设阈值),以保证在第一个磁有序结构(即父本)中随机抽取的多个原子的空间距离很近、相互之间的作用尽量的强;将这样抽取出的父本的原子磁矩赋值到第二个磁有序结构(即母本)中时,母本中其他的原子也可以保持母本原子原来的磁矩大小和磁矩方向,从而尽可能保证连续性,这样保证生成的下一代个体可以比较完整的保留父本的部分磁有序结构的模式,也不会对母本的磁有序结构的模式产生大的破坏,从而大大增加了产生更佳磁有序排列的可能性。其中,本发明实施例中的预设阈值与k的取值相关,一般k越大,预设阈值越大,预设阈值的具体取值根据实际情况而定。

在上述实施例的基础上,新生成的下一代个体包括杂交生成的下一代个体和随机新生成的下一代个体,杂交生成下一代个体的数量为nG,随机新生成下一代个体的数量为nR,且nG+nR=n;步骤105“从m个最优个体中随机抽取两个进行杂交并生成新的个体,添加部分随机生成的新个体,直至新生成的下一代个体数量达到n”具体包括步骤B1-B5:

步骤B1:预先确定随机新生成下一代个体的数量nR的数值,并根据随机新生成下一代个体的数量nR来确定杂交生成下一代个体的数量nG,其中0≤nR<nG≤n。

步骤B2:从m个最优个体中随机抽取两个进行杂交并生成杂交个体,判断杂交个体对应的磁有序结构是否存在于数据库中,当杂交个体对应的磁有序结构存在于数据库中时,重复从m个最优个体中随机抽取两个进行杂交并生成杂交个体的过程,直至杂交个体对应的磁有序结构不存在于数据库中,并将杂交个体作为下一代个体。

步骤B3:重复上述根据m个最优个体杂交生成下一代个体的过程,直至杂交生成的下一代个体的数量达到nG

本发明实施例中,需要判断基于遗传算法确定的杂交个体是否重复,即是否与数据库中个体相同,若不同,则可直接将该杂交个体作为下一代个体;若相同,则需要基于杂交算法重新生成一个杂交个体,并继续判断杂交个体对应的磁有序结构是否存在于数据库中时,直至杂交个体对应的磁有序结构不存在于数据库中。通过该去重过程避免无用的重复个体,使得数据库中的每个个体均是不同的,可以尽可能保证选取最优个体时的基数大,从而可以进一步保证最后确定的最优个体的准确性。

步骤B4:随机生成一个新的个体,判断新的个体对应的磁有序结构是否存在于数据库中,若新的个体对应的磁有序结构存在于数据库中时,重复随机生成新的个体的过程,直至新的个体对应的磁有序结构不存在于数据库中,并将新的个体作为下一代个体。

步骤B5:重复上述随机新生成一个下一代个体的过程,直至新生成的下一代个体的数量达到nR

本发明实施例中,除了杂交产生新的个体之外,还可以生成一定比例的新随机生成的个体,即步骤B3中生成的新的个体是没有经过杂交过程的,这些个体中原子的磁矩大小和方向是随机的,其本质与步骤102-103中生成初始种群中的个体的方法相同。

具体的,可以采用单一方式生成下一代个体(即杂交生成),也可以采用两种方式生成下一代个体(即杂交生成和随机生成),步骤B1中具体可以根据经验预先输入nR的数值,也可以根据种群个体数量n和/或最优个体数量m的大小来确定是否需要随机生成下一代个体以及随机生成的下一代个体的数量(即nR)。通过随机生成新的个体可以防止遗传算法在搜索空间比较小的时候(也就是种群的个体数量比较小或者最优个体比较少)陷入局域最优磁有序排列,而不能搜索出全局最优磁有序排列。如果搜索空间足够的大(种群个体数量多,或者最优个体多)就不需要引入新随机生成的个体,即nR=0,此时也能搜索出全局最优的磁有序排列。同时,一般情况下,随机新生成的个体占少数,即nR<nG;当nR为0时,不存在上述步骤B4-B5,即不需要执行随机生成下一代个体的过程。本发明实施例提供的基于遗传算法对材料的磁结构进行搜索的方法的整体流程图参见图2所示。

在上述实施例的基础上,步骤B2中“判断杂交个体对应的磁有序结构是否存在于数据库中”具体包括:对杂交个体进行对称操作,确定与杂交个体对应的磁有序结构等价的所有磁有序结构,当杂交个体对应的所有磁有序结构中存在任何一个磁有序结构存在于数据库中时,确定为杂交个体对应的磁有序结构存在于数据库中。

同样的,步骤B4中“判断新的个体对应的磁有序结构是否存在于数据库中”具体包括:对新的个体进行对称操作,确定与新的个体对应的磁有序结构等价的所有磁有序结构,当新的个体对应的所有磁有序结构中存在任何一个磁有序结构存在于数据库中时,确定为新的个体对应的磁有序结构存在于数据库中。

因为体系具有平移对称性和点群对称性,故本发明实施例中在判断生成的个体(杂交个体或新的个体)是否在之前的循环中已经计算过时,需要考虑超元胞中所有原子平移整数倍个原基矢大小的平移对称操作和反演、反射和旋转等点群对称操作,通过这些对称操作从一个磁有序结构生成与之等价的所有磁有序结构,进而确定与该个体对应的所有磁有序结构。只要所有磁有序结构中的任何一个已经存在于数据库中,那么与之等价的其他磁有序结构就都不需要再进行计算了,此时需要重新生成一个磁有序结构继续判断是否可以作为下一代个体;若该个体的所有磁有序结构与数据库中的个体均不相同,则将该个体作为下一代个体。

本发明实施例提供的一种基于遗传算法对材料的磁结构进行搜索的方法,将超元胞的一个磁有序结构作为一个个体,以体系能量作为评价函数来从超元胞中搜索最稳定的磁结构,使得最终确定的磁结构更能准确符合材料特性;同时,该方法能够使相关研究人员摆脱人工猜测磁结构的传统方法,使人们能够更加快速准确的确定磁有序结构,大大提高确定磁有序结构的效率和准确度,从而大大方便了磁学的研究,为人们解释中子散射实验、预测新型磁功能材料提供帮助。在杂交过程中选取多个联系最紧密的、具有足够多化学键的原子以保证原子之间的连续性,从而使得杂交生成的下一代个体可以比较完整的保留父本的部分磁有序结构的模式,也不会对母本的磁有序结构的模式产生大的破坏,从而大大增加了产生最优磁有序结构的可能性。通过去重过程避免无用的重复个体,使得数据库中的每个个体均是不同的,可以尽可能保证选取最优个体时的基数大,从而可以进一步保证最后确定的最优个体的准确性;且确定个体的等价磁有序结构使得去重过程更加准确。通过随机生成新的个体可以防止遗传算法在搜索空间比较小的时候陷入局域最优磁有序排列,避免不能搜索出全局最优磁有序排列。

可选的,在利用VASP计算体系能量时,本发明实施例提供的基于遗传算法对材料的磁结构进行搜索的方法的程序输入文件包括两部分,一部分是VASP相关的文件,另一部分是遗传算法本身需要的参数文件。VASP相关的文件包括基本参数文件SINCAR、初始原胞基矢和原子坐标文件SPOSCAR、赝势文件POTCAR、倒易空间积分点设置文件KPOINTS。其中的SINCAR文件与VASP的INCAR文件格式一样,不过不能在该文件中添加MAGMOM(磁矩排列)参数。基于遗传算法的磁结构搜索程序将根据SINCAR文件生成INCAR文件,并根据每个原子上的磁矩大小和方向添加MAGMOM参数;SPOSCAR文件格式与VASP的POSCAR文件格式一样,磁结构随机算法程序会根据SPOSCAR生成超元胞的原子结构文件POSCAR;输入文件中的KPOINTS文件提供了K点的设置信息,需要注意的是此文件中的K点设置是用于超元胞而不是初始原胞计算的。

遗传算法相关的参数需要在程序主文件中添加,各参数的意义如下:

·n_gen

默认:10

类型:整数

关键字‘n_gen’描述的是遗传算法的总迭代次数(即上述实施例中的N),也就是需要遗传多少代。该参数越大则最终结果越准确。通常情况下,该参数需要取大于10的值。

·n_pop

默认:20

类型:整数

关键字‘n_pop’描述的是遗传算法的一代种群中个体的数目(即上述实施例中的n),也就是每一代需要计算多少个个体。该参数取值越大,则结果越接近全局最优。对于比较复杂的体系,该值需要取比较大的数值。

·n_save

默认:5

类型:整数

关键字‘n_save’描述的是遗传算法的一代种群计算完毕之后需要保留的最优结构数目(即上述实施例中的m)。需要注意的是,该参数是已经计算过的所有代种群里最优的结构,而不仅仅是当前代中的最优结构。该参数越大,则保留下来的遗传信息越多。但是通常该值不应该大于种群的数目。

·n_random

默认:5

类型:整数

关键字‘n_random’描述的是新生成种群中完全随机引入的个体数量(即上述实施例中的nR)。随机生成的个体能够避免计算陷入局域极小,扩大搜索空间。该参数不宜过大,取值过大之后会降低遗传算法的效率,在通常计算中取值为5即可。

·sc

默认:[1,1,1]

类型:整数向量

关键字‘sc’是super cell的简写,是三个整数组成的整数向量,表示超元胞的取法。这三个整数表示超元胞的三个基矢分别是初始原胞的多少倍,即超元胞是由初始原胞沿三个方向分别扩展多少次得到的。对于初始原胞比较小的体系可以适当扩大超元胞的大小。超元胞越大,则搜索得到的磁有序结构就越准确。

·m

默认:mzero*sc(1)*sc(2)*sc(3)

类型:整数

关键字‘m’描述的是超元胞中磁性原子的总个数,即初始原胞中磁性原子的个数乘以超元胞所包含的初始元胞数量。

·m0

默认:1

类型:整数

关键字‘m0’描述的是初始原胞中磁性原子的个数。在SPOSCAR的原子坐标中磁性原子排在前面,非磁性原子排在后面。即SPOSCAR的前m0个原子是磁性原子。

·mzero

默认:0

类型:整数

关键字‘mzero’描述的是初始原胞中非磁性原子的个数,即SPOSCAR的后mzero个原子是非磁性原子。

·run

默认:无

类型:字符串

关键字‘run’描述的是调用VASP的命令。并行设置和输出文件等信息可以在此关键字中设定。比如:run='yhrun-N3-n72-c 1~/bin/vasp_gam>output'是天河超算中的设定方法,该命令表示调用3个节点共72个核使用单Gamma点的VASP进行计算,计算结果输出到文件output中。

以上详细介绍了基于遗传算法对材料的磁结构进行搜索的方法流程,该方法也可以通过相应的装置实现,下面详细介绍该装置的结构和功能。

本发明实施例提供的一种基于遗传算法对材料的磁结构进行搜索的装置,参见图3所示,包括:

获取模块31,用于获取待测材料的物理参数,所述物理参数包括初始原胞的三个原基矢、初始原胞内每个原子的坐标和超元胞的三个超基矢;用于确定迭代次数N、种群个体数量n和最优个体数量m;

扩展模块32,用于沿三个所述超基矢的方向对所述初始原胞进行扩展、并确定扩展后的超元胞,根据三个所述原基矢和所述初始原胞内每个原子的坐标确定所述超元胞内每个原子的坐标,并随机生成所述超元胞内每个原子的磁矩大小和磁矩方向;

随机生成模块33,根据确定的种群个体数量n,以超元胞的一个磁有序结构作为一个个体,随机生成n个个体,并将这n个个体作为初始的种群;

处理模块34,用于根据给定的超元胞内每个原子的坐标、磁矩大小和磁矩方向,通过第一性原理进行结构优化和总能计算,来确定种群内每个个体的体系能量,以所述体系能量作为评价函数并对个体进行排序,体系能量越低,评价函数越好;将种群内每个个体的磁有序结构和对应的体系能量存储至数据库,并从所述数据库中筛选体系中评价函数最好的m个最优个体进入下一代计算;

杂交模块35,用于基于遗传算法的杂交运算,从m个最优个体中随机抽取两个进行杂交生成新的个体,添加部分随机生成的新个体,直至新生成的下一代个体数量达到n,之后重复上述基于体系能量选取m个最优个体的步骤,直至迭代次数达到N;

确定模块36,用于根据最后得到的m个最优个体对应的体系能量最低的磁有序结构确定所述待测材料的全局最优磁有序结构。

在一种可能的实现方式中,所述杂交模块35包括:

原子选取单元,用于从m个所述最优个体中随机抽取一个个体作为父本,并根据超元胞中所有原子的坐标随机选取父本中k个原子,k个原子之间相连的化学键数量大于或等于预设阈值,k为随机正整数,且k不大于所述超元胞的原子个数;

杂交单元,用于再从最优个体中随机抽取另一个个体作为母本,将所述父本中的这k个原子的磁矩大小和磁矩方向赋值至母本中的相对应的k个原子,母本中其余原子保持母本原子原来的磁矩大小和磁矩方向,并将赋值后的母本作为杂交生成的下一代的个体。

在一种可能的实现方式中,新生成的下一代个体包括杂交生成的下一代个体和随机新生成的下一代个体,杂交生成下一代个体的数量为nG,随机新生成下一代个体的数量为nR,且nG+nR=n;所述杂交模块35包括:

预处理单元,用于预先确定随机新生成下一代个体的数量nR的数值,并根据随机新生成下一代个体的数量nR来确定杂交生成下一代个体的数量nG,其中0≤nR<nG≤n;

第一判断单元,用于从m个最优个体中随机抽取两个进行杂交并生成杂交个体,判断所述杂交个体对应的磁有序结构是否存在于所述数据库中,当所述杂交个体对应的磁有序结构存在于所述数据库中时,重复从m个最优个体中随机抽取两个进行杂交并生成杂交个体的过程,直至所述杂交个体对应的磁有序结构不存在于所述数据库中,并将所述杂交个体作为下一代个体;

第一重复单元,用于重复上述根据m个最优个体杂交生成下一代个体的过程,直至杂交生成的下一代个体的数量达到nG

第二判断单元,用于随机生成一个新的个体,判断所述新的个体对应的磁有序结构是否存在于所述数据库中,当所述新的个体对应的磁有序结构存在于所述数据库中时,重复随机生成新的个体的过程,直至所述新的个体对应的磁有序结构不存在于所述数据库中,并将所述新的个体作为下一代个体;

第二重复单元,用于重复上述随机新生成一个下一代个体的过程,直至新生成的下一代个体的数量达到nR

在一种可能的实现方式中,所述第一判断单元判断所述杂交个体对应的磁有序结构是否存在于所述数据库中,包括:

对所述杂交个体进行对称操作,确定与所述杂交个体对应的磁有序结构等价的所有磁有序结构,当所述杂交个体对应的所有磁有序结构中存在任何一个磁有序结构存在于所述数据库中时,确定所述杂交个体对应的磁有序结构存在于所述数据库中;

所述第二判断单元判断所述新的个体对应的磁有序结构是否存在于所述数据库中,包括:

对所述随机生成的新的个体进行对称操作,确定与所述新的个体对应的磁有序结构等价的所有磁有序结构,当所述新的个体对应的所有磁有序结构中存在任何一个磁有序结构存在于所述数据库中时,确定随机生成的所述新的个体对应的磁有序结构存在于所述数据库中;

其中,所述对称操作包括对超元胞中所有原子平移整数倍个原基矢大小的平移对称操作以及包括反演、反射或旋转的点群对称操作。

本申请实施例还提供了一种计算机存储介质,所述计算机存储介质有存储计算机可执行指令,其包含用于执行上述基于遗传算法对材料的磁结构进行搜索的方法的程序(该程序具体可以为Python程序),该计算机可执行指令可执行上述任意方法实施例中的方法。

其中,所述计算机存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。

本发明实施例提供的一种基于遗传算法对材料的磁结构进行搜索的装置,将超元胞的一个磁有序结构作为一个个体,以体系能量作为评价函数来从超元胞中搜索最稳定的磁结构,使得最终确定的磁结构更能准确符合材料特性;同时,该装置能够使相关研究人员摆脱人工猜测磁结构的传统方法,使人们能够更加快速准确的确定磁有序结构,大大提高确定磁有序结构的效率和准确度,从而大大方便了磁学的研究,为人们解释中子散射实验、预测新型磁功能材料提供帮助。在杂交过程中选取多个联系最紧密的、具有足够多化学键的原子以保证原子之间的连续性,从而使得杂交生成的下一代个体可以比较完整的保留父本的部分磁有序结构的模式,也不会对母本的磁有序结构的模式产生大的破坏,从而大大增加了产生更佳磁有序结构的可能性。通过去重过程避免无用的重复个体,使得数据库中的每个个体均是不同的,可以尽可能保证选取最优个体时的基数大,从而可以进一步保证最后确定的最优个体的准确性;且确定个体的等价磁有序结构使得去重过程更加准确。通过随机生成新的个体可以防止遗传算法在搜索空间比较小的时候陷入局域最优磁有序排列,避免不能搜索出全局最优磁有序排列。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号