通过命令 grep TIT POTCAR 可以看到POTCAR中的赝势为 O 和 Zn_pv ,满足我们的需求。 为了取得有意义的结果,需要满足INCAR中的
ENCUT大于POTCAR中的所有元素的ENMAX。通过以下命令可以查看所有元素的ENMAX:
可以看到默认的INCAR参数中 ENCUT=400eV 被注释掉了,但是保留了 PREC = Normal ,程序会自动将 ENCUT 设为 max(ENMAX) 。当然
也可以自行设置
ENCUT 参数,只要参数大于所有元素的 ENMAX ,这时候以自己设定的 ENCUT 参数为准。注意在优化晶胞常数时,需要用较高
的
ENCUT ( Learn VASP The Hard Way (Ex36):直接优化晶格常数 ),因此 LR 任务(优化晶格常数)模板生成的INCAR中默认设
置了
PREC=High ,VASP程序会自动将 ENCUT 设为 max(ENMAX)*1.3 。乐平老师提到,为了确保相同体系的 ENCUT 一致,VASP最新的官
方手册已经不推荐使用
PREC=High 了,它推荐设置为 PREC=Accurate 并手动设置 ENCUT 的值。 提交VASP计算任务,可以发现任务很快就
失败了。错误日志如下:
通过分析发现,VASP只读出了O的元素和赝势,
Zn
没有从POSCAR中读出,因此报错。原因在于,从数据库下载的POSCAR中空格的分隔符是制表符
\t ,VASP不能正确读出以 \t 为分隔符的字符串。同样的问题也会在INCAR中出现。另外在WINDOWS系统下生成的POSCAR或INCAR在VASP中可
能会出现非常奇怪的错误。最致命的是VASP不会自动检查POSCAR中的元素类型是否与POTCAR元素类型是否一致,也就是你算石墨烯也可以用H的赝
势,并不会报错,但是结果一定是错的!因此
vaspkit 0.71 以后的版本加入了格式纠正和赝势元素检查的功能 109 。 输入 109 , vaspkit 会自动
进行INCAR和POSCAR的格式纠正,并检查赝势元素是否一致。
执行检查之后,再次提交任务。此时任务已经能正确运行。
为了方便用户,在乐平老师的建议下,我们设置了功能
108 : Successive procedure to generate VASP files and check 。先设置
INCAR,再设置K点密度,生成KPOINTS和POTCAR,最后再调用功能
109 自动检查所有的文件是否存在问题。我们的目标是,VASP之前,先KIT一
下。
3.2 能带计算
能带计算的KPOINTS与普通计算的KPOINTS不一样,通常需要第一布里渊区内的一条或几条高对称点路径来计算能带性质。 传统的做法是通过
SeeK-Path网站或者Material Studio软件获得晶体倒易空间第一布里渊区内的高对称点,再通过脚本插值生成高对称点路径上的K点,得到满足
要求的KPOINTS。好消息是新版的
vaspkit 集成了与SeeK-path一致的算法分析晶体的高对称点,可以方便地生成PBE泛函和HSE06杂化泛函
所需的KPOINTS,目前不支持三斜晶系。 在
vaspkit.0.72/examples/hybrid_DFT_band 目录下有一个使用HSE06杂化泛函计算磷化镓
的能带结构的例子。同样也可以使用PBE泛函计算该磷化镓结构的能带,只是普通的PBE泛函会低估带隙。为了计算能带,首先得获得晶体的第
一布里渊区内的一条或几条高对称点路径。在有POSCAR的目录下运行
vaspkit ,输入 3 选择功能 Band-Path Generator ,在下一个界面
输入
3 选择 3D bulk structure (Experimental) ,你会得到以下信息:
-->> (1) Reading Structural Parameters from POSCAR File...
Auto detected POTCAR_TYPE is O, please type the one you want!
O
Auto detected POTCAR_TYPE is Zn, please type the one you want!
Zn_pv
-->> (2) Written POTCAR File with user specified Potential!
running on 16 total cores
distrk: each k-point on 16 cores, 1 groups
distr: one band on 1 cores, 16 groups
using from now: INCAR
vasp.5.4.4.18Apr17-6-g9f103f2a35 (build Apr 07 2018 02:38:49) complex
POSCAR found type information on POSCAR O
ERROR: the type information is not consistent with the number of types
+-------------------------- Warm Tips --------------------------+
See An Example in vaspkit/examples/seek_kpath.
This Feature Is Experimental & Check Your System using SeeK-Path.
For More details See [www.materialscloud.org/work/tools/seekpath].