美文网首页
二维材料的HSE+SOC的计算

二维材料的HSE+SOC的计算

作者: 光头披风侠 | 来源:发表于2020-12-22 16:20 被阅读0次

    这里主要讨论一下用vasp对二维材料的hse+soc对能带剪刀操作的过程。

    1. 结构优化

    我们对材料Ag2Br2进行结构优化,结构与优化的参数如下:


    image.png
    • 进行了分步优化,下面为最后一步的优化参数
    SYSTEM = stepOpt6
    NPAR = 4
    ALGO = Normal  # Fast;Normal
    LREAL = .FALSE.
    #LPLANE = .TRUE.
    PREC = Accurate
    #AMIN = 0.01
    #ISYM = 0
    
    ##2_INIT_input
    ISTART = 0
    ICHARG  = 2
    
    ##3_ELECTRON
    NELM = 200
    NELMIN = 5
    EDIFF = 1e-6
    ISMEAR = 0
    SIGMA = 0.05
    #LMAXMIX = 4
    ENCUT = 600
    ISPIN =1 
    
    ##4_IONS
    NSW = 200
    IBRION = 2
    POTIM = 0.5
    ISIF = 3
    EDIFFG = -0.001
    ADDGRID = .TRUE.
    
    ##5_Kmesh
    KSPACING = 0.189
    
    ##6_Output
    LWAVE = .False.
    LCHARG = .False.
    LORBIT = 11
    
    ####optB86-vdw####
    GGA = MK
    PARAM1 = 0.1234
    PARAM2 = 1.0000
    LUSE_VDW = .True.
    AGGAC = 0.0000
    

    2.自洽(即输出波函数和电荷密度)

    ##1_system
    SYSTEM = stepOpt6
    NPAR = 4
    ALGO = Normal  # Fast;Normal
    LREAL = .FALSE.
    #LPLANE = .TRUE.
    PREC = Accurate
    #AMIN = 0.01
    #ISYM = 0
    
    ##2_INIT_input
    ISTART = 0
    ICHARG  = 2
    
    ##3_ELECTRON
    NELM = 200
    NELMIN = 5
    EDIFF = 1e-6
    ISMEAR = 0
    SIGMA = 0.05
    #LMAXMIX = 4
    ENCUT = 600
    #ISPIN =1 
    
    ##4_IONS
    NSW = 0
    IBRION = -1
    POTIM = 0.5
    ISIF = 2
    EDIFFG = -0.001
    ADDGRID = .TRUE.
    
    ##5_Kmesh
    #KSPACING = 0.189
    
    ##6_Output
    LWAVE = .True.
    LCHARG = .True.
    LORBIT = 11
    
    ####optB86-vdw####
    GGA = MK
    PARAM1 = 0.1234
    PARAM2 = 1.0000
    LUSE_VDW = .True.
    AGGAC = 0.0000
    
    #### Add Parameters ####
    LVHAR = .True.
    

    3. pbe的band计算

    • band计算的时候根据高对称点自己线性插值生成高对称路径k点
    SYSTEM = stepOpt6
    NPAR = 4
    ALGO = Normal  # Fast;Normal
    LREAL = .FALSE.
    #LPLANE = .TRUE.
    PREC = Accurate
    #AMIN = 0.01
    #ISYM = 0
    
    ##2_INIT_input
    ISTART = 1
    ICHARG = 11
    
    ##3_ELECTRON
    NELM = 200
    NELMIN = 5
    EDIFF = 1e-6
    ISMEAR = 0
    SIGMA = 0.05
    #LMAXMIX = 4
    ENCUT = 600
    ISPIN =1 
    
    ##4_IONS
    NSW = 0
    IBRION = -1
    POTIM = 0.5
    ISIF = 2
    EDIFFG = -0.001
    ADDGRID = .TRUE.
    
    ##5_Kmesh
    #KSPACING = 0.189
    
    ##6_Output
    LWAVE = .False.
    LCHARG = .False.
    LORBIT = 11
    
    ####optB86-vdw####
    GGA = MK
    PARAM1 = 0.1234
    PARAM2 = 1.0000
    LUSE_VDW = .True.
    AGGAC = 0.0000
    

    4. HSE+SOC(进入正题)

    由于PBE存在低估带隙的问题,因而需要考虑仅HSE的计算,另外在批量计算的时候,我们可能要引入SOC来保证计算的严谨性。
    但需要注意的是,即便对于我所计算的二维材料(仅有4个原子),当仍然面对该类计算相当耗费算力。不废话,直接说一些测试下来,必然对的点:

    1. k点会显著影响计算速度,大致呈现t_k = t_{k-1}^{{n_k}/{n_{k-1}}}的时间效率;
    2. 相同k点数下,读取用PBE得到的WAVECAR将节省~60-70%的计算时间(相较自己撒点);
    3. ENCUT对于计算速度也有较大影响需要进行测试
    4. 此类计算只需要读取WAVECAR(ISTART = 1)不需要读取(ICHARGE = 2)

    首先需要做一步带SOC的自洽计算:

    SYSTEM = stepOpt6
    NPAR = 4
    ALGO = Normal  # Fast;Normal
    LREAL = .False.
    LPLANE = .False.
    PREC = Accurate
    #AMIN = 0.01
    #ISYM = -1
    
    ##2_INIT_input
    ISTART = 0
    ICHARG  = 12
    
    ##3_ELECTRON
    NELM = 200
    NELMIN = 5
    EDIFF = 1e-6
    ISMEAR = 0
    SIGMA = 0.05
    #LMAXMIX = 4
    ENCUT = 325
    #ISPIN =1 
    
    ##4_IONS
    NSW = 0
    IBRION = -1
    POTIM = 0.5
    ISIF = 2
    EDIFFG = -0.001
    ADDGRID = .TRUE.
    
    ##5_Kmesh
    KSPACING = 0.4
    
    ##6_Output
    LWAVE = .True.
    LCHARG = .True.
    LORBIT = 11
    
    ####optB86-vdw####
    #GGA = MK
    #PARAM1 = 0.1234
    #PARAM2 = 1.0000
    #LUSE_VDW = .True.
    #AGGAC = 0.0000
    
    #### Add Parameters ####
    #LVHAR = .True.
    
    #### mbj ####
    #METAGGA = MBJ
    #LASPH = .TRUE.
    #LMIXTAU = .TRUE.
    
    #### mix wave####
    #IMIX = 1
    #AMIX = 0.2
    #BMIX = 0.0000001
    
    #### HSE ####
    #LHFCALC = .TRUE.
    #HFSCREEN = 0.2
    
    #### SOC ####
    LSORBIT = .TRUE.
    SAXIS = 0 0 1
    MAGMOM = 1000*0
    GGA_COMPAT = .FALSE.
    #---for slabs---#
    #AMIX = 0.2
    #BMIX = 0.00001
    #LSCALAPACK = .FALSE. 
    

    随后做能带剪刀操作:

    • IBZKPT文件负值为KPOINTS同时加入PBE计算的带边K点(不要忘了改一下k点总数[+2])

    下面给出测试结果的比较:

    测试材料:Ag2Br2 (4原子) ISTART = 1 ISTART = 1 ISTART = 0(自己撒点) ISTART = 0(自己撒点)
    ENCUT 325 325 325 600
    KSPACING 0.45 0.4 自己撒点(0.05*2\pi) 自己撒点(0.05*2\pi)
    K点数(不算带边k点) 16 25 13 13
    gap 2.8935 2.8913 2.9043 2.9096
    用时 3835.938 10405.274 8078.797 49828.280

    因而可以发现测试下来只需要用KSPACING = 0.45+SOC的自洽计算同时选取ENCUT = ENMAX*1.3就能保证计算。

    另外,需要注意的是在ISTART = 1 的计算中都出现了以下的问题,一开始尝试解决,但发现后来最后能算出来。在不读WAVECAR(ISTART = 0)的计算中不会出现,可能与WAVEACR的读取有关。

    image.png

    5. 其他问题

    对于收敛不了的情况,可以试试混合态密度的优化方式AMIX = 0.02 BMIX = 0.0000001
    当打开LHFCALC = .TRUE.时候,默认ISYM = 3,所以如果再不行,比如遇到如下问题,可以尝试ALGO = Damped

    WARNING: Sub-Space-Matrix is not hermitian in DAV           40   6.53599947936788
    WARNING: DENMP: can't reach specified precision  Number of Electrons is NELECT =   22.0000000008318
    1.25806886504639     Error EDDDAV: Call to ZHEGV failed. Returncode =  16 2  16
    

    相关文章

      网友评论

          本文标题:二维材料的HSE+SOC的计算

          本文链接:https://www.haomeiwen.com/subject/xwysnktx.html