VASP实战-DFT低估带隙的解决方案对比

大家好,时隔两年半(误),我又来更新专栏了,基于密度泛函的能带计算往往会因为电子的分数占据(这里太复杂,简单讲就是电子不可能即在这里又在那里,但密度泛函关心的是电荷密度,再加上交换关联项都是近似的,所以电子会出现分数占据的问题),而导致低估能带的问题,严重的甚至有可能将半导体误判成导体,所以这个问题该如何解决,一直是个令搞理论计算的人头大的问题,今天我们在仅使用VASP的基础上,以Si和TiO2为例,比较几种能带的计算方法,看看不同方法对带隙的计算结果,并评估一下计算成本,供大家参考。
首先来看Si的,这里直接上大招,直接对比GGA-PBE泛函和Hybrid-GGA杂化泛函的计算结果。Si带隙的实验值为1.12 eV,GGA-PBE泛函计算的带隙为0.6149 eV,杂化泛函为1.1942 eV,可以看到杂化泛函的带隙结果和实验值吻合的非常好。

那我们以后就都用杂化泛函就ok了嘛~然而呵呵,都说杂化泛函贵,到底有多贵?请看下图。

1000倍的计算时间,和接近4倍的内存需求,什么概念,如果计算一个稍微复杂一些的体系,GGA泛函需要花50元的机时费的话,杂化泛函就要50000元,这个开销让人难以接受。那怎么办,听说DFT+U也可以改善带隙计算结果,可以用吗?不可以,首先+U对带隙计算的改善来自于对GGA强相关作用描述差的改善,带隙变得更好只是加入了一个额外能量的副作用,其次给Si这样的主族元素+U,等着被审稿人骂吗。这里就引入一下metaGGA吧,metaGGA在GGA-PBE考虑电荷密度梯度的基础上,加入了动能密度项,在能量和能带计算上的精度更高,这里引入传说中的量子计算的Jacob天梯图,就一目了然了。

所以我们看一下采用metaGGA泛函计算的Si的能带和带隙。我这里直接采用mBJ泛函,mBJ泛函是传说中可以媲美杂化泛函的带隙计算精度的,当然了,出了名的难收敛,简单体系上百步都是正常的。看一下Si的带隙,1.4696 eV,嗯,有点高估,总比低估强,但是能带结构变得比较奇怪,和杂化泛函差别较大,这点没有深入考究过。个人认为mBJ带隙可以相信,能带结构还是要慎重考虑。

至于计算的开销,那是比杂化泛函小多了,大约是GGA泛函的20倍,如下图。


接下来看看TiO2吧,这里选的是锐钛矿型的TiO2,来看看过渡金属氧化物的计算情况。锐钛矿型TiO2带隙的实验值在2.22 - 3.42 eV之间,具体可以看这里:
这里也对Ti的d轨道+了一个2.0的U值,但是Ti本身并非强关联体系,所以这里仅为了演示效果,实际不推荐给Ti+U。计算结果如下,粗略画一下,没把高对称点标出来,不要学我。可以看到单独的GGA-PBE肯定是低估带隙了,并且+U确实有效果,带隙提高到了2.22 eV左右,mBJ对带隙的计算依旧发挥稳定,3.04 eV。还尝试了一下在mBJ的基础上再+U(有点邪门,但是确实可以这么操作),带隙继续提高到了3.44 eV,令人意外的是常用来矫正能量的SCAN和R2SCAN泛函也有一定改善带隙计算的能力,效果和+U接近,但是如果要在自己的体系用,还要小心测试。

做总结,metaGGA中的mBJ泛函确实对半导体带隙的计算有帮助,主族元素和过渡金属体系都可以用,并且相较于杂化泛函,成本低得多,就是mBJ经常会遇到收敛问题,假如你不幸遇到了,请参考这个文章,尝试用孙怀洋博士的微扰mBJ方法,就是严格对角化操作太吃内存了,大一些的体系512G内存轻松被爆掉,假如你又不幸遇到了,可以转投GGA+U的怀抱,也不失是一个好策略(你可能问会有这么倒霉的人吗,有的,比如,我的一个朋友……),此外用SCAN泛函做能带计算来说明带隙大小要慎重,毕竟并非大家都接受的方法。如需要帮助,请关注+私信,UP会尽可能帮忙,毕竟学校是用来摸鱼的,B站才是学习的地方。(完)