1.1 概述

USPEX(Universal Structure Predictor: Evolutionary Xtallography的缩写)是一种基于进化算法开发的晶体结构预测方法和程序。“uspekh”在俄语译为“成功”,这象征着这种预测方法的高成功率和取得的丰硕的研究成果。在新材料理论发现领域,USPEX发挥着重要作用。USPEX的基本特点如下:

自2004年起,开展USPEX项目的主要目的是发展非经验晶体结构预测方法并开发程序。除了这种非经验式的结构搜索外,USPEX也能够预测大量亚稳结构,亦能够基于先验知识进行模拟。2010年,USPEX开始大量涉及其它结构搜索问题,并于2012年起在程序中包含了许多互补的方法。

晶体结构预测问题非常古老,而且一直是理论晶体化学的重要核心问题。John Maddox在1988年写道:

“在物理学中,一个令人遗憾的问题是我们知道了晶体的化学组分但却不能预测它们的晶体结构,哪怕是最简单的晶体。预测固体(如冰)的晶体结构仍然是人力所不能及的”。

显然,结构预测的首要问题是如何进行全局优化,即在一系列结构中找到自由能(每摩尔)最小的那个。在这里,我们首先讨论一下潜在结构的数量。我们考虑一种简化的情况,一个体积为$V$,有$N$个相同原子的固定立方晶胞。为了进一步简化,我们假设原子均离散分布于分辨率为$\delta $的网格节点上。这样,原子间的坐标组合数目$C$会变得有限化:

  \begin{equation} \label{eq:structNum} C=\frac{1}{(V/\delta ^3)}\frac{(V/\delta ^3)!}{[(V/\delta ^3)-N]!N!} \end{equation}   (1)

如果将$\delta $设为典型键长的一个分数值(例如,$\delta $=1 $\text {\r{A}}$),由方程 1给出的组合将会是对结构自由能局部极小值数量的一种合理估计。如果原子类型不同,则不同结构的数量将显著增加。假设一个典型的原子体积$\sim $10 $\text {\r{A}}^3$,并考虑Stiring公式($n!\approx \sqrt {2 \pi n}(n/e)^ n$),那么在一个有10原子的单胞内单质A(化合物AB)体系的可能结构数为$10^{11}$ ($10^{14}$);若单胞内有20个或30个原子,则可能结构数分别为$10^{25}$ ($10^{30}$)和$10^{39}$ ($10^{47}$)。我们可以看到,这些数目十分巨大,甚至是总原子数$N\sim 10$的小体系实际处理起来也不可能实现。更糟的是,随着$N$的增加系统复杂性会呈指数增加。很明显,除了最简单的含有$\sim $1-5个原子的单胞体系以外,在自由能表面上逐点搜索所有结构是不可行的。

USPEX采用进化算法进行结构搜索,该结构搜索算法由A.R. Oganov 和 C.W. Glass主导设计,A.O. Lyakhov、Q. Zhu、G.-R. Qian、P.V. Bushlanov、Z. Allahyari、S.V. Lepeshkin和A.I. Samtsevich等不断发展。它的高效性在于精心设计的结构变异操作方式,其可靠性取决于在进化算法中运用了目前最先进的从头算模拟。进化算法的最大优势是不需要任何体系特定知识(除了化学组分之外)并且可以进行自我完善 - 即,在后代种群中,越来越好的结构会被发现并用于产生新结构。这样就可以帮助我们快速定位到能量(性质)面上的潜在区域(图 1)。而且,基于变异操作方式的灵活特性,人们也很容易把一些附加的特点融入到进化算法中。

\includegraphics[scale=0.3]{pic/energy_landscape.png}
Figure 1: Au_8Pd_4简化面的2D投影图,显示了某一具有大量低能量结构的聚集区。此图来源于 Oganov and Valle(2009)。

我们开发USPEX的主要动力之一是2004年 发现了MgSiO$_3$的后钙钛矿结构(图 2),这一发现显著改变了地球内部结构模型。在2005年的中期,我们开发出了USPEX的第一个内部工作版本。2010年9月,当USPEX公开发布时,用户数近200。近些年,USPEX用户数量增长速度很快 - 在2012年5月我们拥有800用户,在2014年12月用户数超过2100,在2018年12月用户数超过4500。

