qvasp零点能与虚频结构修正
用真实水分子频率和NH3伞式虚频,说明ZPE提取、模式选择和结构偏移。
阅读本篇目录
这一篇回答两个不同问题:已有频率怎样提取零点能,存在虚频时怎样沿选定模式调整结构。示例来自鸢算科技集群实际VASP计算,使用qvasp2.26后处理。下载真实频率、模式及输入资料。
1 从实际频率输出提取ZPE#
在完成频率计算的目录中:
module load qvasp/2.26
qvasp -zpe
grep -E 'f =|f/i=' OUTCAR
原生ZPE按所有正频率的½hν求和。本例水分子输出约0.574473 eV,原始虚频也保留在频率表中,未裁掉或改成零。
分子频率中的平移、转动数值模式与真正的内部振动不同;不能只看最终ZPE数字而忽略结构、力收敛和模式性质。低频模式是否具有物理意义、是否要采用受限振动或不同热力学处理,取决于体系和研究目标。
如果出现明显化学结构相关的虚频,不能把不稳定构型当作稳定极小值直接套用全部谐振热力学公式。
2 NH3的真实伞式虚频#
本例把NH3构造成平面结构,在对称性约束下优化至原子力低于0.02 eV/Å,然后用IBRION=5、NFREE=2、POTIM=0.015 Å计算模式,EDIFF=1E-6。
其中约790.03797i cm⁻¹的模式使N与H向平面的相反侧运动,是有意义的伞式不稳定性;约1至2i cm⁻¹的小模式不能仅凭负号就当作同类化学不稳定性。
完整频率计算的关键输入为:
IBRION = 5
NSW = 1
NFREE = 2
POTIM = 0.015
EDIFF = 1E-6
ISYM = 0
3 明确选择需要的虚频模式#
原生 qvasp -zc会使用文件中的第一个虚频,不会弹出模式列表。本例第一个是数值小模式,因此先把选定的真实790i模式块明确摘出,保留原文件:
cp OUTCAR OUTCAR-full
cp selected-mode.txt OUTCAR
qvasp -zc
selected-mode.txt应是从自己的真实结果中选择的完整模式块,包含原子坐标和dx、dy、dz;不是只复制一行频率,也不是自己填一组向量。资料包已提供标明来源的实际模式摘录。输入系数 0.05后,新POSCAR为“模式块里的坐标+0.05×模式向量”,原POSCAR另存为 POSCAR-bak。
系数是针对该输出向量的位移比例,不是频率缩放,也不保证每个原子都移动0.05 Å。这个例子所有相关原子的x分量均非零,原生命令与独立坐标计算一致。对某原子dx恰好为零而dy/dz非零的模式,当前原生分支可能不移动该原子;应逐原子核对,必要时用ASE明确构造x+a·dx、y+a·dy、z+a·dz,不能只确认文件生成了就结束。
4 计算偏移前后的能量,再继续优化#
本例分别采用−0.05和+0.05,实际重新运行三个相同设置的单点计算:
| 构型 | 相对平面构型的能量/eV |
|---|---|
| 平面 | 0 |
| −0.05模式偏移 | −0.00616889 |
| +0.05模式偏移 | −0.00616883 |
两个方向能量均下降,与伞式不稳定性一致。

但两张偏移结构还不是已经收敛的稳定构型。接下来应将它们分别作为起点,以合适的对称性设置继续结构优化;优化后重新算频率,确认所关注的稳定性。能量下降不等于已经得到了反应势垒,也不等于找到了两个最终极小值。
5 恢复完整原始结果#
练习完成后保留模式摘录,恢复自己的完整输出文件,避免把局部摘录误交给需要其他数据的工具:
mv OUTCAR OUTCAR-selected-mode
mv OUTCAR-full OUTCAR
资料包的默认复跑只处理真实已有数值,不重新运行VASP,也不会把精选模式文件写成完整原始计算输出。