Origin画能带图
Created At : 2019-07-11 00:00
Views 👀 :
本文章为原创,版权归作者刘锦程所有,文章转载请先取得作者的同意,非常欢迎转发文章链接!严禁以任何方式挪用本文内容,用于以盈利为目的各种活动。
一句话提要 :用VASPKIT是计算能带结构图最简单的方式,计算结果可以用Origin画图,也可以用Pymatgen画图。本文讲解用Origin画图方法。
相关内容 :
深入分析能带结构(一)
深入分析能带结构(二) VASPKIT能带图计算
pymatgen画能带图方法-高通量计算初探
使用VASPKIT 21功能得到的PBAND_.dat文件可以直接用origin画图得到投影能带,PBAND_ .dat的文件格式如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 #K-Path Energy s py pz px dxy dyz dz2 dxz x2-y2 tot #Band-index 1 0.000 -14.278 0.275 0.000 0.005 0.000 0.000 0.000 0.000 0.000 0.000 0.281 0.060 -14.268 0.276 0.000 0.005 0.000 0.000 0.000 0.000 0.000 0.000 0.281 0.120 -14.239 0.276 0.000 0.005 0.000 0.000 0.000 0.000 0.000 0.000 0.281 0.180 -14.190 0.277 0.000 0.005 0.000 0.000 0.000 0.000 0.000 0.000 0.282 0.240 -14.123 0.278 0.000 0.005 0.000 0.000 0.000 0.000 0.000 0.000 0.284 0.300 -14.039 0.280 0.000 0.005 0.001 0.000 0.000 0.000 0.000 0.000 0.285 0.360 -13.938 0.281 0.000 0.005 0.001 0.000 0.000 0.000 0.000 0.000 0.288 0.420 -13.823 0.283 0.000 0.005 0.001 0.000 0.000 0.000 0.000 0.000 0.290 ... #Band-index 2 3.114 -13.063 0.315 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.316 3.045 -13.056 0.315 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.316 ... #Band-index 3 0.000 -5.798 0.018 0.000 0.125 0.000 0.000 0.000 0.000 0.000 0.000 0.143 0.060 -5.787 0.018 0.000 0.125 0.000 0.000 0.000 0.000 0.000 0.000 0.143 ...
第一列是k-Path走过的距离,即能带图的横坐标,有几条能带(NBANDS)就会有几套数据。
第二列是能带的能量。
第三列到第九列是,每个轨道在能带上的投影。
最后一列是原子/元素在能带上的投影。(211)是原子的投影,(212)是元素的投影,相当于体系中该元素的所有原子,(213)可以按照自己的需求指定几个原子或几种元素的集合。
这个文件可以直接导入到origin里:
选中前两行画先模型就能得到标准的能带图:
在能带图上找到高对称点的位置,可以通过VASPKIT生成的KLABELS文件中得到,
1 2 3 4 5 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 2 3 4 5 1.14 -20 1.14 10 1.798 -20 1.798 10
也可以通过数line-mode的点的个数标记高对称点的位置,比如KPOINTS的第二行50,代表每两个高对称点之间插入50个点。在origin里每50行就有一个高对称点。
1 2 3 4 5 6 7 8 9 10 11 12 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
得到能带图效果如下:
在plot setup里可以加入指定的 轨道成分/原子/元素 的投影到能带图上,俗称projected band structure或fat band structure.
选中 Bubble,然后 A 列和 B 列数据作为 x 轴和 y 轴的数据, 最后一列作为元素的权重,点击 add->ok。然后调整bubble点的scaling和颜色即可。
这样即画出满足文章要求的投影能带图。但是想要批量绘制投影能带图用origin就不方便了,这就需要程序化实现能带图绘制了,可以用pymatgen中pymatgen.electronic_structure.plotter的模块实现。
这张图是深入分析能带结构(二)-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 即可。
EIGENVAL :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 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
运行VASPKIT:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 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波函数是横向和纵向分布都有的:
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。