杂化泛函计算能带

本文共有6106个字,关键词:能带

杂化泛函相比于DFT方法,在计算带隙方面更加准确,但是HSE06的杂化泛函需要KPOINTS里既有权重不为0的K点进行自洽计算,又要求有权重为0的高对称点计算能带性质。因此操作流程颇为繁琐。

第一步:准备KPATH.in文件,KPATH.in格式与使用PBE计算计算能带的格式完全相同,即为line-mode格式,可使用VASPKIT 303 (体相)或者302(二维)命令产生,也可以自定义生成,例如对于FCC结构,其推荐能带路径如下所如: KPATH.in文件内容如下:

Generated by VASPKIT based on Hinuma et al.'s Paper, Comp. Mat. Sci. 128, 140 (2017), DOI: 10.1016/j.commatsci.2016.10.015.
   10
Line-Mode
Reciprocal
   0.0000000000   0.0000000000   0.0000000000     GAMMA          
   0.5000000000   0.0000000000   0.5000000000     X              

   0.5000000000   0.0000000000   0.5000000000     X              
   0.6250000000   0.2500000000   0.6250000000     U              

   0.3750000000   0.3750000000   0.7500000000     K              
   0.0000000000   0.0000000000   0.0000000000     GAMMA          

   0.0000000000   0.0000000000   0.0000000000     GAMMA          
   0.5000000000   0.5000000000   0.5000000000     L              

   0.5000000000   0.5000000000   0.5000000000     L              
   0.5000000000   0.2500000000   0.7500000000     W              

   0.5000000000   0.2500000000   0.7500000000     W              
   0.5000000000   0.0000000000   0.5000000000     X   

第二步:调用VASPKT-251命令产生用于杂化密度计算的KPOINTS文件。具体操作如下:重启vaspkit,输入25选择功能Hybrid-DFT Band-Structure,在下一个界面输入251选择Generate KPOINTS File for Hybrid Band-Structure Calculation。再输入1选择Monkhorst-Pack Scheme用MP方法生成自洽用的K点网格并根据建议输入0.04选择较密的K点密度(权重不为0的K点用于自恰计算),接下来还需手动指定能带路径上K点的密度,用于能带计算,再次输入0.04,即可生成HSE06杂化泛函所需的KPOINTS。VASPKIT最新版支持根据给定k点间隔自动确定不同能带路径上的K点数,从而保证在整个能带计算中均匀撒点

 ======================= K-Mesh Scheme ==========================
 1) Monkhorst-Pack Scheme                            
 2) Gamma Scheme                                     

 0)   Quit                                             
 9)   Back                                             
 ------------->>
1
 +-------------------------- Warm Tips --------------------------+
 Input Kmesh-Resolution Value for SCF Calculation:
 (Typical Value: 0.02-0.04 is Generally Precise Enough)
 ------------>>
0.04
 Input Kmesh-Resolution Value along K-Path for Band Calculation:
 (Typical Value: 0.03-0.05 for DFT and 0.04-0.06 for hybrid DFT)
 ------------>>
0.04
 +---------------------------------------------------------------+
  -->> (03) Reading K-Path From KPATH.in File...
 +-------------------------- Summary ----------------------------+
 K-Mesh for SCF Calculation:    8    8    8
 The Number of K-Points along K-Path No.1:  28
 The Number of K-Points along K-Path No.2:  10
 The Number of K-Points along K-Path No.3:  30
 The Number of K-Points along K-Path No.4:  24
 The Number of K-Points along K-Path No.5:  20
 The Number of K-Points along K-Path No.6:  14
 +---------------------------------------------------------------+
  -->> (04) Written KPOINTS File!

可通过KPOINTS文件第一行查看产生K点产生信息。0.040 8 8 8 29 0.040 126 6 28 10 30 24 20 14,第一个决定总能计算K点密度,第二至第四个数字表示8\times8\times8,29表示总能计算部分在不可约布里渊区的K点数目,第六个数据能带计算(权重为零部分)K点密度,也就是我们之前输入的数值,126表示能带计算中总K点数目,6表示共有6条能带路径,从第一到第六条能带上分别选取28,10,30,24,20和14个K点,共126个K点。此均匀撒点的方式能够提高能带的计算效率。但是请注意:由于0.72当前及之后版本将采用新的杂化能带计算KPOINTS文件格式,不再兼容由VASPKIT早期产生的杂化能带数据提取。

