(一) DFT+U方法 (以ZnO为例)
氧化锌ZnO的实验带隙能量为3.3eV。 若如学习笔记(三)中,设:
则Octopus 会使用GGA泛函,所得能带结构如下:

带隙能量只有,显著低于实验值3.3eV。因此需要进行修正。
DFT+U的基本思路是将局域电子之间的强库伦相互作用写为一项类Hubbard项。 例如,对于ZnO这种过度金属氧化物来说,Zn的电子排布是 1 s22 s22 p63 s2s p63 d104 s2 1s^22s^22p^63s^2sp^63d^104s^2 1s22s22p63s2sp63d104s2, 局域电子例如3d电子轨道之间彼此会有很大的重叠,3d电子将会彼此靠近,这将会增强库伦相互作用项到不容忽视的地步,电子关联变得十分重要。而LDA和GGA无法正确描述这种情况。
DFT+U模型将这种相互作用以参数U和J进行描述,这种参数通常是半经验的,这里我们以文献 Phys. Rev. X 5, 011006(2015) 为参考,选定 对于Zn的3d轨道U=12.8eV,O的2p轨道U=5.29eV。
最终,DFT+U修正后的ZnO带隙能量为, 虽然仍小于实验值,但是相对于GGA已经有了很大改进。
代码注释: 指定使用经验参数的DFT+U模型进行计算,
而 可设定不使用DFT+U 方法。
指明 +U 所应用的轨道, 0,1,2,3 即 s,p,d,f 轨道。
表明所 +U 能量的大小。
(二) metaGGA泛函方法(以金刚石?为例)
同样,金刚石的实验带隙大小约为,如果使用 LDA泛函,则 得到带隙仅为 , 因此,使用更高阶的泛函 metaGGA 加以修正。 我们将要使用的metaGGA 叫 TB09, 是一种轨道依赖的泛函,它依赖于动能密度,然而在重启信息文件夹 restart 中并没有写入相应信息,所以 按照 上篇 所言的方法会 出致命错误(fatal error).
这意味这如果我们想要读取gs计算的重启信息来运行unocc计算,这两者需要有相同的波函数, 即k点的数量和态相同。
之前我们计算 gs 基态时,所设k为 :
然而进行非占据态unocc计算时,所设k为:
这就是 错的根源。
因此,对于gs计算,应同时加入两种k点取样方法,inp文件应该改为:
这样, unocc计算的inp文件为:
最终所得带隙能量为,比LDA效果好很多。
该方法不只对metaGGA生效,其他的杂化泛函,如果是轨道依赖的泛函,都需要注意这一点。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!