Ex2.5 POTCAR的准备

这一节,我们学习VASP计算中的赝势文件:POTCAR

简单说明

如果组里购买了VASP,那么再在VASP相关的某个目录下,一定会有对应的一套对应的赝势文件,本书默认大家已经知道去哪里找,不讨论从哪里下载POTCAR(小窍门:一般各个VASP相关的QQ群中,都会有打包的POTCAR文件)。在该目录下, 一般来说,会有LDA,PBE,和PW91这三个文件夹,主流的计算一般都是用PBE。当你进入PBE的文件夹后,就会找到各个元素所对应的POTCAR文件了。

劝退声明

没买VASP版权的话,就跟偷别人车上路一样,被交警逮住就坏事。平时自己练习还好,发文章的时候就犯难了。趁现在还早,如果组里没有版权,建议转到QE,CP2K等开源软件,工作照样继续,文章照样发。坚持使用的话,建议让老板出钱买版权,如果他不买还让你算,你就先忍着,等文章发表,毕业拿到学位之后,拿文章当举报信勒索他一票,不要太贪,十万块钱应该可以拿到手。

POTCAR中各项的含义

POTCAR中有很多信息,对于大部分的参数,本人也是只认识字母和数字,不知具体含义,所以只能介绍一下在实际计算中会用到的一些参数。本节用Fe的POTCAR中前面的几行作为一个例子,简单介绍一下。

 PAW_PBE Fe 06Sep2000
 8.00000000000000000
 parameters from PSCTR are:
   VRHFIN =Fe:  d7 s1
   LEXCH  = PE
   EATOM  =   594.4687 eV,   43.6922 Ry

   TITEL  = PAW_PBE Fe 06Sep2000
   LULTRA =        F    use ultrasoft PP ?
   IUNSCR =        1    unscreen: 0-lin 1-nonlin 2-no
   RPACOR =    2.000    partial core radius
   POMASS =   55.847; ZVAL   =    8.000    mass and valenz
   RCORE  =    2.300    outmost cutoff radius
   RWIGS  =    2.460; RWIGS  =    1.302    wigner-seitz radius (au A)
   ENMAX  =  267.883; ENMIN  =  200.912 eV
   RCLOC  =    1.701    cutoff for local pot
   LCOR   =        T    correct aug charges
   LPAW   =        T    paw PP
   EAUG   =  511.368
   DEXC   =    -.022
   RMAX   =    2.817    core radius for proj-oper
   RAUG   =    1.300    factor for augmentation sphere
   RDEP   =    2.442    radius for radial grids
   QCUT   =   -4.437; QGAM   =    8.874    optimization parameters

依个人的学习经验,VRHFIN, LEXCH,TITEL,ZVAL,ENMAX是用到最多的几个参数。

  • VRHFIN 用来看元素的价电子排布,如果你元素周期表倒背如流,可以忽略这个参数;
  • LEXCH 表示这个POTCAR对应的是GGA-PBE泛函;如果INCAR中不设定泛函,则默认通过这个参数来设定。
  • TITEL 就不用说了,指的是哪个元素,以及POTCAR发布的时间;
  • ZVAL 指的是实际上POTCAR中价电子的数目,尤其是做Bader电荷分析的时候,极其重要。
  • ENMAX 代表默认的截断能。与INCAR中的ENCUT这个参数相关。

当然,如果你进入文件夹,使用ls命令后,会发现:即使对于同一个元素来说,也可能会有很多不同的情况。比如:

  • 与GW 计算的对应的POTCAR,则标注为:Fe_GW 这样。(GW计算本人没接触过,这里就先不介绍了);
  • 根据价电子的处理方式,分成了诸如:FeFe_pvFe_sv的这样的情况。v是valence的缩写。pv代表把内层的p电子作为价电子来处理。sv代表则是把更内层的s电子也作为价电子来处理。具体到自己体系中的元素,可以结合元素周期表,以及ZVAL关键词所对应的价电子数目,来进行推断。
  • 此时,我们就需要学习一个非常有用的Linux命令了: grep。 下面是我们使用grep命令,来获取所有与Fe相关POTCAR的价电子信息。
$ ls Fe*
Fe:
POTCAR  PSCTR

Fe_GW:
POTCAR  PSCTR

Fe_pv:
POTCAR  PSCTR

Fe_sv:
POTCAR  PSCTR

Fe_sv_GW:
POTCAR  PSCTR