第三步(可选):使用PBE泛函产生波函数WAVECAR和电子密度CHGCAR文件。这一步完成后可用vaspkit-252命令提取能带数据,注意此时的能带数据是PBE泛函计算得到,主要目的是为了检查能带数据是否异常。如果正常可进行下一步。因为HSE06计算非常耗时,因此本例中采用两步法加速收敛,当然也可以跳过第一步直接用HSE06进行自洽。

第四步:保持KPOINTS不变,读入波函数进行HSE06计算**。注意在INCAR文件中激活杂化密度泛函功能并再次调用VASP计算,等结束结束后再次调用vaspkit-252命令处理结果,运行过程如下图所示:

 -->> (1) Reading Input Parameters From INCAR File...
 -->> (2) Reading Fermi-Level From DOSCAR File...
 -->> (3) Reading Energy-Levels From EIGENVAL File...
 -->> (4) Reading Lattices & Atomic-Positions from POSCAR File...
 -->> (5) Reading K-Paths From KPATH.in File...
 -->> (6) Written BAND.dat File!
 -->> (7) Written BAND-REFORMATTED.dat File!
 -->> (8) Written KLINES.dat File!
 -->> (9) Written KLABELS File!

REFORMATTED_BAND.dat是修改后生成的能带信息(0.70版本生成的有问题,Band.dat正常!0.71以后的版本以后已修复。),格式如下所示,第一列是K-PATH,相邻的距离为高对称点在倒空间的距离,第二列,第三列等即为所需的不同的能带线。如果开了自旋,第二列和第三列为能带1的spin up和spin down,以此类推。将dat文件拖入Origin软件后,即可得到能带图。

# Kpath    Energy-Level (in eV)
       0.00000     -14.54063      -0.82009      -0.82009 
       0.12809     -14.48597      -1.24459      -0.97903 
       0.25617     -14.32291      -2.13627      -1.37615 
       0.38426     -14.05442      -3.15793      -1.87258 
       0.51234     -13.68641      -4.20790      -2.37100 
       0.64043     -13.22973      -5.24586      -2.81765 
       0.76851     -12.70500      -6.23748      -3.18362 
       0.89660     -12.15541      -7.12954      -3.45312 

KLABELS是由读取能带标识的子模块生成的。通过读取KPATH.in(PBE能带计算时为KPOINTS)高对称点后标识,写入KLABELS文件。

KLABELS文件如下:

K-Label    K-Coordinate in band-structure plots 
GAMMA              0.000
X                  1.153
U|K                1.560
GAMMA              2.783
L                  3.781
W                  4.597
X                  5.173
* Give the label for each high symmetry point in KPOINTS (KPATH.in) file. Otherwise, they will be identified as 'Undefined' in KLABELS file

因为路径分了两条,所以能带图中第二个高对称点位置的标识为U|K。 用户在Origin软件中处理了BAND-REFORMATTED.dat后,需要按照KLABELS文件中的位置在能带图中标识高对称点位置。下一版本的版本将会加入生成绘制能带图的python脚本的功能,需要用户安装了Matplotlib库。例子里有一个band_plot.py脚本,只要执行这个python脚本,就能在文件夹下生成一个band.png

注意该方法是普适的,同样适用于DFT和MetaGGA方法计算能带,并且也不需要从静态计算中读取费米能级

如果您使用VASPKIT,请记得引用哦!

V. Wang, N. Xu, J.-C. Liu, G. Tang, W.-T. Geng, VASPKIT: A User-Friendly Interface Facilitating High-Throughput Computing and Analysis Using VASP Code, Computer Physics Communications 267, 108033, (2021), https://doi.org/10.1016/j.cpc.2021.108033

欢迎关注VASPKIT公众号。

「感觉有帮助?一键投喂 牛奶/咖啡/冰阔乐!」

VASPKIT

(๑>ڡ<)☆哇~太棒了!

使用微信扫描二维码完成支付

添加新评论
已有 5 条评论
  1. 鱼饿了也喝水:

    请问第四步需要ICGARG=11吗?

    1. VASPKIT: 回复 @鱼饿了也喝水

      杂化密度泛函能带计算无需设置ICGARG=11。

  2. 王建华:

    请问这是直接用REFORMATTED_BAND.dat中的前两列数据绘制的图吗?需要减去费米能级吗

    1. VASPKIT: 回复 @王建华

      默认输出已减去费米能级。

  3. LePing:

    文章里提到 “HSE06的杂化泛函需要KPOINTS里既有权重不为0的K点进行自洽计算,又要求有权重为0的高对称点计算能带性质”,但是我不理解什么是权重不为0的k点,权重为0的k点。哪位能解释一下吗?