在研究材料如缺陷性质时，为了使问题简化尽可能选择正交超胞模型。首先简单介绍一下实现原理。超胞基矢(A,B,C)和原胞基矢(a,b,c)满足 \left(\begin{array}{l} \mathbf{A} \\ \mathbf{B} \\ \mathbf{C} \end{array}\right)=\mathbf{M} \cdot\left(\begin{array}{l} \mathbf{a} \\ \mathbf{b} \\ \mathbf{c} \end{array}\right)=\left(\begin{array}{lll} m_1 & m_2 & m_3 \\ n_1 & n_2 & n_3 \\ l_1 & l_2 & l_3 \end{array}\right)\cdot\left(\begin{array}{lll} a_x & a_y & a_z \\ b_x & b_y & b_z \\ c_x & c_y & c_z \end{array}\right) 式中M为变化矩阵，一共9个元素m_i, n_i和l_i，均取整数。只需遍历m_i, n_i和l_i，当A,B,C相互正交则得到正交超胞。接下来我们以Si初级原胞为例演示如何使用VASPKIT寻找正交超胞。 首先准备POSCAR结构 This file is generated by VASPKIT code 1.000000 0.0000000000000000 2.7014999999999998 2.7014999999999998 2.7014999999999998 0.0000000000000000 2.7014999999999998 2.7014999999999998 2.7014999999999998 0.0000000000000000 Si 2 Direct 0.0000000000000000 0.0000000000000000 0.0000000000000000 Si1 0.2500000000000000 0.2500000000000000 0.2500000000000000 Si2 接下来运行VASPKIT-800命令 =================== Structural-Model Options ==================== 800) Build Orthogonal Supercell 801) Build Vacuum Slab in Specified Direction 802) Build Random Substitutional Alloy 803) Build Surface by Specified Miller Indices 804) Build Heterostructure by Two Specified Slabs 805) Build Hexagonal Moire Superlattices (Pro-Only) 806) Build Nanorribon by Specified Chiral Vector (Pro-Only) 807) Build Nanotube by Specified Chiral Vector (Pro-Only) 808) Build Nanotube by Specified Orthogonal Slab 0) Quit 9) Back ------------>> 800 o-------------------------- Warm Tips --------------------------o You Can Manually Set MAX_ATOM_NUMBER or/and ANGLE_TOLERANCE in the ~/.vaspkit file to Screen the Most Desired Structures. o---------------------------------------------------------------o -->> (01) Reading Structure from POSCAR File... -->> (02) Written ORTHOGONALCELL_0001_0004.vasp File! -->> (03) Written ORTHOGONALCELL_0002_0008.vasp File! -->> (04) Written ORTHOGONALCELL_0003_0008.vasp File! -->> (05) Written ORTHOGONALCELL_0004_0012.vasp File! -->> (06) Written ORTHOGONALCELL_0005_0012.vasp File! -->> (07) Written ORTHOGONALCELL_0006_0016.vasp File! -->> (08) Written ORTHOGONALCELL_0007_0016.vasp File! -->> (09) Written ORTHOGONALCELL_0008_0020.vasp File! -->> (10) Written ORTHOGONALCELL_0009_0020.vasp File! 经过几十秒至几分钟的等待，VASPKIT一共寻找到原子数从4变化到20共9个正交构型。如果遇到 Error: Structures exceed 1000. Decrease MAX_ATOM_NUMBER in ~/.vaspkit.错误信息，可在~/.vaspkit文件中设置以下三个参数筛选想要的超胞结构： MAX_ATOM_NUMBER = 20 超胞包含最多原子数 MIN_ATOM_NUMBER = 2 超胞包含最少原子数 ANGLE_TOLERANCE = 0 超胞晶格基矢夹角误差允许在±1°之间变化 随机选取3个构型使用VESTA可视化。 如果您使用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公众号已迁移至新号，今后我们将在新公众号里继续推送关于VASPKIT软件及第一性原理计算软件相关资讯和教程，欢迎大家关注和转发。
VASP结合VASPKIT进行二维半导体高通量计算筛选
由于具有二维空间几何结构，能极大的减小电子器件的厚度，二维材料已成为一种制造微型化和集成化电子器件的热门材料。此外，因电子被限制在二维平面内运动，体系维度降低所带来的量子限制效应和弱屏蔽效应赋予二维半导体许多新奇物理效应，展示出不同于其它传统材料的独特物理性质。使其在诸多领域具有重要应用前景，尤其是在高性能微电子器件方面，二维半导体具有天然优势，可显著 提升器件集成度并且降低功耗，因此被认为是硅材料潜在“接班人”来续写摩尔定律。 近日，VASPKIT开发团队与日本东北大学川添良幸教授，日本国家材料科学研究所(NIMS)奈良纯教授、韩国科学技术研究院水関博志教授，采用自主开发的高通量材料物性分析程序VASPKIT结合第一性原理软件VASP，根据热力学(thermodynamic)、力学(mechanical)、动力学(dynamic)及热学(thermal)四个结构稳定性判据条件，从接近1000个二维结构中高通量筛选出73个具有直接带隙和183个具有间接带隙的二维半导体数据库(2D semiconductor database,2DSdb)，包括已被广泛研究的石墨烯、二维氮化硼和过渡金属硫族化合物等二维体系。通过第一性原理计算给出了每种潜在二维半导体的的结构、力学、电学及光学性质，详情可访问2DSdb网站https://materialsdb.cn/2dsdb/index.html获取。 此外，密度泛函理论中局域密度近似(LDA)或广义梯度近似(GGA)往往会严重低估半导体体带隙值，该团队通过拟合分别基于广义梯度近似和杂化密度泛函理论计算得到的电子结构数据，所得到半经验拟合模型(linear fitting model, LFM)可用于修正二维半导体的电离能、带隙及电子亲和势，该经验模型的预测精度接近杂化密度泛函理论，但极大地节约了计算资源。 论文以“High-Throughput Computational Screening of Two-Dimensional Semiconductors”为题，发表在《Journal of Physical Chemistry Letters》(DOI: 10.1021/acs.jpclett.2c02972)。论文下载链接（百度网盘链接） 如果您使用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公众号
采用杂化泛函计算体材料的线性光学性质
首先调用VASP计算得到介电函数实部和虚部，然后调用VASPKIT读取介电函数进一步得到线性光学性质。注意VASP计算介电函数时只考虑了带间直接跃迁，因此该方法仅适用于半导体或绝缘体体系，不适用金属体系。The fractive index n(\omega), extinction coefficient \kappa(\omega), absorption coefficient \alpha(\omega), energy-loss function L(\omega), and reflectivity R(\omega) can be calculated from the real \varepsilon_{1}(\omega) and the imaginary \varepsilon_{2}(\omega) parts [M. Fox, Optical properties of solids]: n(\omega)=\left(\frac{\sqrt{\varepsilon_{1}^{2}+\varepsilon_{2}^{2}}+\varepsilon_{1}}{2}\right)^{\frac{1}{2}} k(\omega)=\left(\frac{\sqrt{\varepsilon_{1}^{2}+\varepsilon_{2}^{2}}-\varepsilon_{1}}{2}\right)^{\frac{1}{2}} \alpha(\omega)=\frac{\sqrt{2} \omega}{c}\left(\sqrt{\varepsilon_{1}^{2}+\varepsilon_{2}^{2}}-\varepsilon_{1}\right)^{\frac{1}{2}} L(\omega)=\operatorname{Im}\left(\frac{-1}{\varepsilon(\omega)}\right)=\frac{\varepsilon_{2}}{\varepsilon_{1}^{2}+\varepsilon_{2}^{2}} R(\omega)=\frac{(n-1)^{2}+k^{2}}{(n+1)^{2}+k^{2}} 接下来以Si体系为例演示如何计算光学性质。具体操作步骤如下： 第一步：利用VASP进行结构优化； 得到优化后的POSCAR Si-FCC 5.4379999999999997 -0.0000000000000000 0.5027997174640675 0.5027997174640675 0.5027997174640675 0.0000000000000000 0.5027997174640675 0.5027997174640675 0.5027997174640675 0.0000000000000000 Si 2 Direct 0.0000000000000000 0.0000000000000000 0.0000000000000000 0.2500000000000000 0.2500000000000000 0.2500000000000000 第二步：执行PBE静态计算，这一步可选，目的是为了加速下一步杂化计算收敛速度； Global Parameters ISTART = 1 LREAL = .FALSE. LWAVE = .TRUE. LCHARG = .TRUE. ADDGRID= .TRUE. ENCUT = 400 NPAR = 6 Static Calculation ISMEAR = 0 SIGMA = 0.05 NELM = 60 EDIFF = 1E-08 注意光学性质计算需要足够密的K点 K-Spacing Value to Generate K-Mesh: 0.020 0 Gamma 16 16 16 0.0 0.0 0.0 第三步：执行HSE杂化泛函静态计算 Global Parameters ISTART = 1 ISPIN = 1 LREAL = .FALSE. LWAVE = .TRUE. LCHARG = .TRUE. ADDGRID= .TRUE. ENCUT = 400 NPAR = 6 Static Calculation ISMEAR = 0 SIGMA = 0.05 NELM = 60 EDIFF = 1E-08 HSE06 Calculation LHFCALC= .TRUE. AEXX = 0.25 HFSCREEN= 0.2 ALGO = ALL TIME = 0.4 PRECFOCK= N NKRED = 2 第四步：执行杂化泛函光学性质计算 ISTART = 1 ISPIN = 1 LREAL = .FALSE. LWAVE = .TRUE. LCHARG = .TRUE. ADDGRID= .TRUE. ENCUT = 400 #NPAR = 6 Static Calculation ISMEAR = 0 SIGMA = 0.05 NELM = 60 EDIFF = 1E-08 HSE06 Calculation LHFCALC= .TRUE. AEXX = 0.25 HFSCREEN= 0.2 #ALGO = ALL TIME = 0.4 PRECFOCK= N NKRED = 2 Optical Calculation ALGO = Exact NBANDS = 72 # 注意确保NBANDS足够多，这是仅仅是为了演示 LOPTICS = .TRUE. CSHIFT = 0.100 NEDOS = 2001 第五步：调用VASPKIT-711命令得到吸收系数、折射率、反射系数及消光系数等。具体计算公式可参考Computer Physics Communications 267, 108033, (2021), https://doi.org/10.1016/j.cpc.2021.108033。在这一步中，VASPKIT会首先判断REAL.in和IMAG.in文件是否存在，如果存在，则会从这两个文件中分别读取介电函数实部和介电函数虚部，否则则会直接从vasprun.xml文件中读取介电函数。在VASPKIT老版本中，需要使用optical.sh脚本提取REAL.in和IMAG.in文件，然后才能执行这一步。 ------------>> 711 +-------------------------- Warm Tips --------------------------+ See an example in vaspkit/examples/Si_bse_optical. This utility is NOT suitable for low-dimensional materials. +---------------------------------------------------------------+ ===================== Energy Unit =============================== Which Energy Unit do You Want to Adopt? 1) eV 2) nm 3) THz 4) cm^-1 ------------>> 1 -->> (01) Reading Input Parameters From INCAR File... -->> (02) Reading IMAG.in and REAL.in Files... -->> (03) Written Optical Files Succesfully! 特别注意的是由于二维体系的厚度不是一个well-defined的物理量，因此以上方法不适于二维体系。可调用VASPKIT-710命令计算二维体系的光学性质。 如果您使用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公众号 光学性质计算公式可参考https://www.tcm.phy.cam.ac.uk/castep/documentation/WebHelp/content/modules/castep/thcastepopticalprops.htm
VASP.6.3.0版本新增一步法（Single-shot）计算能带。在实际测试时中当KPOINTS_OPT文件存在时，VASP的确会继续计算KPOINTS_OPT文件K点的本征值，但是如果不激活HDF5格式输出功能则不会输出PROCAR_OPT文件，因此VASPKIT现有版本不能处理一步法能带计算结果。可修改VASP代码使在不激活HDF5格式输出功能的情况下，当KPOINTS_OPT文件存在并执行VASP计算时自动输出PROCAR_OPT和EIGENVAL_OPT（新增）文件。具体操作如下： 第一步：删除vasp.6.3.0/src/linear_response.F文件中的1804-1827行代码； #ifdef VASP_HDF5 CALL VH5_WRITE_DOS(IH5OUTFILEID, WDES_INTER, KPOINTS_INTER, DOS, DOSI, DOSPAR, EFERMI, & T_INFO%NIONP, -1,SUBGROUP="electron_dos_kpoints_opt") CALL VH5_WRITE_EIGENVAL(IH5OUTFILEID, WDES_INTER, W_INTER, KPOINTS_INTER, & SUBGROUP="electron_eigenvalues_kpoints_opt") ! Write projections IF (JOBPAR/=0 .OR. IO%LORBIT>=10) THEN IF (IO%LORBIT==11.OR.IO%LORBIT==12) THEN CALL VH5_WRITE_PROJECTORS(IH5OUTFILEID, T_INFO, WDES_INTER, W_INTER, IO%LORBIT, LPAR, PAR_INTER, LMCHAR, PHAS_INTER, & SUBGROUP="projectors_kpoints_opt") ELSE CALL VH5_WRITE_PROJECTORS(IH5OUTFILEID, T_INFO, WDES_INTER, W_INTER, IO%LORBIT, LPAR, PAR_INTER, LCHAR, PHAS_INTER, & SUBGROUP="projectors_kpoints_opt") ENDIF IF (IO%IU6>=0) THEN CALL XML_PROCAR(PAR, W_INTER%CELTOT, W_INTER%FERTOT, WDES_INTER%NB_TOT, WDES_INTER%NKPTS, LPAR,& T_INFO%NIONP, WDES_INTER%NCDIJ, TAG="projected_kpoints_opt") OPEN(UNIT=99,FILE='PROCAR_OPT',STATUS='UNKNOWN') CALL WRITE_PROCAR(99,W_INTER,WDES_INTER,IO%LORBIT,LPAR,LMDIMP,PAR_INTER,PHAS_INTER,T_INFO,KPOINTS%EMIN,KPOINTS%EMAX) CLOSE(99) ENDIF ENDIF #endif 并在此处新增以下代码 ! Added support to VASPKIT OPEN(UNIT=99,FILE='EIGENVAL_OPT',STATUS='UNKNOWN') WRITE(99,'(4I5)') T_INFO%NIONS,T_INFO%NIONS,0.0,WDES_INTER%ISPIN WRITE(99,'(5E15.7)') 0.d0,0.d0,0.d0,0.d0,0.d0 WRITE(99,'(1E15.7)') 0.d0 WRITE(99,*) ' CAR ' WRITE(99,*) INFO%SZNAM1 WRITE(99,'(3I7)') NINT(INFO%NELECT),WDES_INTER%NKPTS,WDES_INTER%NB_TOT DO IK=1,WDES_INTER%NKPTS WRITE(99,*) WRITE(99,'((4E15.7))') WDES_INTER%VKPT(1,IK),WDES_INTER%VKPT(2,IK),WDES_INTER%VKPT(3,IK),WDES_INTER%WTKPT(IK) DO I=1,WDES_INTER%NB_TOT IF (WDES_INTER%ISPIN==1) WRITE(99,852) I,REAL( W_INTER%CELTOT(I,IK,1) ,KIND=q),W%FERTOT(I,IK,1) IF (WDES_INTER%ISPIN==2) WRITE(99,853) I,(REAL( W_INTER%CELTOT(I,IK,ISP) ,KIND=q),ISP=1,WDES_INTER%ISPIN),(W%FERTOT(I,IK,ISP),ISP=1,WDES_INTER%ISPIN) ENDDO ENDDO CLOSE(99) 852 FORMAT(1X,I6,4X,F14.6,2X,F9.6) 853 FORMAT(1X,I6,4X,F14.6,2X,F14.6,2X,F9.6,2X,F9.6) IF (JOBPAR/=0 .OR. IO%LORBIT>=10) THEN IF (IO%IU6>=0) THEN CALL XML_PROCAR(PAR, W_INTER%CELTOT, W_INTER%FERTOT, WDES_INTER%NB_TOT, WDES_INTER%NKPTS, LPAR,& T_INFO%NIONP, WDES_INTER%NCDIJ, TAG="projected_kpoints_opt") OPEN(UNIT=99,FILE='PROCAR_OPT',STATUS='UNKNOWN') CALL WRITE_PROCAR(99,W_INTER,WDES_INTER,IO%LORBIT,LPAR,LMDIMP,PAR_INTER,PHAS_INTER,T_INFO,KPOINTS%EMIN,KPOINTS%EMAX) CLOSE(99) ENDIF ENDIF #ifdef VASP_HDF5 CALL VH5_WRITE_DOS(IH5OUTFILEID, WDES_INTER, KPOINTS_INTER, DOS, DOSI, DOSPAR, EFERMI, & T_INFO%NIONP, -1,SUBGROUP="electron_dos_kpoints_opt") CALL VH5_WRITE_EIGENVAL(IH5OUTFILEID, WDES_INTER, W_INTER, KPOINTS_INTER, & SUBGROUP="electron_eigenvalues_kpoints_opt") ! Write projections IF (JOBPAR/=0 .OR. IO%LORBIT>=10) THEN IF (IO%LORBIT==11.OR.IO%LORBIT==12) THEN CALL VH5_WRITE_PROJECTORS(IH5OUTFILEID, T_INFO, WDES_INTER, W_INTER, IO%LORBIT, LPAR, PAR_INTER, LMCHAR, PHAS_INTER, & SUBGROUP="projectors_kpoints_opt") ELSE CALL VH5_WRITE_PROJECTORS(IH5OUTFILEID, T_INFO, WDES_INTER, W_INTER, IO%LORBIT, LPAR, PAR_INTER, LCHAR, PHAS_INTER, & SUBGROUP="projectors_kpoints_opt") ENDIF ! IF (IO%IU6>=0) THEN ! CALL XML_PROCAR(PAR, W_INTER%CELTOT, W_INTER%FERTOT, WDES_INTER%NB_TOT, WDES_INTER%NKPTS, LPAR,& ! T_INFO%NIONP, WDES_INTER%NCDIJ, TAG="projected_kpoints_opt") ! OPEN(UNIT=99,FILE='PROCAR_OPT',STATUS='UNKNOWN') ! CALL WRITE_PROCAR(99,W_INTER,WDES_INTER,IO%LORBIT,LPAR,LMDIMP,PAR_INTER,PHAS_INTER,T_INFO,KPOINTS%EMIN,KPOINTS%EMAX) ! CLOSE(99) ! ENDIF ENDIF #endif 第二步：重新编译VASP.6.3.0； 第三步：cp KPATH.in KPOINTS_OPT并执行VASP计算，等计算结束后VASP修改版会自动生成EIGENVAL_OPT和PROCAR_OPT（LORBIT=10或11）文件； 第四步：如果正在使用VASPKIT.1.3.1或更旧版本，等VASP计算完成后还需执行cp KPOINTS_OPT KPOINTS，cp EIGENVAL_OPT EIGENVAL，cp PROCAR_OPT PROCAR操作。VASPKIT.1.3.2或更新版本支持直接读取PROCAR_OPT和EIGENVAL_OPT，因此这一步可省略； 第五步：调用VASPKIT-21X提取（投影）能带计算结果。 如果您使用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-314得到电荷差分密度CHGDIFF.vasp文件 第二步：mv CHGDIFF.vasp CHGCAR 第三步：运行vaspkit-316命令得到PLANAR_AVERAGE.dat文件，导入画图。 如果您使用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公众号。
把.cif格式文件批量转化成.vasp格式文件 for i in *.cif do echo -e "105\n$i\n\n"| vaspkit prefix=`echo $i|awk -F '.' '{print $1}'` echo ${prefix}.vasp mv POSCAR ${prefix}.vasp done 批量输出带隙值 for i in ls * do echo -e "911\n"|vaspkit|grep 'Gap'|awk '{print $NF}' done 提取功函数值并写入FERMI_ENERGY.in文件中 value=$(vaspkit -task 927 | grep 'Vacuum' | awk '{print $NF}') sed -i "2s/.*/$value/" FERMI_ENERGY.in 确保在运行该命令时，当前工作目录中包含FERMI_ENERGY.in文件，并且具有写入权限。 如果您使用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.1.3.1版本已实现基于半经验玻尔兹曼输运理论计算输运性质，目前可输出electronic conductivity, Seebeck coefﬁcient, power factor 和electronic thermal conductivity等输运性质，后期将逐步改进输运性质计算模块。我们简述一下实现原理。根据玻耳兹曼理论, 电子的群速度可以表示为: v_{\alpha}(i, k)=\frac{1}{h} \frac{\partial \varepsilon_{i, k}}{\partial k_{\alpha}} 式 中, \varepsilon_{i, k} 第 i 条能带, 第 k 点处的能量本征值; \alpha 表示速度沿着 \alpha 方向。电导率张量可表示为: \sigma_{\alpha \beta}(i, k)=e^{2} \tau_{i, k} v_{\alpha}(i, k) v_{\beta}(i, k) 上式中, \tau_{i, k} 驰豫豫时间; v_{\alpha}(i, k) 、 v_{\beta}(i, k) 是群速度, 即漂移速度。一般情况下弛豫时间 \tau_{i, k} 与第 i 条能带和 k 矢量的方向均有关, 在常数驰豫时间近似下，\tau_{i, k} 可看做是一个与载流子能量无关的常数。虽然常数弛豫时间近似有局限性, 但是这种近似简化了载流子在材料内部的传输机制, 在载流子散射对能量和温度的依赖性小的情况下, 体系中所有的弛豫时间会与他们的平均值非常接近, 此时利用常数驰豫时间近似得到的输运系数较为可靠。而掺杂的浓度, 即载流子的浓度, 决定了费米能级的高低。一般情况下, 在掺杂浓度较低时, 掺杂的数目和种类对体系能带结构在能隙附近的影响可忽略, 此时只有费米能级会随着掺杂浓度的变化发生移动, 这就是所谓的刚性能带模型。在刚性能带模型近似下的电导率与输运分布函数有关，有 \sigma_{\alpha \beta}(\varepsilon)=\frac{1}{N} \sum_{i, k} \sigma_{\alpha \beta}(i, k) \frac{\delta\left(\varepsilon-\varepsilon_{i, k}\right)}{\mathrm{d} \varepsilon} 式中 \mathrm{N}是计算时 k 点个数。显然输运系数是关于化学势 \mu (费米能) 与温度 T 的函数, 对输运分布函数在整个空间内进行积分后, 可以得到半导体的各个输运参数: 其中电导系数可表示为 \sigma_{\alpha \beta}(T ; \mu)=\frac{1}{\Omega} \int \sigma_{\alpha \beta}(\varepsilon)\left[-\frac{\partial f_{\mu}(T ; \varepsilon)}{\partial \varepsilon}\right] \mathrm{d} \varepsilon 上式中 f(T ; \varepsilon) 为费米-狄拉克分布函数。在计算电导率过程中, 需要求得在 k 点的本征能量 \varepsilon_{i, k}, 而 \varepsilon_{i, k} 可以从材料的能带结构中获得。通过改变化学势 \mu 相对于能带的不同位置可求得载流子浓度。其他输运性质物理量如电子对热导率的贡献，塞贝克系数，功率因子的推导可参考文献Computer Physics Communications 175 (2006) 67–71。接下来以GaAs为例采用VASP+VASPKIT计算该材料的输运性质。 第一步：准备POSCAR和INCAR文件 准备POSCAR文件 Ga1 As1 1.0 4.0659928322 0.0000000000 0.0000000000 2.0329964161 3.5212530843 0.0000000000 2.0329964161 1.1737510281 3.3198692456 Ga As 1 1 Direct 0.000000000 0.000000000 0.000000000 0.750000000 0.750000000 0.750000000 INCAR文件为 Global Parameters ISTART = 1 (Read existing wavefunction, if there) ISPIN = 1 (Non-Spin polarised DFT) LREAL = .FALSE. (Projection operators: automatic) LWAVE = .TRUE. (Write WAVECAR or not) LCHARG = .TRUE. (Write CHGCAR or not) ADDGRID= .TRUE. (Increase grid, helps GGA convergence) Static Calculation ISMEAR = 0 (gaussian smearing method) SIGMA = 0.05 (please check the width of the smearing) LORBIT = 11 (PAW radii for projected DOS) NEDOS = 2001 (DOSCAR points) NELM = 60 (Max electronic SCF steps) EDIFF = 1E-08 (SCF energy convergence, in eV) 第二步：调用VASPKIT-681命令产生用于输运性质计算的KPOINTS文件，运行过程如下 -->> (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): 1.5453016192 -0.8921803058 -0.6308667443 0.0000000000 1.7843606116 -0.6308667443 0.0000000000 0.0000000000 1.8926002328 Reciprocal Lattice Constants: 1.8926 1.8926 1.8926 Real-Space Lattice Constants: 4.0660 4.0660 4.0660 Size of K-Mesh: 60 60 60 +---------------------------------------------------------------+ -->> (02) Written KPOINTS File! 注意输运性质计算需要极密的K点网格，推荐k-spacing < 0.005。 第三步：准备好VASP四个输入文件后执行VASP计算 第四步：准备用于计算输运性质的INPUT.in文件（注意VPKIT.in将被统一重命名为INPUT.in） 1 # 1 for gradient method with constant relaxation time approximation 3D # 2D for slab, 3D for bulk -2.0 2.0 # Minimum and maximum values of chemical potential with respect to Fermi energy 1000 # Number of intervals between the minimum and maximum chemical potential values 300.0 # Temperature (float type, in units of K) 1.0 # Relaxation time (float type, in units of s), Set 1.0 if you don't know the exact relaxation time 0.0 # Desired gap value in scissor correction (float type, in units of V), Zero means make no correction, available only non-spin-polarization calculation 1 # Finite difference method (integer type) 第一行目前只能设置为1，采用常数弛豫时间计算性质。最后一行的数字1表示用于计算群速度的差分方法：设置为1则采用f^{\prime}\left(x_{i}\right)=\frac{-f\left(x_{i+2}\right)+8 f\left(x_{i+1}\right)-8 f\left(x_{i-1}\right)+f\left(x_{i-2}\right)}{12 h}计算群速度；如果设置为2则采用f^{\prime}\left(x_{i}\right)=\frac{f\left(x_{i+1}\right)-f\left(x_{i-1}\right)}{2 h}计算。 第五步：调用VASPKIT-682命令计算输运性质，运行过程如下 ------------>> 682 -->> (01) Reading INPUT.in File... -->> (02) Reading Structural Parameters from POSCAR File... -->> (03) Reading Input Parameters From INCAR File... +---------------------------------------------------------------+ | >>> The Fermi Energy will be set to zero eV <<< | +---------------------------------------------------------------+ -->> (04) Reading Fermi-Energy from DOSCAR File... -->> (05) Reading Energy-Levels From EIGENVAL File... +-------------------------- Summary ----------------------------+ Chemical Potential Range (eV): -2.00 2.00 Number of Intervals: 1000 Temperature (K): 300.00 Relaxation Time (s): 0.10E+01 +---------------------------------------------------------------+ -->> (06) Calculating Boltzmann Transport Properties... Percentage complete: 25.0% Percentage complete: 50.0% Percentage complete: 75.0% Percentage complete: 100.0% -->> (07) Written ELECTRONIC_CONDUCTIVITY.dat File! -->> (08) Written SEEBECK_COEFFICIENT.dat File! -->> (09) Written POWER_FACTOR.dat File! -->> (10) Written ELECTRONIC_THERMAL_CONDUCTIVITY.dat File! -->> (11) Written CARRIER_CONCENTRATION.dat File! 我们的计算结果与Boltztrap程序计算结果非常接近，可进一步增加K点得到平滑的曲线。目前该功能仍需广泛测试，建议找测试体系与Boltztrap结果比较。 如果您使用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 中轨道投影能带反折叠功能在二维异质结中的应用案例
二维异质结，尤其是旋转二维异质结是近年来十分热门的研究方向，接下来我们演示如何应用VASPKIT 1.20及之后版本中的轨道投影能带反折叠功能计算二维异质结的电子结构性质。为了便于比较，我们重复了Matsushita等人关于MoS_2/graphene二维异质结能带计算的计算结果[10.1103/PhysRevMaterials.2.010801]，该模型由4\times4 MoS_2和5\times5 graphene单层所构成。 第一步，我们采用vaspkit-400建立MoS_2和graphene超胞，建议在两个不同的文件夹中操作； 准备好包含MoS_2原胞结构信息的POSCAR文件，vi TRANSMAT.in，然后输入 Read transformation matrix from the TRANSMAT.in file if it exists. 4 0 0 # must be three integers 0 4 0 # must be three integers 0 0 1 # must be three integer 运行vaspkit-400命令得到4\times4 MoS_2超胞。 准备好包含graphene原胞结构信息的POSCAR文件，vi TRANSMAT.in，然后输入 Read transformation matrix from the TRANSMAT.in file if it exists. 5 0 0 # must be three integers 0 5 0 # must be three integers 0 0 1 # must be three integer 运行vaspkit-400命令得到5\times5 graphene超胞。 第二步，建立异质结并进行结构优化，结果如下图所示： 第三步，建立BZ_graphene和BZ_MoS2文件夹，分别拷贝POTCAR、INCAR和POSCAR（异质结）及TRANSMAT.in文件到两个文件夹中。注意两个文件夹中的TRANSMAT.in不同，分别对应于生成4\times4 MoS_2和5\times5 graphene超胞的变换矩阵，然后分别运行vaspkit-281命令生成用于能带反折叠计算的KPOINTS；注意INCAR中必须设置LORBIT=10/11以及LWAVE = .TRUE.两个参数，NBANDS取值尽可能大一些，比如是总价电子数的一倍。 Global Parameters ISTART = 1 LREAL = .FALSE. PREC = Normal LWAVE = .TRUE. LCHARG = F ADDGRID= .TRUE. NBANDS= 432 Electronic Relaxation ISMEAR = 0 SIGMA = 0.05 NELM = 60 NELMIN = 6 EDIFF = 1E-07 IVDW = 10 LORBIT = 11 第四步，因为BZ_graphene和BZ_MoS2文件夹中的TRANSMAT.in不相同，产生的KPOINTS也会不同，因此需要执行两vasp计算； 第五步：计算完成后，在BZ_graphene和BZ_MoS2文件夹中分别执行vaspkit-284命令，分别得到每种元素能带反折叠后的轨道投影能带； 上图是能带反折叠到石墨烯布里渊区的轨道投影能带图，显然石墨烯反折叠投影能带符合的很好，但是MoS_2的反折叠投影能带贡献并不合理，部分原因是由于在石墨烯布里渊区反折叠后的K点并不沿着MoS_2能带路径。接下来再把超胞能带反折叠到MoS_2布里渊区，得到 这时发现MoS_2的能带是合理的，但是石墨烯的能带不真实，原因类似。显然，通过调用vaspkit软件执行轨道投影能带反折叠后，我们可以剔除掉不真实的反折叠能带贡献，只保留合理的部分，因此最终的结果如下图所示， 我们的结果也与文献Phys. Rev. Materials. 2 010801中的计算结果符合的很好。 如果您使用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公众号。