VASP计算振动频率是判断优化结构是否真实稳定、分析红外与Raman光谱、计算热力学量(零点能、熵、自由能)的基础工具。一个结构优化收敛了,不等于它就是势能面上的局域极小——只有振动频率全部为正,才能下这个结论。

有限位移法 vs DFPT
VASP 里做振动频率,两条路:
有限位移法(finite differences):把每个原子沿着正负方向各挪一小步(通常 0.015 Å),分别计算单点能,用有限差分求 Hessian 矩阵。实现简单,对任何泛函都能用,包括杂化泛函。
缺点是计算量巨大。N 个原子要做大约 6N 次单点计算,一个 20 原子的小分子就是 120 次 VASP 运行。每次都要电子步收敛,代价不低。
DFPT(密度泛函微扰理论):直接算二阶导数,不需要有限位移。速度快得多,对中等体系(50 原子以内)优势明显。
限制是:VASP 的 DFPT 只支持 PBE 及其变种(PBEsol、RPBE 等 GGA 类泛函),不支持杂化泛函(HSE06、PBE0),也不支持 meta-GGA(SCAN、TPSS)。如果你的项目必须用杂化泛函算频率,只能走有限位移法。
VASP计算振动频率的实际选择策略
项目里选哪种方法,基本看三个因素:泛函类型、体系大小、是否需要声子谱。
实际经验:如果目的是”验证结构稳定性”,PBE 泛函 + DFPT 足够,0.01-0.02 eV 的精度差异不会影响”有没有虚频”这个判断。如果目的是”算红外强度做光谱比对”,需要杂化泛函或者至少做单点能校正。
声子谱计算流程
周期体系的声子谱(phonon dispersion)是另一回事,不能用孤立分子的振动频率方法。
标准流程是 VASP + Phonopy 组合:
用 VASP 做高精度自洽计算(PREC = Accurate, EDIFF = 1E-8)
生成位移超胞(Phonopy 自动完成)
对每个位移超胞做单点能计算
Phonopy 根据受力信息重建力常数矩阵
插值得到任意 q 点的声子频率
这个流程里最容易出问题的地方是超胞大小。声子相互作用是长程的,超胞太小会让声子频率偏软,尤其是光学支。一般规则:超胞边长至少是被研究原子间最大相互作用距离的 2 倍。对离子晶体,这可能意味着 4×4×4 的超胞,对应上百个原子。
红外与Raman活性
VASP 本身不直接输出红外或 Raman 强度,需要后处理。
红外活性:与偶极矩对原子位移的导数有关。VASP 可以通过 DFPT 算出 Born 有效电荷(LEPSILON = .TRUE.),再结合振动模式,用 Phonopy 或 v_sim 算红外强度。
Raman 活性:与极化率对原子位移的导数有关。VASP 不算这个,需要用 Gaussian 或其他支持 Raman 强度计算的程序,或者在 VASP 里用有限位移法算极化率(实现成本高,不常用)。
实际项目里,如果目的是”和实验红外光谱比对”,用 VASP + Phonopy 算红外强度已经够用。Raman 一般交给 Gaussian 做,或者用实验数据倒推。
常见坑
虚频的来源不一定是结构问题。 有时候是泛函本身的系统误差(PBE 会系统性低估低频模),有时候是计算精度不够(EDIFFG 设太松)。先提高收敛标准(EDIFFG = -0.01),再做一次频率计算,看虚频是否消失。
有限位移法的步长要测试。 默认 0.015 Å 适合大多数情况,但对轻元素(H、He)可能太大,对重元素(Au、Pt)可能太小。步长测试做一次(0.005. 0.01. 0.015. 0.02 Å),选频率变化 < 5 cm⁻¹ 的步长。
杂质浓度对声子谱的影响。 掺杂体系的声子谱对超胞中杂质原子的位置很敏感,特殊 k 点可能不够,需要用更密的 k 点网格或者做 k 点收敛测试。
计算成本与精度平衡
VASP计算振动频率的计算量,在项目规划阶段就要预估进去。一个 30 原子的分子,用 PBE + DFPT,在 32 核上大约需要 2-4 小时。同样体系用有限位移法,同样硬件配置可能要 1-2 天。
杂化泛函的频率计算,基本是按周为单位来规划的。不是不能做,是要提前让项目组知道这个时间成本。
精度方面,PBE 对振动频率的系统偏差在 20-50 cm⁻¹,对轻振动模式(< 500 cm⁻¹)的相对误差可能到 10-20%。如果项目对频率精度要求高(比如要做同位素效应分析),SCAN 或者杂化泛函是必要的。
VASP计算振动频率不是”跑一个功能”这么简单,方法选择、收敛标准、后处理方式,每一步都会影响最终结论的可靠性。前期把这些都想清楚,后期解释结果时才不会被动。