vasp计算光学,是每一个想用第一性原理把材料的光吸收、介电响应和反射行为说清楚的人,迟早要正面刚的一块硬骨头。我刚入行那会儿,跟着教程把 Si 的能带算完就以为光学性质顺手能出,结果拿 LOPTICS 跑出来的介电函数曲线锯齿一样抖,吸收边跟实验差了将近一个 eV,当时整个人是懵的。后来才明白,vasp计算光学难的从来不是打开那个开关,而是你给的空带数、k 点密度和矩阵元到底够不够把电子的竖直跃迁讲清楚。

光学性质连接着材料的电子结构和它的可见行为——吸收边在哪、是不是透明的、反射率多高,直接决定它在光伏、光催化、光电探测器里能不能用。做光催化的人要算带边位置判断能不能吸收可见光;做透明导电氧化物的人要压住可见光区的吸收同时保住红外反射;做钙钛矿的人要搞清楚为什么稍微一改组分发光颜色就变。可以说,vasp计算光学这件事,直接决定了你对材料”见光反应”的判断是定性猜还是定量算。很多新手把光学当成能带的附属品,能带对了就以为光学对了,等到吸收谱对不上实验,才发现两者对 k 点和空带的要求根本不在一个量级。更现实的是,审稿人对光学数据的容忍度很低——矩阵元缺失、k 点稀疏导致的假峰,很容易被一条意见打回来。我见过最惨的一个案子,一篇光伏文章只给了独立粒子吸收谱就投稿,审稿人直接要求补 BSE 激子修正,返工了整整两个月。所以光学不是能带的赠品,它是独立的、对收敛极其挑剔的一门活。
VASP 在 LOPTICS=.TRUE. 时,会在自洽基础上计算频率依赖的介电函数虚部 ε₂(ω),它由所有满足动量守恒(竖直跃迁)的能带间跃迁贡献:ε₂ 正比于对占据态 i 和未占据态 j 的求和,权重是两者的能量差 ħω 与跃迁矩阵元 |<j|p|i>|²。关键认知在这里:能带只告诉你”能级差多少”,光学矩阵元才告诉你”跃迁发生的概率多大”,两者缺一不可。独立粒子图像下(不带激发效应),ε₂ 的积分加上 Kramers-Kronig 变换就得到实部 ε₁,进而推出吸收系数 α(ω) 和反射率 R。所以光学收敛比总能难得多:总能用 4×4×4 的 k 点可能就够,光学往往要 10×10×10 甚至更密,因为矩阵元对 k 空间的采样极其敏感,稀疏采样会把一条平滑的谱切成锯齿。还有一个容易被忽略的点:LOPTICS 给的是独立粒子近似的介电函数,不含电子-空穴相互作用(激子)。对大多数无机半导体这够用,但对有机分子、二维材料和卤化物钙钛矿这类强束缚激子体系,吸收边会被明显低估,得上 BSE(在 GW 准粒子能级基础上解 Bethe-Salpeter 方程)。我一般先把独立粒子谱和实验对上,确认不是参数问题,再决定是否值得为激子峰付出 BSE 的机时。
我刚学光学那阵子,最大的误区是以为”能带收敛了光学肯定收敛”。结果 Si 的能带用 4×4×4 的 k 点就挺平,光学却要到 12×12×12 才稳——因为能带只看能级位置,光学还看能级间跃迁矩阵元对 k 的梯度,对采样密度敏感得多。这个认知差,让我前两个体系都白跑了。现在我教新人的第一句话就是:光学收敛和总能收敛是两件事,千万别用总能的 k 点去将就光学。
空带数是第一道坎。默认 NBANDS 只够占据态加一点点,而光学要算占据→未占据跃迁,空带必须显式拉高,常见做法设 NBANDS 为默认值的 3–5 倍(比如 64 原子体系设到 128 甚至 256),否则高能区的吸收直接被截断。k 点要密,且建议用 tetrahedron 方法(ISMEAR=-5)配合 Bloechl 修正,比 Gaussian 展宽得到的谱更干净。INCAR 里 LOPTICS=.TRUE.、LWAVE=.TRUE.(要波函数算矩阵元)、PREC=Accurate、NEDOS 调大让谱平滑、CSHIFT 控制洛伦兹展宽(太小锯齿、太大压平峰)。关于宏观介电常数,我习惯开 LPEAD=.TRUE. 用有限差分计算电子极化对宏观介电张量的贡献,比默认的线性响应在低能区更稳;光学计算的对称性 ISYM 我会设成 0 或 2,避免高对称性把某些矩阵元错误地约化掉而丢峰。我早年算 TiO₂ rutile,NBANDS 没加够,3 eV 以上的吸收整个被砍平,还以为是泛函问题,白白换了一轮 HSE06 才回头看空带。
第一步,结构充分优化(ISIF=3),晶格和离子都弛豫到位;第二步,静态自洽计算,开 LOPTICS 和 LWAVE,NBANDS 拉高,k 点加密到光学收敛;第三步,从 OUTCAR 或 vasprun.xml 提取介电张量,各向同性材料取对角平均;第四步,后处理画 ε₁、ε₂、α(ω)、R(ω),找吸收边和特征峰;第五步,若用 PBE 带隙偏小导致吸收边整体蓝移不足,可加 scissor 算子把带隙拉伸到实验值附近,或上 GW 修正。我后来养成一个习惯:先用粗 k 点跑一遍看谱形,再阶梯式加密直到峰位稳定,这样既不浪费机时又能确认收敛。对二维材料还要留意层间真空和偶极修正,否则 ε₂ 会出现非物理的漂移。金属体系则要额外处理自由载流子的 Drude 带内项,低能尾巴用合适的 CSHIFT 稳住,否则红外区的 ε₁ 会失真。收敛测试我也给具体数值:ENCUT 在推荐值上多取 30%,k 点从 6×6×6 阶梯加密到 12×12×12,确认吸收边位置稳定在 0.05 eV 以内才采用——这一步看似啰嗦,却是后面所有谱形结论的地基。
还有一个实战细节值得单独说:二维材料和平板体系的光学,一定要开偶极修正(LDIPOL=.TRUE.)并保证真空层足够厚,否则长程库仑相互作用会在真空方向产生非物理的偶极场,把 ε₂ 整体拉歪。我算黑磷时第一次没开,吸收边直接漂了 0.2 eV,加了偶极修正和 20 Å 真空才稳住。这类”看不见的坑”往往比参数本身更耗时间,却最容易被忽略。
Q1:谱线锯齿状抖动?k 点太稀或 CSHIFT 太小,先加密 k 点。 Q2:高能吸收被砍平?NBANDS 不够,拉到 3–5 倍默认。 Q3:吸收边和实验差很多?PBE 带隙系统性偏小,用 scissor 或 HSE06/GW。 Q4:各向异性材料怎么看?分别取 xx/yy/zz 分量,别只取平均。 Q5:ε₂ 出现负值?k 点网格或对称性处理异常,检查 KPOINTS 与 ISPIN。 Q6:二维材料谱有漂移?加偶极修正和足够真空层。 Q7:要不要考虑激子?独立粒子图像不含激子,强束缚激子体系要上 BSE。 Q8:低频介电异常?LPEAD 没开或 ISYM 太高,打开 LPEAD 并用低对称性重算。 Q9:金属红外尾巴失真?Drude 带内项未处理,单独测不同 CSHIFT 确认稳定。
讲一个具体的坑:有次算一个钙钛矿吸收边,PBE 给的吸收 onset 比实验低了快 0.5 eV,我一开始想靠加空带解决,加了 256 条还是没动——这才意识到是带隙本身的问题,不是矩阵元的问题。加上 scissor 把带隙从 1.6 eV 拉到 2.1 eV 后,吸收边立刻贴住实验。从那以后我分清了两件事:谱形不对查 k 点和空带,边位不对查带隙。另一个常被忽略的点:光学矩阵元对结构极其敏感,键长差 0.02 Å 就会让峰位整体偏移,所以光学计算的输入结构必须比总能计算更”较真”。再说一个细节:反射率 R 在吸收边附近会出现类金属的异常峰,这是 ε₁ 过零导致的,不是 bug,我交付时一定在图注里标注清楚。
回过头看,vasp计算光学并不神秘,难的从来不是打开 LOPTICS 那个开关,而是把空带数、k 点密度和带隙修正这条链路想周全。我现在的习惯是每接一个光学体系,先跑收敛测试确认谱形稳定,再谈带隙修正,基本一次出可信光谱。如果你手上的吸收谱总对不上实验,多半是前面空带或 k 点的基础没打牢,与其盲目换泛函,不如回到矩阵元本身重新审视。把”带隙定边位、矩阵元定强度、k 点定平滑”三件事钉死,吸收谱和反射率才敢往文章和器件设计里写。这些年我交付的光学结果,没有一篇是只看谱形就签字的——空带、k 点、带隙、矩阵元四张检查单全过,才敢交给合作者拿去发文章。如果你也常被审稿人挑光学数据的毛病,多半是前四张单子里有一张没打勾。这些年我交付的光学结果,没有一篇是只看谱形就签字的——空带、k 点、带隙、矩阵元四张检查单全过,才敢交给合作者拿去发文章。
cp2k第一性原理计算
CP2K模拟计算
CP2K模拟计算
castep计算吸附能:Materials Studio里的表面建模与能量收敛复盘
CP2K计算能带:大体系电子结构模拟的混合基组方案
能带理论计算:固体能带结构的DFT模拟方法与工程应用
CP2K计算能带:混合基组DFT方法在周期性体系中的实战应用
CP2K分子动力学模拟详解:大体系加速策略与GPW方法实战