VASPKIT的下載地址,中英文手冊和官方網站,後臺回覆:vaspkit
一句話提要:用VASPKIT是計算能帶結構圖最簡單的方式,計算結果可以用Origin畫圖,也可以用Pymatgen畫圖。本文講解用Origin畫圖方法。
往期回顧:
深入分析能帶結構(一),討論了能帶的成因,軌道作用的方式、強弱、維度對能帶結構的影響。
深入分析能帶結構(二)-VASPKIT能帶圖計算,討論VASPKIT自動生成K點路徑的方式,和使用VASPKIT+VASP計算能帶結構圖的方法。
使用vaspkit 21功能得到的PBAND_.dat文件可以直接用origin畫圖得到投影能帶,PBAND_.dat的文件格式如下:
#K-Path Energy s py ... tot
#Band-index 1
0.000 -14.278 0.275 0.000 0.005 ... 0.281
0.060 -14.268 0.276 0.000 0.005 ... 0.281
0.120 -14.239 0.276 0.000 0.005 ... 0.281
0.180 -14.190 0.277 0.000 0.005 ... 0.282
0.240 -14.123 0.278 0.000 0.005 ... 0.284
0.300 -14.039 0.280 0.000 0.005 ... 0.285
0.360 -13.938 0.281 0.000 0.005 ... 0.288
0.420 -13.823 0.283 0.000 0.005 ... 0.290
...
#Band-index 2
3.114 -13.063 0.315 0.000 0.000 ... 0.316
3.045 -13.056 0.315 0.000 0.000 ... 0.316
...
#Band-index 3
0.000 -5.798 0.018 0.000 0.125 ... 0.143
0.060 -5.787 0.018 0.000 0.125 ... 0.143
...第一列是K-path走過的距離,即能帶圖的橫坐標,有幾條能帶(NBANDS)就會有幾套數據。
第二列是能帶的能量。
第三列 - 倒數第二列是,每個軌道在能帶上的投影。
最後一列是原子/元素在能帶上的投影。VASPKIT(211)是原子的投影,(212)是元素的投影,相當於體系中該元素的所有原子,(213)可以按照自己的需求指定幾個原子或幾種元素的集合。
這個文件可以直接導入到origin裡:
選中前兩行畫線模型就能得到標準的能帶圖:
在能帶圖上找到高對稱點的位置,可以在 VASPKIT 自動生成的 KLABELS 文件中得到,
K-Label K-Coordinate in band-structure plots
GAMMA 0.000
M 1.139
K 1.797
GAMMA 3.1131.139是M點,1.797是K點,3.113是Gamma點。單位都是埃-1,在Origin前兩列裡添加如下幾行,標記出高對稱點位置。
1.14 -20
1.14 10
1.798 -20
1.798 10也可以通過數line-mode的點的個數標記高對稱點的位置,比如KPOINTS的第二行50,代表每兩個高對稱點之間插入50個點。在origin裡每50行就有一個對應的高對稱點。
K-Path Generated by VASPKIT
50
Line-Mode
Reciprocal
0.0000000000 0.0000000000 0.0000000000 GAMMA
0.5000000000 0.0000000000 0.0000000000 M
0.5000000000 0.0000000000 0.0000000000 M
0.3333333333 0.3333333333 0.0000000000 K
0.3333333333 0.3333333333 0.0000000000 K
0.0000000000 0.0000000000 0.0000000000 GAMMA
調整坐標範圍,一般我們關心的是費米能級附近的態。得到能帶圖效果如下:
右鍵點擊Origin左上角的「1」,在plot setup裡可以加入指定的 軌道成分/原子/元素 的投影到能帶圖上,俗稱projected band structure或fat band structure.
選中 Bubble,然後 A 列和 B 列數據作為 x 軸和 y 軸的數據,並指定一列軌道或最後一列(tot) 作為投影的權重,點擊 add->ok。然後調整bubble點的scaling和顏色即可。
這張圖是深入分析能帶結構(二)-VASPKIT能帶圖計算 文中計算的MoS2的Mo的投影能帶,可見在VBM和CBM處,Mo元素所佔權重很大,相應的S佔的權重就少。注意這裡的能帶是沒考慮自旋軌道耦合(SOC)的,如果考慮SOC,能帶結構會發生改變。
如果想要看在VBM和CBM處的軌道圖形,可以用VASP自帶的parital charge功能,也可直接運行VASPKIT 511功能得到這兩個位置的實空間波函數。
我們需要輸入的信息是這兩個位置的K點序號和band序號,這兩個信息可以從 IBZKPT 文件和 EIGENVAL 文件中讀取,從能帶圖上可以讀出這個點正好是 『K』 ,前面有兩條線的路徑Gamma -> M -> K,每條線上有20個點(KPOINTS文件的第二行),所以VBM和CBM處在第41個點的位置。Band的序號要根據佔據數來讀取,EIGENVAL 文件中該點的最高佔據能帶是13號,最低非佔據能帶是14號。在運行VASPKIT的時候依次選擇 511 -> 41 -> 13 和 511 -> 41 -> 14 即可。
0.3333333E+00 0.3333333E+00 0.0000000E+00 0.1666667E-01
1 -62.527256 1.000000
2 -36.782055 1.000000
3 -36.739875 1.000000
4 -36.624610 1.000000
5 -13.641115 1.000000
6 -13.567346 1.000000
7 -7.084097 1.000000
8 -6.272123 1.000000
9 -5.748132 1.000000
10 -5.251686 1.000000
11 -4.558188 1.000000
12 -3.850084 1.000000
13 -1.714496 1.000000
14 -0.037148 0.000000
15 1.372039 0.000000
16 1.842932 0.000000
17 3.168293 0.000000
18 5.547570 0.000000
19 5.927476 0.000000
20 7.925026 0.000000511
+- Warm Tips -+
Open Real-Space WaveFunction Files with VESTA/VMD Package.
+---+
Which K-POINT do you want to plot? (1<= ikpt <=60)
-->>
41
Which BAND do you want to plot? (1<= iband <=20)
-->>
13
+- Warm Tips -+
Current Version Only Support the Stardard Version of VASP code.
+---+
-->> (01) Reading the header information in WAVECAR file...
+- WAVECAR Header -+
SPIN = 1
NKPTS = 60
NBANDS = 20
ENCUT = 500.00
Coefficients Precision: Complex*8
Maximum number of G values: GX = 6, GY = 6, GZ = 34
Estimated maximum number of plane-waves: 5127
+---+
-->> (02) Start to Post-Process Wavefunctions...
-->> (03) Reading Structural Parameters from POSCAR File...
-->> (04) Written WF_REAL_B0013_K0041.vasp File!
-->> (05) Written WF_IMAG_B0013_K0041.vasp File!得到的文件WF_REAL_B0013_K0041.vasp,WF_REAL_B0014_K0041.vasp 拖入VESTA裡作圖。這裡看到CBM主要是橫向分布的,而VBM波函數是橫向和縱向分布都有的。
綜上,可見用Origin繪製能帶圖是比較繁瑣的事情,如果我們想要一下次繪製100種材料的能帶圖就難以完成了。這就需要藉助一些高通量計算的程序,比如Pymatgen繪製能帶結構圖。之後的文章種會講解如何用pymatgen繪製各種的能帶圖和布裡淵區。