新闻动态

首页 > 新闻动态 > 最佳实践Vol.02 | 如何用Quantum ESPRESSO做结构优化计算?
2024-07-17

最佳实践Vol.02 | 如何用Quantum ESPRESSO做结构优化计算?

未标题-10.png


超算互联网推出“超链接”最佳实践系列专题,旨在通过HPC软件、AI模型的应用链接科研工作者与AI开发者,分享超算实践经验、模型推理实测教程。 

本篇为“超链接”系列专题的第2篇最佳实践,您将获得如何用Quantum ESPRESSO做结构优化计算的实践指南。

如果您有关于超算应用的创新研究成果、高效计算方法、最佳实践案例或者独到见解想要分享,欢迎投稿或联系报道。


Quantum ESPRESSO(简称QE)是一套基于密度泛函理论、平面波和赝势开发的集成开源软件包,用于纳米级的电子结构计算和材料建模,它能够进行多种类型的计算,主要包括PWscf、Phonon等:


PWscf:执行平面波基组的自洽场(SCF)计算,可执行程序为pw.x等;


Phonon:计算声子谱和晶格动力学性质,可执行程序为ph.x等。


CP: 执行从头算(ab initio)分子动力学模拟,可执行程序为cp.x等。


在Quantum ESPRESSO中,pw.x模块是进行结构优化计算的核心工具,可以做自洽场(Self-Consistent Field, SCF)、结构优化(Structure Optimization)、能带结构(bands)、分子动力学(md)等计算。


本文,我们将带您深入浅出了解QE中的结构优化,阐述结构优化与自洽场(SCF)的关系,并展示如何在超算互联网使用QE的pw.x模块做结构优化计算。


什么是结构优化?


结构优化是指通过调整原子的位置来找到体系的最低能量状态,这通常涉及到对原子坐标进行优化,使系统的总能量最小化。


听起来可能有些抽象,但实际上结构优化是材料科学和计算物理中一个至关重要的概念。简单来说,结构优化就是通过计算和调整,寻找一个分子或晶体结构的最低能量状态,即所谓的“全局能量最小化”。


如果不进行结构优化,可能会导致系统结构不稳定或者能量较高,无法准确描述实际体系的性质。因此,在实际应用中,通过结构优化可以帮助科研人员得到更为准确和可靠的结果,为后续的性质计算和研究提供基础。


结构优化与自洽场有什么关系?


结构优化与自洽场之间的关系紧密,是在材料科学和计算物理中不可或缺的步骤。


具体而言,SCF计算是量子力学中的一个基本步骤,用于求解多电子体系的基态波函数。在QE中,通过迭代方法求解Kohn-Sham方程,直到电子密度和波函数收敛到一定的精度。


通常做结构优化之前,需要先执行SCF计算,因为结构优化的目的是找到能量最低的原子配置,而这个能量计算是基于电子密度的。没有准确的电子密度,就无法正确计算原子间的作用力,也就无法进行有效的结构优化。而且,这个过程可能需要多次迭代SCF计算,因为每次原子位置的调整后,都需要重新进行SCF计算以更新电子密度和波函数。


可以简单理解为pw.x既能做SCF计算,也能做结构优化计算。做结构优化计算时,自洽场计算提供了结构优化所需的电子密度等信息,而结构优化则在此基础上进一步调整原子位置,以降低能量。通过这种迭代过程,科研人员可以获得材料的精确电子结构和结构状态。


如何用Quantum ESPRESSO做结构优化计算?


第一步,准备QE软件和实验输入文件。如果您只想一心搞实验,不想花时间在编译和搭建环境上,超算互联网为您提供了多种版本、多种编译方式、链接库全面的Quantum ESPRESSO软件包,满足您即来即用的需求。


这里我们详细介绍基于超算互联网QE v7.0版本商品软件,如何购买商品一键启用该软件,以及如何进行结构优化计算和结果的可视化展示。


首先,登录超算互联网(www.scnet.cn), 搜索“quantum espresso”,找到您所需的QE版本,选择计算资源(若无计算资源,需要先购买资源)、同意服务协议、去使用软件,等待软件部署完毕即可使用软件。


未标题-2.png


下面以做Ge原子结构优化的实验为例,详细介绍如何设置结构优化的输入文件。input文件如下,包含了一些主要的参数设置及其含义解释,后续命名为relax.in文件作为实验输入:


微信截图_20240719103130.png


&CONTROl:包含了控制计算流程的参数,对于结构优化,calculation 参数通常设置为relax或者vc-relax,前者表示只允许原子位置变化,后者表示允许改变位置和晶格常数, nstep表示的是整个结构优化过程中离子弛豫的总步数限制,正如前面讲述的与SCF计算的区别,需要注意的是,ELECTRONS标签里还有一个步数设置electron_maxstep,表示的是电子自洽场(SCF)循环中,每次离子弛豫步骤中电子迭代的最大步数。


Tips: 离子弛豫(Ion Relaxation)和电子迭代(Electronic Iteration)是第一性原理计算中的两个重要概念。电子迭代,也称为自洽场(Self-Consistent Field, SCF)迭代,是指在固定原子位置的情况下,通过迭代求解Kohn-Sham方程来获得电子结构的过程。离子弛豫是指在给定的电子结构下,通过调整原子的位置来最小化系统的总能量的过程。这个过程通常在电子结构计算之后进行。


