GPAW笔记(四)——GW计算
本文将简单介绍GPAW中的进行准粒子计算的G0W0
类, 并使用GWBands
类制作单层二硫化钼的能带结构图.
前言
无论是否自洽, GW计算都需要一组单粒子态作为输入, 这组单粒子态中需要包含大量的非占据态. 目前主流是采用Kohn-Sham DFT产生的Kohn-Sham本征态. 这里主要介绍非自洽计算情形, 此时GW结果受到输入影响.
为了得到包含较多非占据态的本征态一般有两种方法. 第一种是在基态计算中包含大量的非占据态, 这种情况电子步迭代效率低. 第二种是首先在较少非占据态下得到收敛的电子密度(电子密度只与占据态有关), 然后在固定电子密度下对角化Kohn-Sham单电子Hamiltonian. 对于局域和半局域泛函, 当电子密度固定时, 久期行列式就完全确定了, 一步即可得到等于基组数量的非占据态. 对于非局域泛函, 也只需要几步以收敛非局域势算符.
这里用的例子是单层二硫化钼. 首先用ASE构造二硫化钼模型. 晶格常数相比实验上体相稳定结构略有拉伸.
from ase.build import mx2 |
基态计算与对角化
关于基态和对角化计算已经在GPAW 笔记 (二)——DFT 自洽场与能带计算和GPAW笔记(三)——求解器对全哈密顿量对角化的影响中提及. 这里用了一个比较小的平面波截断以减小计算量. 而k值设的比较大. 若k太小, 后面用GWBands
作能带插值时VBM和CBM位置会出错.
from gpaw import GPAW, PW, FermiDirac |
GW计算
这里用包含4s4p的Mo PAW setup, 因此体系共有14+6+6=26个价电子, 在自旋非极化下有13个占据态, 因此价带顶的指标是12. 现在计算其前5个价带和导带.
from gpaw.response.g0w0 import G0W0 |
其中nblocksmax
设为True时GPAW将最大化响应函数chi0
的分块, 减小每个进程的内存消耗. 8进程测试的内存占用和GW总用时结果如下表, 开启nblocksmax
后预测的单进程内存消耗减小, 但是计算消耗时间更长.
nlocksmax |
Estimate Mem. per proc. (MB) | wall time (s) |
---|---|---|
True | 30 | 1923 |
False | 233 | 1429 |
truncation
和q0_correction
是针对低维体系的参数, 前者加快对于真空层厚度的收敛, 后者则是加快对面内布里渊区采样格点的收敛. 具体可以参考文献1和3.
参数domega0
和omega2
与频率积分有关. domega0
决定第一个频率点的位置, omega2
决定在何处倍增格点间距. 一般来说带隙越小, domega0
就要取得越小以对低频响应采样充分. 显然的, domega0
越小, omega2
越大, 频率格点数越多, 计算量越大. 目前这个设置可以使K点带隙收敛到2 meV以内.
作能带图
import pickle |
效果如下图. 可以很容易看到, 在不包含SOC情况下, PBE预测单层MoS2具有$\Gamma-K$的间接带隙, 而GW给出的是K上的直接带隙. 包含SOC会导致K点能带裂分, 在GW下进一步增大$\Gamma$点和K点VBM的能差.
另外值得注意的一点是CB在$\Gamma-K$上也有一个能量较低的态(在T=0.5K附近). 在DFT下$T_c$与$K_c$能量差肉眼可见, 而在GW尤其是包含SOC下, 这两个态基本是简并的. 考虑到对未占据态的自能修正为正值, 这说明$K_c$的自能修正要大于$T_c$. 定性分析上, $T_c$主要是Mo的$d_{x^2-y^2}$和$d_{xy}$在面内成键, 而$K_c$是Mo的$d_{z^2}$.(文献2) 后者较为定域, 从GW修正DFT离域误差的角度可定性理解.
参考资料
- Ismail-Beigi, S. Phys. Rev. B 73, 233103 (2006)
- Zhang, L.; Zunger, A. Nano Lett. 15, 949-957 (2015)
- Rasmussen, F. et al. Phys. Rev. B 94, 155406 (2016)
- Quasi-particle spectrum of two-dimensional materials - GPAW tutorial