\includegraphics[scale=0.3]{pic/prediction_of_the_crystal_structure_of_MgSiO3.png}
Figure 2: 120 GPa下的MgSiO$_3$晶体结构预测(20 原子/晶胞)。上图展示了最优结构焓值随着代数增加的变化。在第六代和第十二代间最优结构为钙钛矿,但在第十三代全局最优结构(后钙钛矿)被发现。这次模拟计算是在2005年我们利用USPEX的第一个版本并结合 从头算完成的。在不使用任何实验数据的背景下,它证明了USPEX可以在一次模拟中同时找到稳定结构和低能量的亚稳结构。每一代都包含30个结构。我们利用USPEX的第一个版本进行了约10次结构预测,该图显示的是最慢的一次结果,即使这样速度也相当快。

USPEX的极大推广应归功于它的高效性和可靠性。在第一次无机晶体结构预测盲测(The First Blind Test of Inorganic Crystal Structure Prediction)中,USPEX的效率和可靠性都超过了其他方法(如模拟退火和随机抽样等)。随机抽样(由Freeman和Schmidt于1993年和1996年率先用于晶体结构预测,并于2006年被Pickard以AIRSS的名字重新使用)是最简单的,也是成功率最低和计算成本最高的结构预测方法。即使在小体系中,如有8个原子的GaAs单胞内,USPEX相对于随机抽样方法的优势也是巨大的(随机抽样需要平均针对500个结构进行弛豫来发现基态,而USPEX仅仅需要对约30个结构进行弛豫(图 3))。由于结构搜索的复杂性与体系大小具有指数相关性,因此USPEX的优势也会随着体系的增大而变得巨大。例如:由随机抽样预测得到的SnH$_4$的稳定结构中三分之二都被证明不稳定;同样,使用随机抽样对N和SnH$_4$的预测也被证实不正确(对USPEX和随机抽样的预测结构进行比较)。

\includegraphics[scale=0.4]{pic/Structure_prediction_for_GaAs_a.png} \includegraphics[scale=0.2]{pic/Structure_prediction_for_GaAs_b.png}
Figure 3: GaAs结构预测。 a) 随机结构的能量分布图, b) 一个进化模拟进程图(细垂直线表示结构代数,而灰线则表现随代数变化结构最低能量的变化 趋势。所有的能量都是基态结构能量的相对值,进化模拟中每代会有10个结构。此外,上一代 具有最低能量的结构会延续到下一代。

对于原子数较多的体系,随机抽样倾向于产生几乎具有相同能量的完全无序结构,这样结构预测的成功率几乎降低 到为零。从预测MgSiO$_3$后钙钛矿结构(超胞中有40个原子)的例子可以看出:在进行120,000次结构弛豫后, 随机抽样仍然没有找到正确的结构,而USPEX只需进行几百次结构弛豫(Fig. 4)。

\includegraphics[scale=0.3]{pic/Sampling_of_the_energy_surface.png}
Figure 4: 能量面取样:基于MgSiO$_3$后钙钛矿结构(40原子/晶胞)晶格常数,分别采用随机抽样和USPEX方法进行结构搜索。 局域优化结构的能量如图所示。随机抽样共生成$1.2\times 10^{5}$个结构(没有一种结构与基态结构一致)。USPEX的搜索,每一代包括40个结构,在15代内发现基态结构。基态结构的能量为箭头标示处。这张图显示,包含在进化搜索中的“学习”驱动发现低能量结构。

USPEX可以很容易地基于随机抽样预测结构,但大多数情况下仅仅只是为了对体系进行测试。同样,基于粒子群优化(PSO)算法开发的团簇及晶体结构预测方法(由A.I. Boldyrev开发,Wang、Lu、Zhu和Ma重新改写)也可以在USPEX实现。在USPEX原有代码的基础上,我们进行了少量编程改进了PSO(croPSO)算法用于晶体结构预测;结构预测测试结果表明该croPSO方法优于之前所有的PSO方法。但实际上,所有基于PSO算法开发的晶体结构预测程序均远不如USPEX高效可靠。如果有人想尝试,我们认为PSO方法更适用于测试。结合Martoňák赝动力学和Oganov-Glass进化算法开发的进化赝动力学方法是一种非常强大的新方法,它是对进化算法的补充。进化赝动力学方法可以获得全局最优结构和低能量亚稳结构,甚至可用于寻找可能的相转变路径。为了更详细地研究相变机制,其他方法:变胞NEB法 和转变路径方法也已嵌入到当前USPEX版本中