二维材料3D能带计算，这里以石墨烯为例，见vaspkit/examples/3D_band。 第一步，准备好石墨烯的POSCAR和用于静态计算的INCAR文件； 第二步：运行VASPKIT并选择231生成用于3D能带计算 的KPOINTS文件，执行界面如下所示。注意为了获得平滑的3D能带面，用于产生KPOINTS文件的分辨率值应该设置在0.005左右 ； -->> (01) Reading Structural Parameters from POSCAR File... +-------------------------- Warm Tips --------------------------+ * Accuracy Levels: (1) Medium: 0.02~0.01; (2) Fine: < 0.01; * 0.01 is Generally Precise Enough! +---------------------------------------------------------------+ Input the K-Spacing Value (in Unit of 2*PI/Angstrom): ------------>> 0.005 Reciprocal Lattice Vectors (in Units of 1/Angstrom): 2.5541403688 -1.4746336359 0.0000000000 2.5541403688 1.4746336359 0.0000000000 0.0000000000 0.0000000000 0.3192675461 Reciprocal Lattice Constants: 2.9493 2.9493 0.3193 Real-Space Lattice Constants: 2.4600 2.4600 19.6800 Size of K-Mesh: 96 96 1 -->> (2) Written KPOINTS File! 第三步，提交VASP作业； 第四步，待VASP计算完成后，再次运行VASPKIT，输入232或233命令。233命令可一次性输入包含价带顶的BAND.HOMO.grd和导带底的BAND.LUMO.grd文件的能带；232可以得到其它任意能带的计算数据，这里我们选择233，执行界面如下所示。 ------------>> 233 -->> (01) Reading Input Parameters From INCAR File... -->> (02) Reading Structural Parameters from POSCAR File... +---------------------------------------------------------------+ | >>> The Fermi Energy will be set to zero eV <<< | +---------------------------------------------------------------+ -->> (03) Reading Fermi-Energy from DOSCAR File... -->> (04) Reading Energy-Levels From EIGENVAL File... -->> (05) Written BAND_HOMO.grd File. -->> (06) Written BAND_LUMO.grd File. -->> (07) Written KX.grd and KY.grd Files. 第五步：运行python how_to_visual.py，绘制3D能带图(python2.7环境)。 如果3D能带图不够平滑，可通过能带插值进行改善。VASPKIT升级到1.3.0或更新版本，在~/.vaspkit文件中设置以下三个参数： GET_INTERPOLATED_DATA .TRUE. 是否插值 INTERPOLATION_SPACING 0.04 插值间距，决定平滑程度 INTERPOLATION_METHOD 'cubic' 插值方法 如果您使用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公众号。
杂化泛函相比于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公众号。
能带计算的KPOINTS与普通计算的KPOINTS不一样，通常需要第一布里渊区内的一条或几条高对称点路径来计算能带性质。传统的做法是通过SeeK-Path网站或者Material Studio软件获得晶体倒易空间第一布里渊区内的高对称点，再通过脚本插值生成高对称点路径上的K点，得到满足要求的KPOINTS。好消息是新版的vaspkit集成了与SeeK-path一致的算法分析晶体的高对称点，可以方便地生成PBE泛函和HSE06杂化泛函所需的KPOINTS。 在vaspkit/examples/hybrid_DFT_band目录下有一个使用杂化泛函计算磷化镓的能带结构的例子。同样也可以使用DFT计算该磷化镓结构的能带，只是传统的DFT泛函会低估带隙。为了计算能带，首先得获得晶体的第一布里渊区内的一条或几条高对称点路径。在有POSCAR的目录下运行vaspkit,输入3选择功能K-Path for Band-Structure，在下一个界面输入3选择Bulk Structure，你会得到以下信息： +-------------------------- 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]. +---------------------------------------------------------------+ -->> (1) Reading Structural Parameters from POSCAR File... +-------------------------- Summary ----------------------------+ Prototype: AB Total Atoms in Input Cell: 2 Lattice Constants in Input Cell: 3.854 3.854 3.854 Lattice Angles in Input Cell: 60.000 60.000 60.000 Total Atoms in Primitive Cell: 2 Lattice Constants in Primitive Cell: 3.854 3.854 3.854 Lattice Angles in Primitive Cell: 60.000 60.000 60.000 Crystal System: Cubic Crystal Class: -43m Bravais Lattice: cF Extended Bravais Lattice: cF2 Space Group: 216 Point Group: 31 [ Td ] International: F-43m Symmetry Operations: 24 Suggested K-Path: (shown in the next line) [ GAMMA-X-U|K-GAMMA-L-W-X ] +---------------------------------------------------------------+ -->> (2) Written PRIMCELL.vasp file. -->> (3) Written KPATH.in File for Band-Structure Calculation. -->> (4) Written HIGH_SYMMETRY_POINTS File for Reference. -->> (5) Written POTCAR File with the Recommended Potential! +---------------------------------------------------------------+ | * DISCLAIMER * | | CHECK Your Results for Consistency if Necessary | | Bug Reports and Suggestions for Improvements Are Welcome | | Citation of VASPKIT Is Not Mandatory BUT Would Be Appreciated | | (^.^) GOOD LUCK (^.^) | +---------------------------------------------------------------+ vaspkit会分析晶体的对称性并得到两条建议的能带路径[ GAMMA-X-U|K-GAMMA-L-W-X ]，同时生成了晶体的单胞结构PRIMCELL.vasp，并生成了KPATH.in用于能带结构计算。KPATH.in的第二行数字表示了每小段路径中插值的K点的数目，如果默认的数值都算不动的话，可以考虑将其设小。能带路径只针对于primitive cell，因此需要执行下面的命令，用生成的primitive cell作为计算的结构文件。务必执行以下操作，除非你知道你在做什么否则可能会得到错误的结果。 cp -f PRIMCELL.vasp POSCAR 执行优化结构 对POSCAR（primitive cell）结构优化计算，得到平衡晶格常数。下图展示的是磷化镓的primitive cell和其第一布里渊区的高对称点位置，由SeeK-path网站生成。 PBE静态计算和计算能带 PBE泛函计算能带分为两步，第一步使用普通K点网格（功能102）进行自洽计算 ，启动vaspkit,输入1选择VASP Input Files Generator，再选择108选择Successive Procedure to Generate VASP Files and Check功能，输入ST,生成静态自洽的INCAR，并按照提示生成自洽用的K点。本例中ISMEAR=0，即Gaussian Smearing方法，如果是金属体系可以选择换成ISMEAR=1。接着调用VASP计算。第二步：使用KPATH.in里的高对称点信息作为新的KPOINTS，然后读入电荷CHGCAR进行能带非自洽计算，即： cp -f KPATH.in KPOINTS 也就是读入上一步生成的CHGCAR（令INCAR=11）并保持不变，调用VASP计算。 待第二步完成后，通过功能21从能量本征值文件中读入能带结构。值得一提的是，费米能级应该以自洽计算的为准，因此如果想获得准确的费米能级，可以在自洽计算文件夹中执行提取态密度操作，vaspkit会同时生成FERMI_ENERGY文件，把这个文件重命名成FERMI_ENERGY.in并拷贝能带计算文件夹中，然后再次执行能带数据提取，如果FERMI_ENERGY.in文件存在，vaspkit则会从FERMI_ENERGY.in读取费米能级。如果想手动平移费米能级到价带顶，可在FERMI_ENERGY.in文件第二行设置价带顶能级大小保存后再次运行vaspkit即可。 如果您使用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公众号。