计算Band Structure

  • 预处理过程:需要准备一个单胞以及对应的K点路径(在不可约Brillouin区)。K点路径不是唯一的,所以不是必须选择所有高对称点,选择有代表性和重要的线即可。对于大尺度与高通量计算,存在着通过结构信息定义路径的规则。pymatgen和seeK-path提供了三维体系的解决方案。vaspkit包含1D,2D,3D材料生成K点路径的方案。

    pymatgen(https://pymatgen.org/)Computational Materials Science 49 (2010) 299–312. seeK-path(https://www.materialscloud.org/work/tools/seekpath)Computational Materials Science 128 (2017) 140–184.

  • vaspkit通过301、302、303生成1D,2D,3D材料的K点路径

    例如:$\ce{MoS2}$的K点路径生成

    • 准备$\ce{MoS2}$的POSCAR,由于vaspkit生成该K点路径需要基于一个标准单胞,所以必须先标准化POSCAR。对于2D材料,需要控制二维材料z轴坐标的中心在$|c|/2$。这一步可以通过vaspkit的921或923的功能实现。其流程(923)为先在Z轴上加上真空层,然后将2D材料放置在z坐标的中心。

    • 对于3D材料使用602功能生成标准的单胞

    • 之后做几何优化,再做单点的自洽计算获得CHGCAR

    • 在新的文件夹里面运行vaspkit302获得2D的K点路径(确认空间群)

    • KPATH.in包括了线模式的K点路径,将其直接复制成KPOINTS即可(默认插20个点)

    • HIGH_SYMMETRY_POINTS包含了所有高对称点的信息,vaspkit不能确保生成的路径一定对,需要对照seeK-path网站进行验证(https://www.materialscloud.org/work/tools/seekpath

    • 读取前一步的CHGCAR做单点计算

      案例文件如下:

      ##### initial I/O #####
      SYSTEM = MoS2  
      ICHARG = 11 
      LWAVE = .TRUE. 
      LCHARG = .TRUE.
      LVTOT = .FALSE.
      LVHAR = .FALSE.
      LELF = .FALSE. 
      LORBIT = 11 
      NEDOS = 1000 
      
      ##### SCF #####
      ENCUT = 500
      ISMEAR = 0 
      SIGMA = 0.05
      EDIFF = 1E-6
      NELMIN = 5 
      NELM = 300 
      GGA = PE 
      LREAL = .FALSE.
      PREC = Accurate
      
  • 后处理过程:

    • 计算后使用vaspkit的21功能

    • 使用211获得基本的Band Structure。如果有python和matplotlib库则可以自动输出band.png图像。(默认中Fermi能级被移到0 eV)

    • 共输出以下文件:BAND.dat,BAND_REFORMATTED.dat,KLINES.dat,KLABELS,BAND_GAP

    • BAND.dat`,`BAND_REFORMATTED.dat
      

      包含band的基本信息,可用origin打开

    • BAND_REFORMATTED.dat 第一列为K-Path信息,单位A.其余的列为每个band的能量

    • KLABELS储存每个高对称点的位置

    • BAND_GAP储存band gap 的信息

    • 对于212,213,214功能可以获得投影band structure。(Note:需要确保在INCAR中LORBIT = 10orLORBIT = 11使其输出投影band structure)

      • 212输出选定原子的band structure(此处可按元素名指定,如:C Fe 或 按元素编号指定,如:1-2)。vaspkit会输出这样两个文件:PBAND_A1.dat and PBAND_A2.dat.每列分别为每个轨道的能量,最后为total。
      • 213输出每个原子的band structure
      • 214输出选定原子投影band structure的总和(一般用于调查层状band和比较表面键与内部键)
  • 预处理过程(杂化泛函特化)

    • 除了line-mode的K点路径,vaspkit也生成K点间均匀取样的用于杂化泛函计算。这样的KPOINTS包含两个部分,一个和不可约布里渊区的K点一样,另一个是独立于K-PAth外的无权重的K点。

    • 步骤相似:

      • 几何优化:302/303生成标准化单胞,线状k-path,分数坐标的高对称点

      • 使用251功能生成杂化泛函用KPOINTS,输入KPT的绝对值决定SCF计算的k点采样密度以及band structure计算的k-path。读入上一步生成的KPATH.in自动生成KPOINTS。

      • (可选)基于新的KPOINTS做一个PBE SCF计算得到波函数,可被下一步读入,这样可以减少下一步杂化泛函计算时间

      • 做杂化泛函计算

      • 案例:

        • 优化后,运行302,将旧的POSCAR用新的PRIMCELL.vasp代替
        • 运行251,选择 (1) Monkhorst-Pack Scheme or (2) Gamma Scheme生成SCF所需的KPOINTS
        251
         -->> (1) Reading Structural Parameters from POSCAR File...
         ======================= K-Mesh Scheme ==========================
         1) Monkhorst-Pack Scheme                            
         2) Gamma Scheme                                     
        
         0)   Quit                                             
         9)   Back                                             
         ------------->>
        2
         +-------------------------- Warm Tips --------------------------+
         Input Resolution Value to Determine K-Mesh for SCF Calculation: 
         (Typical Value: 0.03-0.04 is Generally Precise Enough)
         ------------>>
        0.05
         Input Resolution Value along K-Path for Band Calculation: 
         (Typical Value: 0.02-0.04 for DFT and 0.04-0.06 for hybrid DFT)
         ------------>>
        0.05
         +---------------------------------------------------------------+
         -->> (2) Reading K-Paths From KPATH.in File...
         +-------------------------- Summary ----------------------------+
         K-Mesh for SCF Calculation:    7    7    1
         The Number of K-Point along K-Path 1:  22
         The Number of K-Point along K-Path 2:  13
         The Number of K-Point along K-Path 3:  26
         +---------------------------------------------------------------+
         -->> (3) Written KPOINTS File!
        

        Here, the resolution value of normal weighted K-Mesh and 0-weighted K-path is set to be 0.05. Output K-mesh for SCF Calculation: 7 7 1. And the number of k-points along each line of k-path: ΓΓ-> M : 22, M -> K : 13, K -> ΓΓ : 26.

        • 做PBE计算

        • 做杂化泛函计算:INCAR设置如下(细节参考http://blog.wangruixing.cn/2019/05/20/hse/)

          ##### initial I/O #####
          SYSTEM = Hybird Functional
          ISTART = 1 
          ICHARG = 1 
          LWAVE = .TRUE. 
          LCHARG = .TRUE.
          LVTOT = .FALSE.
          LVHAR = .FALSE.
          LELF = .FALSE. 
          LORBIT = 11 
          NEDOS = 1000
          
          ##### SCF #####
          ENCUT = 500
          ISMEAR = 0 
          SIGMA = 0.05
          EDIFF = 1E-6
          NELMIN = 5 
          NELM = 300 
          GGA = PE 
          LREAL = .FALSE.
          # PREC = Accurate
          # ISYM = 3
          
          ##### Geo opt #####
          EDIFFG = -0.01
          IBRION = 2
          POTIM = 0.2 
          NSW = 0 # no Geo_opt
          ISIF = 3  # 2 not optimize cell
          
          #### HSE ####
          LHFCALC = .TRUE. 
          AEXX   =  0.25        
          HFSCREEN = 0.2         
          ALGO = ALL # or Damped
          TIME   =  0.4
          
  • 后处理(对杂化泛函):

    • 使用252命令导出键数据BAND.dat and BAND-REFORMATTED.dat文件,高对称点的位置存在KLABELS。
    • 投影band structure和前面一样
  • 有效质量计算:

    • band structure近似:$E(\mathbf{k})=E{0}+\frac{\hbar^{2} \mathbf{k}^{2}}{2 m^{}}$于是可以得到$\frac{1}{m^{}}=\frac{1}{\hbar^{2}} \frac{\partial^{2} E}{\partial k{i} \partial k_{j}}$ 。vaspkit可以自动生成KPOINTS并计算有效质量(但目前只适用于不带电荷以及不含磁性的半导体体系)

    • 案例:$\ce{MoS2}$计算

      • 从band structure中找到带边,CBM和VBM均在K点

      • 选择位置做二阶导数:这里选择K -> M, K -> Γ计算电子与空穴的有效质量

      • 准备POSCAR和VPKIT.in:

        1        # "1" for pre-process (generate KPOINTS), "2" for post-process(calculate m*)
        6        # number of points for quadratic function fitting.
        0.015    # k-cutoff, unit Å-1.
        2        # number of tasks for effective mass calculation
        0.333333 0.3333333 0.000 0.000 0.000 0.000 K->Γ # Specified two K-points and direction
        0.333333 0.3333333 0.000 0.500 0.000 0.000 K->M # Specified two K-points and direction
        
      • vaspkit中运行912,输入K-mesh的参数,vaspkit会自动生成KPOINTS文件基于VPKIT.in文件(2-Gamma,0.04)

      • 提交vasp任务

      • 改变VPKIT文件第一行为2(post-process)重新运行913

  • 能带解折叠(band-unfolding)

    • 合金和缺陷材料经常需要用超胞计算,为了比较单胞与超胞的键计算,能带需要被解折叠为有效band structure

    • 例如:Graphene

      • 准备POSCAR

      • 准备KPATH.in(对于2D材料可用301/302/303)

      • 使用401创建2*2超胞,改SC221.vasp为POSCAR,创建一个新的VPKIT.in文件,在第一行输入超胞尺寸数据

        2 2 1
        
      • 运行281生成KPOINTS用于超胞计算(2,0.03)

      • 运行vasp

      • 运行282导出EBS.dat

      • 绘制图像

  • 3D Band Structure:

    • 选择一个面上的K点,计算这些K点上的能带能量
    • 例子:Graphene
      • 准备POSCAR(relaxed)和INCAR用于SCF计算(如第一节)
      • 运行231生成KPOINTS (0.015)
      • 提交vasp
      • 计算完后,运行232或233
      • 运行python VASPKITdir/examples/3D_band/how_to_visual.py得到图
  • Fermi面:

    • 其对应的物理含义为0K下,区分占据band与未占据band的面
    • 例子:Cu Fermi surface
      • 优化Cu结构,必须是单胞
      • 运行vaspkit输入261生成K点与POTCAR用于计算Fermi面(kPT~0.008)
      • 提交vasp任务
      • 运行262,生成FERMISURFACE.bxsf
      • XcrySDen

results matching ""

    No results matching ""