本教程介绍基于VASP的 的完整 BSE 计算流程:以单层 MoSe2为例,从基态自洽场出发,经 GW 准粒子修正至 BSE 激子求解,最终通过VaspBandUnfolding的 bseplot 功能实现倒空间与实空间激子可视化。涵盖 INCAR 参数详解、关键文件生成逻辑及常见报错处理,适用于二维材料激子效应的入门级研究。
VaspBandUnfolding软件安装
下载链接
https://github.com/QijingZheng/VaspBandUnfolding/tree/master
安装依赖
pip install -r requirements.txt
# optional
pip install -r requirements-optional.txt
解压后安装
git clone https://github.com/QijingZheng/VaspBandUnfolding
cd VaspBandUnfolding
pip install .
或直接安装
pip install git+https://github.com/QijingZheng/VaspBandUnfolding
结构文件准备,POSCAR如下
Mo Se
1.00000000000000
3.3199999999999998 0.0000000000000000 0.0000000000000000
-1.6599999999999999 2.8752043405643399 0.0000000000000000
0.0000000000000000 0.0000000000000000 20.0000000000000000
Mo Se
1 2
Direct
0.6666666666666643 0.3333333333333357 0.5000000000000000
0.3333333333333357 0.6666666666666643 0.4164573917861947
0.3333333333333357 0.6666666666666643 0.5835426082138053
通过VASPKIT生成模版INCAR
图片
图片
默认INCAR,生成WEVACAR和CHGCAR,也可用来读取NBANDS
Global Parameters
ISTART = 1 (Read existing wavefunction, if there)
ISPIN = 1 (Non-Spin polarised DFT)
# ICHARG = 11 (Non-self-consistent: GGA/LDA band structures)
LREAL = .FALSE. (Projection operators: automatic)
# ENCUT = 400 (Cut-off energy for plane wave basis set, in eV)
# PREC = Accurate (Precision level: Normal or Accurate, set Accurate when perform structure lattice relaxation calculation)
LWAVE = .TRUE. (Write WAVECAR ornot)
LCHARG = .TRUE. (Write CHGCAR ornot)
ADDGRID= .TRUE. (Increase grid, helps GGA convergence)
LASPH = .TRUE. (Give more accurate total energies and band structure calculations)
PREC = Accurate (Accurate strictly avoids any aliasing or wrap around errors)
# LVTOT = .TRUE. (Write total electrostatic potential into LOCPOT ornot)
# LVHAR = .TRUE. (Write ionic + Hartree electrostatic potential into LOCPOT ornot)
# NELECT = (No. of electrons: charged cells, be careful)
# LPLANE = .TRUE. (Real space distribution, supercells)
# NWRITE = 2 (Medium-level output)
# KPAR = 2 (Divides k-grid into separate groups)
# NGXF = 300 (FFT grid mesh density for nice charge/potential plots)
# NGYF = 300 (FFT grid mesh density for nice charge/potential plots)
# NGZF = 300 (FFT grid mesh density for nice charge/potential plots)
Electronic Relaxation
ISMEAR = 0
SIGMA = 0.05
EDIFF = 1E-08
step2可跳过,step3即GW过程
Electronic Relaxation
ISMEAR = 0
SIGMA = 0.05
EDIFF = 1E-08
GW Calculation including LWANNIER90 TAG
ALGO = GW0
LSPECTRAL = .TRUE.
NOMEGA = 60
NEDOS = 2000
NELM = 1 (1-G0W0, 4-GW0)
NBANDS = (Take the same number of bands in the previous step)
# LWANNIER90 =.TRUE. (Switches on the interface between VASP and WANNIER90)
ALGO = GW0
指定执行 G0W0 计算(单次 GW 修正,不自洽更新 QP 能量)。
VASP 6.3+ 建议改用 ALGO = EVGW0,功能相同。
NELM = 1 GW 迭代步数。
LSPECTRAL = .TRUE. 使用全频域的 谱函数法 计算 GW 自能。
NOMEGA:频率网格点数。用于计算屏蔽库仑相互作用 W(ω) 的复频率积分。只在 GW 步骤必需,BSE 步骤保留此值以读取前一步的 WFULL 文件。
step4
Electronic Relaxation
ISMEAR = 0
SIGMA = 0.05
EDIFF = 1E-08
BSE Calculation
ALGO = BSE
NBANDSO = 4
NBANDSV = 4
ALGO: BSE
Bethe-Salpeter 方程求解器。进入 VASP 的 BSE 模块,求解电子-空穴对的本征值问题。
NBANDSO:BSE 活性价带数。4 = 包含最高 4 个价带参与激子形成。
NBANDSV:BSE 活性导带数。4 = 包含最低 4 个导带参与激子形成。
准备好KPOINTS和POTCAR
K-Spacing Value to Generate K-Mesh: 0.040
0
Gamma
12 12 1
0.0 0.0 0.0
在默认INCAR中添加
NBANDS = 144
LOPTICS = .TRUE.
ISYM = 0
NBANDS可先不加,或根据以往自洽OUTCAR中查找然后取2-5倍,完成计算后即可获得LOCPOT WAVEDER 和WAVECAR 等文件,
然后将INCAR.step3复制为INCAR,并加入
ISYM = 0
NBANDS = 144
然后运行GW计算,这一步会比较耗时,
图片
完成计算后,生成W.tmp和 WFULL.tmp文件,供BSE流程读取
图片
此时将INCAR.step4复制为INCAR,并加入
NOMEGA = 60
ANTIRES = 0
LHARTREE = .TRUE.
LADDER = .TRUE.
LTRIPLET = .FALSE.
LORBIT = 11
OMEGAMAX = 6
NBSEEIG=10
ISYM = 0
NBANDS = 144
LHARTREE:
包含 Hartree/exchange 项。这是电子-空穴交换相互作用(排斥项),源于 Pauli 不相容原理。
LADDER:包含直接相互作用(ladder 图)。这是屏蔽库仑吸引项,导致激子束缚。
ANTIRES:反共振项处理。0 = 仅保留共振项忽略反共振项,简化计算。
LTRIPLET:三重态激子开关。.FALSE. = 只计算单重态(singlet)。
OMEGAMAX:求解激子能量的上限, eV。
NBSEEIG:输出到 BSEFATBAND 的激子本征态数。10 = 前 10 个激子。没有这个参数 VASP 不写 BSEFATBAND。
然后继续执行VASP计算
图片
图片
图片
完成计算最后可生成BSEFATBAND文件,
使用bseplot 命令绘制第一布里渊区里的投影
bseplot bz --input BSEFATBAND --poscar POSCAR --exciton 1
图片
绘制实空间
bseplot realspace \
> --bsefatband BSEFATBAND \
> --wavecar WAVECAR \
> --poscar POSCAR \
> --exciton 1 \
> --hole 0.5,0.5,0.5 \
> --supercell '12 12 1'
图片
生成文件如下,
图片
使用VESTA打开
图片