比普通频率校正方法更好的幂律校正的介绍以及在Multiwfn中绘制振动光谱时的使用

比普通频率校正方法更好的幂律校正的介绍以及在Multiwfn中绘制振动光谱时的使用

文/Sobereva@北京科音   2026-Sep-25


0 前言

在《谈谈谐振频率校正因子》(http://sobereva.com/221)中我曾介绍过量子化学研究中的振动频率的校正因子的概念,不了解相关知识者应当先看看此文。其中说了,由于谐振近似带来的误差以及计算级别自身对势能面描述的误差,通过对谐振近似下理论计算出的频率进行校正来尽量消除系统性误差,可以得到与实验更相符的基频频率,这种做法极度流行。本文说的理论计算的频率都是在谐振近似下得到的,实验频率都是指实验振动光谱测出来的基频频率。最常用的校正方法可以称为均匀缩放(uniform scaling),即所有计算出的振动频率乘上事先拟合好的统一的校正因子,这个非常简单的校正方法对于减小系统性误差有显著效果(纯泛函除外,因为对这类泛函拟合出的频率校正因子很接近1)。这种做法相当于假定对于不同范围的频率,理论计算的频率相对于真实频率的高估百分比是基本一样的,但现实中却并非如此。因此也有人对低频、高频频率分别拟合了不同频率校正因子以更好地校正不同范围的频率,但低频-高频的划分显得比较任意,原理上不够理想。还有更高级的频率校正方法,比如Pulay提出的scaled quantum mechanical方法、Grimme提出的element mass scaling方法等,北京科音中级量子化学培训班(http://www.keinsci.com/KBQC)里讲振动分析的一节里对它们都做了介绍,但实现相对复杂,用得很少。如今还有靠机器学习改进频率计算精度的,但应用面太窄,还成不了气候。

在J. Chem. Theory Comput., 22, 9039 (2026)里作者全面考察了他们之前提出的一种新的频率校正方法,称为wavenumber power scaling (WPS)或power law scaling,中文可以叫做幂律校正,本文专门说一说。之所以我写本文介绍它,在于我认为这个方法比较有价值,效果明显好于均匀缩放,且实现起来特别简单、普适性强,有望完全取代均匀缩放的地位,也因此我将它实现在了Multiwfn的绘制光谱的功能中。

下文第1节介绍一下幂律校正是怎么回事,第2节示例一下在Multiwfn绘制振动光谱时怎么用这个方法。


1 幂律校正方法的特点

幂律校正极为简单,校正后的频率ν和量子化学程序直接算出来的谐振频率ω之间的关系如下。可见这种校正只需要λ1和λ2两个拟合参数。相对于均匀缩放校正,此方法多了一个位于指数部分的λ2而已。

幂律校正比均匀缩放有不小改进,前述的JCTC文章中给出了下图,体现了在不同基组下用B97泛函计算一批小分子共894个频率经过均匀缩放(黑色)和幂律校正(红色)后的平均绝对误差,可见幂律校正表现更好,结合好一些的基组时平均绝对误差才十几波数。

下面具体说一些幂律校正的特点和使用要点,一些是原文里的信息,一些是我的个人看法。

• 幂律校正相对于均匀缩放的改进程度和基组有很大关系,如在较大的6-311+G(2d,p)下改进大,很小的6-31G*下改进小,上图已经清楚体现了。通过结合较大基组,幂律校正可以达到比均匀缩放明显更高的精度上限。
• 对于均匀缩放,弥散函数对频率校正因子和校正后的精度影响甚微,对于幂律校正来说也一样。通过对比JCTC文中幂律校正下aug-cc-pVTZ和cc-pVTZ、aug-pc-2和pc-2、def2-TZVPD和def2-TZVP的数据都可以看出这一点。此文给出的频率校正因子种类本来就很有限,考虑的基组大多还都是带着弥散函数的,实在挺迷惑。大家实际计算时完全可以把弥散函数去掉以显著节约opt freq任务的时间,并直接使用文中给出的带弥散版本基组的校正因子。
• 无论是均匀缩放还是幂律校正下算基频,6-31G*都是能用的基组的下限,用def2-TZVP都可以得到更好的结果。使用DFT结合幂律校正时,根据文中的数据,def2-TZVPPD可以达到最高精度,但实际上用明显更便宜的def2-TZVP和它的结果也没啥区别,因此追求精度时建议用def2-TZVP结合幂律校正。
• 文中测试了一堆泛函,发现用幂律校正时B97(注意此文中用的B97是Q-Chem里的杂化版本)、B97-1、τ-HCTHh表现最佳。但这几个泛函相对冷门,我不建议考虑。我建议在用幂律校正时还是用特别经典和流行、审稿人都认识的B3LYP做opt freq任务,在此文的测试中B3LYP仅逊于上述泛函一丝。
• 幂律校正相对于均匀缩放的改进程度和理论方法有关,例如对wB97XD改进小,对HF没改进,对B3LYP改进挺明显,这在文中图1中直观体现了。值得一提的是,均匀缩放对于纯泛函的校正因子非常接近1,因此基本无法对纯泛函计算出的频率进行改进。而幂律校正对纯泛函也可以起到明显改进,这一点充分体现出幂律校正内在比均匀缩放更为合理。文中发现纯泛函KT3用均匀缩放时计算频率的精度远不如B3LYP,而用幂律校正后二者的精度相仿佛。
• 不一定对所有体系的所有振动模式幂律校正比均匀缩放结果都更好,也有个别反例。如文中发现对于萘的第9振动模式,幂律校正后的误差比均匀缩放的误差更大。
• 如前述博文http://sobereva.com/221所述,均匀缩放对于对于计算基频、计算不同热力学校正量都有不同的最适合的校正因子。而对于幂律校正,用基频校正因子还是用专为不同热力学量计算拟合的校正因子,得到的热力学量几乎都一样,因此没必要专门拟合用于不同情况的校正因子。这进一步体现幂律校正的内在合理性好于均匀缩放。而且文中发现用幂律校正结合基频校正因子得到的热力学量就已经轻微好于均匀缩放结合专为热力学量计算而拟合的校正因子了。

对于最常用的B3LYP,文中在补充材料里给了结合不同基组的幂律校正的校正因子和误差统计,如下所示,可见搭配def2-TZVP时误差是最小的,带弥散函数完全多余。PS:如果对乱加弥散函数的害处还认识不足的话,好好看《谈谈弥散函数和“月份”基组》(http://sobereva.com/119)。


2 在Multiwfn中绘制振动光谱时使用幂律校正

Multiwfn具有非常灵活强大的绘制各种光谱的功能,在《使用Multiwfn绘制红外、拉曼、UV-Vis、ECD、VCD和ROA光谱图》(http://sobereva.com/224)中有很详细的介绍和示例,没看过的话先仔细看看。原先Multiwfn已支持对不同范围的频率设定不同的均匀缩放因子,而从2026.8.21版开始,Multiwfn还支持了在绘制各种振动光谱时使用幂律校正以得到更好结果。Multiwfn可以在官网http://sobereva.com/multiwfn免费下载,不了解Multiwfn者建议阅读《Multiwfn FAQ》(http://sobereva.com/452)。

这一节绘制下图所示的2-甲基环氧乙烷的红外光谱,在B3LYP/def2-TZVP用Gaussian 16做优化和振动分析,相应的输出文件可以直接从这里下载:http://sobereva.com/attach/780/2-methyloxirane.7z。

启动Multiwfn,载入2-methyloxirane.out,然后依次输入
11  //绘制光谱
1  //红外光谱
14  //设置频率校正因子
1.17656,0.974839  //B3LYP/def2-TZVP级别下的幂律校正的λ1和λ2参数

之后可以选0直接在屏幕上预览光谱,也可以选1把光谱保存成图像文件(建议用pdf格式保存)。得到的光谱如下所示

以下表格对比了原始谐振频率、用均匀缩放校正后的频率(用了对应的0.959校正因子)、用幂律校正后的频率,以及两种方式校正得到的频率的差异(可以看到中等频率差异相对最大)。

幂律校正也可以在Multiwfn绘制其它类型振动谱(Raman、VCD、ROA)时使用,都是按照http://sobereva.com/224说的方法绘制,并在绘制界面选择14并输入λ1和λ2参数即可。