USPEX Tutorials

Chapter 1 Introduction

参见:Artem R. Oganov:2018诺贝尔奖提名,USPEX之父

Introduction file

 

Chapter 2 An Overview of Usage

本部分主要参考理论计算预测材料,手把手教你用USPEX!

  1. Installation:

    注意最新版本的USPEX已经整合进了Octave,所以只需按官网步骤注册下载解压

    运行:

    之后按图形界面安装到指定文件夹即可

  2. Usage:

    • 准备输入文件

      首先建立一个名为/La-H/0GPa的文件夹,进入这个文件之后,在终端输入命令: USPEX –g,然后查看文件夹 0GPa,会发现多了四个文件夹:AntiSeeds、Seeds、Specific、Submission。如下图所示:

      img

       

      其中,AntiSeeds 和 Seeds 文件夹中里面的存放的的是结构文件,由于本教程使用的是VASP进行计算,故这两个文件夹放的是 POSCARS 的文件(至于为什么是POSCARS,等下解释)。而 Specific 文件夹里面放的是 VASP 进行计算时,需要的和赝势文件,而 Submission 文件夹里面放的是 USPEX 各种方式提交任务的脚本。这 4 个文件夹是 USPEX 程序自动生成的,因而需要进入每个文件夹里面进行修改或者准备所需要的输入文件。接下来我们一个个文件来进行详细说明(划重点)。

      a. AntiSeeds 文件夹,这个文件顾名思义,就是禁止 USPEX 生成的结构的种子文件,与 Seeds 文件夹作用相反,并且这个功能不常使用,本教程 AntiSeeds 文件夹就不设置,不用管它,直接考虑 Seeds 文件夹。

      b. Seeds文件夹,这个文件夹就是USPEX计算时,需要种子文件存放的地方。好了,既然需要种子文件,那么我们来准备种子文件吧。本教程要进行搜索的是 La-H 体系,那么开始准备La、H结构文件吧。首先到日本晶体结构数据NIMS网站(https://crystdb.nims.go.jp/crystdb/search-materials: 免费注册且免费下载,并且里面结构文件多数有其引用的相关文献)上找结构。

       

      img

      img

       

      上面两图分别是La、H的所有结构文件,

      1) 把这两种元素的cif结构文件全部下载下来;

      2) 用VESTA

      (http://www.jp-minerals.org/vesta/en/download.html:下载后解压即可使用,功能很强大的软件) 打开,另存为VASP5 格式的POSCAR文件;

      3) 打包上传到机器上刚刚建立的/La-H/0GPa /Seeds文件下;

      4) 把La和H的POSCAR文件合并为一个文件,并命名为POSCARS (1、可以使用cat 命令合并,如:cat POSCAR_La* POSCAR_H >> POSCARS,2、建议查看一下POSCARS文件格式,假如有类似乱码的东西,dos2unix POSCARS百度了解一下)。

      c. Specific文件夹,这个文件夹主要存放的是USPEX控制的VASP进行计算的输入文件,由于本教程是La-H体系在0 GPa的变组分结构搜索,主要是用VASP计算USPEX生成结构的能量,因而这个文件内主要是POSCAR进行结构优化的文件如下图所示:

       

      img

      img

       

      INCAR_1-5: 这样设置的主要原因:考虑有你的初始结构通常远离局部最小点,在这种情况下,INCAR_1,2首先应该在保持体积固定的情况下(ISIF=4)弛豫原子和晶胞形状,然后在INCAR_3,4中做完全弛豫(ISIF=3),在INCAR_5中完成非常精确的单点计算(ISIF=2,NSW=0)(至于更具体的细节问题,手册上有详细的描述,请查看手册第3章第3.4小节)。

      值得注意的是:K点设置由USPEX自动生成了,无需考虑。

       

      d. Submission文件夹, 这个文件夹主要是USPEX来提交计算任务和检查计算任务的情况的一些脚本。一般情况下,提交计算任务都是通过登陆到服务器上进行提交,那么这时候需要修改submitJob_local.m和checkStatus_local.m这两个脚本。

       

      img

       

      这是checkStatus_local.m脚本,一般情况需要修改的只有第21行,这行的意思:就是假如任务不是在排队等待或者是正在运行,就认为任务算完了。作者需要根据机器上安装的作业系统进行修改,相信搞科研的这个小问题解决起来肯定没问题的。

       

      img

       

      这个是submitJob_local.m脚本,需要修改的是第11行到第17行,这个修改主要是根据需要根据自己机器上提交任务脚本来修改的,基本上就是提交任务脚本的内容复制到单引号中去。

      假如读者属于特殊情况,那么就参考上面的解释,并仔细阅读/Submission/README 文档,根据实际情况修改。

      e. INPUT.txt

      img

       

      USPEX 自动生成的4个文件夹已经处理好了,那么接下来就是控制USPEX计算的输入文件:INPUT.txt (固定名字的文件),在/La-H/0GPa文件通过文本编辑器(vi INPUT.txt),把上面的内容输入进去,并并保存,下面来解释每行代表的意思,这是超级重重点。

      上图都是USPEX计算输入控制文件:INPUT.txt主要内容,棕黄色的数字标志是行数,只是为了显示方便,不是需要输入的内容。

      好了,La-H 体系不同压强下变组分结构搜索的INPUT.txt的主要设置内容介绍完毕。

       

      f. 最后一项设置,就是提交整个USPEX的脚本了,很简单的shell脚本,任何一个机器上提交USPEX任务,都可以用这个,只是切记一定要把这个脚本命名好。

      img

      当然你如果在自己机器上使用了MATLAB把 –o 去掉就行了,-o的意思是使用octave

       

    • 提交USPEX任务

      如果前面一切输入文件准备好了之后,那么我们可以开始了神奇的USPEX变组分结构搜索之旅了。终端输入命令:nohup ./uspex_Lah0.sh >> log &(其中uspex_Lah0.sh就是1.f中提到的提交USPEX任务的脚本)。如下图所示:

      img

      自此任务已经提交,然后检查 log,看是否出错,然后再修正。

 

Chapter 3 详细说明

(updating)