origin画能带图

本文转载自 VASPKIT 微信公众号

一句话提要:用VASPKIT是计算能带结构图最简单的方式,计算结果可以用Origin画图,也可以用Pymatgen画图。本文讲解用Origin画图方法。

使用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.113

1.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和颜色即可。

这张图是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.000000
511  
 +-------------------------- 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 绘制能带结构图。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。