VASP光学与激发态:按目标选择操作流程
将普通光学、GW/BSE、TDDFT、约束态能差、XPS和XANES七条实算路线串成可操作的选择表。
阅读本篇目录
下载光学与输运操作路线对照包,保存为example.zip:
python3 -m zipfile -e example.zip .
cd vasp-optics-transport-routing
bash results.sh
bash read-plot.sh
附件集中提供14条路线的实际INCAR、POSCAR、KPOINTS,以及已完成的Si光学和Na链输运数值、CSV与绘图脚本。以上只读取数据、检查公式并画图;要重跑某条物理路线,请进入下表对应教程,下载其完整运行包,按前置计算顺序准备有授权的POTCAR及所需波函数。
Si普通光学及Na链接口实例使用VASP6.6.1,NVHPC25.3/CUDA12.8;Na链使用带Wannier90接口的构建,独立Wannier90为4.0.3、Intel oneAPI2024.2。GW/BSE等步骤以对应教程注明的平台和脚本为准,不能把所有算法都当成普通GPU静态计算。读取、绘图使用ASE3.29.0环境的Python/NumPy/Matplotlib。可用sbatch run.slurm将本附件的读取脚本提交到CPU队列:按整节点规则申请56核,脚本只用1线程,不会启动VASP。
1. 按要回答的问题选择方法#
| 要算什么 | 先做什么,再做什么 | 实际例子与完整教程 |
|---|---|---|
| 普通介电函数、折射率、反射率 | 结构→均匀k点SCF→空带与LOPTICS→复介电函数→光学量 | Si普通光学 |
| 准粒子能带与激子吸收 | SCF→Exact空带/WAVEDER→GW→匹配的BSE | Si GW/BSE |
| 线性TDDFT激发 | 同一基态与空带→Casida响应矩阵→激发和光谱 | Si Casida |
| 时间传播得到线性光学谱 | 同一基态/矩阵元→TIMEEV传播→傅里叶响应 | Si时间传播 |
| 两个约束电子态的垂直/绝热能差 | 两个态分别优化→在两套几何交叉计算→振动/ZPE | CO约束态能差 |
| 同种元素在不同环境的核能级位移 | 中性结构优化→初态核能级→相同元素相对差值 | 乙醇C1s |
| 核边吸收谱形 | 区分吸收原子→核空穴与额外电子设置→空带光谱 | 金刚石C K边 |
这些方法输出的量不同:DFT带隙、GW准粒子能差、BSE光学激发、约束两态总能差及核能级位移,不能放在一列中统称“激发能”而不标定义。
2. 以Si普通光学为起点#
cd inputs/si-optics
cat INCAR
cat POSCAR
cat KPOINTS
实际INCAR:
SYSTEM = si-optics
ENCUT = 550
PREC = Accurate
EDIFF = 1E-6
EDIFFG = -0.02
IBRION = -1
NSW = 0
ISIF = 2
ISMEAR = 0
SIGMA = 0.01
LREAL = .FALSE.
LASPH = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
NELM = 150
ALGO = Normal
ISYM = 2
LOPTICS = .TRUE.
NBANDS = 64
NEDOS = 2001
CSHIFT = 0.1
实际POSCAR:
Si
1.0000000000000000
5.4697545420682800 0.0000752682419777 -0.0007133744922079
0.0000810839199851 5.4685964116148069 0.0028333929771480
-0.0007213554544419 0.0028351706995701 5.4684284437402111
Si
8
Direct
0.0018597860216186 0.9991965068592746 0.0007351123688918
0.2520642837684631 0.2490052480191934 0.2507210281964479
0.0018674154628755 0.4990280339460809 0.5005666965309554
0.2516389595760761 0.7491658518295043 0.7506204251042908
0.5019792498569615 0.9989130080581210 0.5008589910270277
0.7516883646150170 0.2491561502319826 0.7506210909723278
0.5017587335098281 0.4990976534789621 0.0006734475073777
0.7516886617346156 0.7491648203041523 0.2506577537472285
Cartesian
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 0.0000000000000000
实际KPOINTS:
Gamma mesh
0
Gamma
9 9 9
0 0 0
均匀网格用于积分,不能换成画能带的高对称路径。NBANDS决定空带空间,CSHIFT决定响应展宽,NEDOS决定输出网格。它们都是需要检查的数值参数,附带值只属于这个Si例子。
在完整Si教程下载包里准备合法POTCAR后,用sbatch run.sh计算;电子收敛后读取vasprun.xml中标注为density-density的介电函数。不要随意拿XML最后一段响应替代指定数据。
3. 输出应该是什么样#

图使用已经完成的同一组Si数值:左侧ε₁、ε₂,右侧由同一复介电函数得到n、κ。读取脚本检查n²−κ²=ε₁、2nκ=ε₂及反射率公式。完整2001点数据在Si光学CSV。
本例约4.002 eV处ε₁≈−3.178、ε₂≈38.500,反射率约0.650。这里是普通独立粒子响应;间接吸收需要声子辅助,激子需要相应电子–空穴理论。不能因普通LOPTICS曲线在低能出现展宽尾巴,就当作已经计算了完整的实验吸收边。
4. 多阶段计算传哪些文件#
以GW/BSE为例,顺序始终是先基态、再空带、再GW、最后BSE。每一步分别保留目录:
cat inputs/si-manybody-scf/INCAR
cat inputs/si-manybody-exact/INCAR
cat inputs/si-gw-16qp/INCAR
cat inputs/bse-16qp-cpu-20261025/INCAR
自己新建计算时,从上一阶段复制匹配的WAVECAR、WAVEDER及该算法要求的屏蔽文件。不要混用不同晶胞、赝势、k网格或截断的文件;具体文件名、作业脚本和提取步骤见上表的完整GW/BSE教程。附带输入不包含这类私有大文件。
NELM=1在固定基态的Exact空带步骤或一次G₀W₀更新里有特定含义,不代表一般SCF只迭代一次就能接受。BSE涉及的能带必须覆盖在已有GW修正范围内。
5. 避免几种常见误读#
TIMEEV本例是在受限电子–空穴空间内求线性响应,不是任意强光场载流子动力学。CO例子比较NUPDOWN约束的两个自旋态,能差不能自动变成允许跃迁的吸收强度、寿命或发光效率。乙醇例子是初态相对C1s位移,不是带终态屏蔽的绝对XPS结合能。金刚石16原子核空穴例子比较96/160条带的谱形,空带检查不能替代超胞尺寸检查。
按问题选一条路线,先跑通小模型的输入→输出→提取,再检查本体系需要的网格、空带、超胞和方法误差。不要为了“升级方法”同时修改所有数值参数,导致无法判断变化来自哪里。