$ grep ZVAL Fe*/POTCAR
Fe/POTCAR:   POMASS =   55.847; ZVAL   =    8.000    mass and valenz
Fe_GW/POTCAR:   POMASS =   55.847; ZVAL   =    8.000    mass and valenz
Fe_pv/POTCAR:   POMASS =   55.847; ZVAL   =   14.000    mass and valenz
Fe_sv/POTCAR:   POMASS =   55.847; ZVAL   =   16.000    mass and valenz
Fe_sv_GW/POTCAR:   POMASS =   55.847; ZVAL   =   16.000    mass and valenz
  • 还有把内层d轨道考虑到价电子层里面去的,比如:Ge_d
  • 某些元素,还有一些以 _h, _s 结尾的,是 hard和soft的缩写。带h的POTCAR中截断能比普通的要高出很多。带s的截断能要小很多。这里我们就可以通过grep 结合 ENMAX来查看一下:
$ grep ENMAX Ge*/POTCAR
Ge/POTCAR:   ENMAX  =  173.807; ENMIN  =  130.355 eV
Ge_d/POTCAR:   ENMAX  =  310.294; ENMIN  =  232.720 eV
Ge_d_GW/POTCAR:   ENMAX  =  375.434; ENMIN  =  281.576 eV
Ge_GW/POTCAR:   ENMAX  =  173.807; ENMIN  =  130.355 eV
Ge_h/POTCAR:   ENMAX  =  410.425; ENMIN  =  307.818 eV
Ge_sv_GW/POTCAR:   ENMAX  =  410.425; ENMIN  =  307.818 eV

POTCAR的选择

既然对于同一个元素,存在那么多的POTCAR类型,计算的时候我们改怎么选择呢?这里大师兄只能给的建议是:如果没有特别的需求,直接采用VASP官网推荐的即可, 去VASP Wiki: https://www.vasp.at/wiki/index.php/Available_pseudopotentials

Standard potentials --> List of PBE potentials --> 加粗的即为vasp所推荐的

我们在计算的时候,根据体系中的元素,将这些元素的POTCAR结合起来,组成一个新的POTCAR,这个结合的步骤,我们需要用到Linux的另一个命令:cat。比如VASP官网的例子,体系中含有Al, C,H三种元素。

cat ~/pot/Al/POTCAR ~/pot/C/POTCAR ~/pot/H/POTCAR > POTCAR

通过这一行命令就可以把AlCH所对应的POTCAR结合在一起,生成一个新的POTCAR文件,OUTCAR中的元素顺序一定要和POSCAR保持一致,否则计算会出错,为了避免计算出错,还有一些高级的方法,这个在后面会慢慢讲解。

本节讲的是O原子的计算,官网推荐的氧原子POTCAR,默认的截断能是400,价层有6个原子。直接把O这个文件夹中的POTCAR直接复制到INCAR所在的目录即可。

POTCAR检查常用的Linux命令:

查看POTCAR中的元素:

grep  TIT POTCAR

查看POTCAR的截断能:

grep  ENMAX POTCAR

查看POTCAR中元素的价电子数目:

grep  ZVAL POTCAR

举一反三,只要找到了关键词,我们就可以通过grep命令来进行查看。不仅仅局限在POTCAR, grep命令也可以用来查看任何文件。

总结:

这一节,我们简单介绍了一下POTCAR中的内容,选取规则,以及通过grep命令和关键词进行查看。如果你能独立完成下面的几点,就圆满完成了本节的学习:

  • VRHFIN, LEXCH,TITEL,ZVAL,ENMAX 这几个参数的大体意思;
  • 初步了解:Fe_sv,Fe_pv, Ge_d, Ge_gw,C_s, C_h 这些标记的含义;
  • 查看VASP官网,了解VASP推荐的POTCAR;
  • 使用grep命令来获取POTCAR中有价值的信息, 开始学习并熟悉使用cat命令。百度下就能发现网上有大量免费的例子,自己照着敲,多练习就完事,没什么好途径。

通过前面几节的学习,初步了解VASP四个主要输入文件的是怎么制作的,一些简单参数的含义,以及每个文件所对应的格式和细节。本节我们分成了很多小节,每节内容都很多,但对新手来说,信息量可能有些大。但不需要一次性全部掌握,因为在后面的学习中,我们会逐渐深入。自己在课题进行的过程中,也会加深自己的理解。但书中要求掌握的部分,必须要牢牢记住。

本书的名字为:The Hard Way。意思是,学习VASP并不是一蹴而就的,需要一个长时间的积累过程。所以,新手切勿急躁,很多内容看不懂不要紧,务必要静下心来浏览一遍,自己跟着说明亲自去实践,切不可复制粘贴。 本节所讲解的东西,都务必去VASP官网找对应的说明,认真阅读,反复思考。养成潜心学习官网教程,查找参数说明的良好习惯,从而远离网络上那些错误的信息。尤其是对于新手来说,很多都不懂的时候,没有自己的主见,别人一说就被牵着鼻子走了。