&SYSTEM部分用来定义系统的晶格参数和原子信息;


&ELECTRONS用来设置电子结构计算的参数比如收敛阈值、迭代步数等。

&IONS用于指定离子动力学相关的参数,主要用在结构优化计算中。以下是&ions部分中一些常用参数的具体解释:


ion_dynamics:指定离子动力学的类型(relax和vc-relax计算类型默认使用bfgs算法)


upscale:在结构优化过程中,conv_thr的最大减少因子,当优化过程中原子移动的步长较小时,可以适当增加这个值以加快收敛。


remove_rigid_rot:当设置为.true.时,Quantum ESPRESSO会尝试去除晶胞的刚体旋转,只优化晶胞的形状和大小。在模拟孤立系统的动力学或热力学时非常有用。


此外,实验还包含一些其他的选项和参数,如CONSTRAINS用来设置原子位置的约束条件,更多的关于pw.x功能的参数及设置,可以参考QE的官方文档:https://www.quantum-espresso.org/Doc/INPUT_PW.html


提交作业!使用pw.x做结构优化计算


第二步,准备好输入文件以及相关的伪势文件(若需要)之后,就可以使用pw.x模块做计算了。您可在“超算互联网首页”个人账号中找到“我的商品”,选择“应用软件”标签,搜索找到购买的Quantum ESPRESSO软件,在右侧选择命令行使用软件。可根据命令行下方的提示信息加载环境变量和使用软件,软件默认安装在家目录的apprepo下,环境变量默认配置在软件包中scripts目录下的env.sh中。在软件case目录下,我们还放置了slurm脚本和算例案例,更多实践指南可参考QE商品详情页的使用手册。


未标题-3.png


pw命令和完整的qe.slurm脚本如下,执行sbatch qe.slurm即可提交作业计算。


##计算命令

mpirun -np <核心数> pw.x -i relax.in > relax.out

##slurm脚本

#!/bin/bash

#SBATCH -J qe-relax

#SBATCH -N 1

#SBATCH --ntasks-per-node=32

#SBATCH -p xahctar

mpirun pw.x -i relax.in > relax.out


这里我们指定了输出重定向到relax.out文件,便于进行后处理操作。程序正常执行完成后,会有如下图所示的类似输出:


未标题-4.png


由于我们没有设置输出目录和文件名(可以在CONTROL中设置outdir、prefix参数),将会在算例目录下自动输出一个pwscf.save文件夹,里面有程序运行过程中保存的波函数数据,它包含了电子结构的详细信息。结构优化的计算过程输出保存在了relax.out,我们可以通过以下信息来识别能量和结构的变化,以及优化过程的细节:


优化步骤(Ion positions and cell parameters):输出通常会列出每次迭代中原子的位置和晶胞参数。通过比较连续迭代的输出,你可以观察到原子位置和晶胞参数的变化。


未标题-5.png


总能量(Total energy):每次迭代结束时,都会输出当前步的总能量(可使用grep命令直接搜索输出文件中的total energy)。


未标题-6.png


力(Forces):原子所受的力是结构优化的关键信息。如果输出中包含了每个原子的力的大小和方向,这表明进行了结构优化。力的收敛是优化过程的一个重要指标。


未标题-7.png


用可视化软件展示结构优化过程


如上文通过查看文件做结构优化计算的方式,简直太不直观了!这里我们推荐使用QE的搭配软件XCrySDen来进行可视化展示结构优化过程。超算互联网提供XCrySDen 1.6.2版本,支持一键加载环境!购买使用方式可参考上文QE的使用流程。


https://www.scnet.cn/ui/mall/detail/goods?type=software&common1=APP_SOFTWARE&id=1790583283351093250&resource=APP_SOFTWARE&keyword=Xcrysden+v1.6.2%E7%89%88%E6%9C%AC 


由于是可视化软件,需要在使用前配置Linux图形桌面。您可在“超算互联网首页”选择右上角的“控制台”,在快捷入口或者图形桌面选项卡中点击“Liunx图形桌面”,选择使用软件对应的区域后,“打开桌面”即可打开一个图形桌面,记录您的显示端口号,在使用XCrySDen软件的命令行中添加export DISPLAY=<端口号>即可通过图形桌面显示XCrySDen软件。


图片


命令行使用xcrysden软件,只需加载好环境变量,输入xcrysden即可在图形桌面处显示xcrysden的图形界面。选择“File”-->“Open PWscf”—>“Open PWscf Output File”,打开结构优化过程中的输出文件。也可以通过命令行的方式打开relax.out文件,然后进行后续操作,命令如下:


xcrysden --pwo relax.out


打开文件后,选择“Display All Coordinates as Animation”,然后在Animation Control中调整图片展示形式、播放结构优化轨迹、保存成图片或者gif等。


未标题-8.png


下面是我们测试算例的计算过程动态展示,这里为了效果明显,放置了6个Ge原子。


图片

END.


如果您对材料科学和计算物理感兴趣,希望本篇最佳实践为您提供一些有价值的信息和实践技巧。下篇我们将带来如何在超算互联网使用Quantum ESPRESSO v7.2软件做自洽计算实验,并用pp.x做电荷密度后处理。