• 自行擬合基頻校正因子與ZPE校正因子的簡單方法

    自行擬合基頻校正因子與ZPE校正因子的簡單方法

    文/Sobereva  @北京科音 2017-Oct-6

    之前筆者在《談談諧振頻率校正因子》(http://www.shanxitv.org/221)中已經詳細介紹了量子化學中用的頻率校正因子的類型、用法,在《基頻頻率校正因子實際效果測試》(http://www.shanxitv.org/390)中也通過實例展現了頻率校正因子的價值。給出頻率校正因子的文獻和網址甚多,在http://bbs.keinsci.com/forum.php?mod=viewthread&tid=3805中有匯總。但是,隨著新的泛函、基組不斷提出,依然容易碰上所用的級別沒有對應的頻率校正因子的情況。雖然根據對頻率校正因子特點的理解,恰當借用其它級別的校正因子得到的結果也不會太差,但是終究不如擬合專用的校正因子來得優雅。本文簡單演示一下怎么自行擬合用于校正諧振近似下得到的基頻和ZPE的頻率校正因子。注意,擬合的方法并不唯一,訓練集也有很多不同選擇,不同的擬合方式得到的頻率校正因子可能差異達到0.1的程度,本文給出的是一種最簡單易行,而且耗時很低的做法。本文以獲得B3LYP/6-31G*的校正因子作為例子。

    1 擬合基頻校正因子

    首先我們需要準備個訓練集。我們直接用JCTC,6,2872(2010)中的F38/10數據庫,里面包含了15個分子的實驗諧振頻率(沒什么用)和實驗基頻頻率(即真實頻率):


    我們對這些分子,用Gaussian之類程序做優化和振動分析。注意其中N2O是N-N-O不是N-O-N。以下是筆者在B3LYP/6-31G*下計算的輸入輸出文件
    15mol.rar

    我們從輸出文件中把振動頻率提取出來,和實驗頻率一一對應上,類似這樣


    相應的excel表格見此:data.xls

    然后我們把數據拷到Origin里作為兩列,筆者用的是Origin 9


    然后選以下選項,把計算的諧振頻率作為X,把實驗頻率作為Y,進行線性擬合,并且要求截距為0


    從結果可見,頻率校正因子為0.960。擬合精度不錯,Adjusted R^2達到0.999。


    還可以雙擊頁面里的縮略圖放大觀看了解擬合效果。可見擬合出的直線和數據點匹配相當不錯。從ResIndp1的圖里可以查看對不同頻率擬合誤差情況。


    這里得到的頻率校正因子0.960和CCCBDB頻率校正因子庫(http://cccbdb.nist.gov/vibscalejust.asp)里的當前級別的校正因子0.960完全吻合!另外,也和很常用的JPC,100,16502(1996)里給出的0.9614相符很好,表明我們這種簡單易行的擬合方法是成功的。


    2 擬合ZPE校正因子

    在JCTC,6,2872(2010)中也給出了上面用到的15個分子的實驗ZPE值,稱為ZPVE15/10數據庫:


    下面我們用這個數據庫來擬合ZPE校正因子。擬合基本過程和上一節類似。在諧振近似下,不管是雙原子還是多原子分子,給每個頻率乘上校正因子后再計算體系的ZPE,和直接給體系的ZPE乘上校正因子的效果是等同的。因此,我們直接把量化程序輸出的ZPE與實驗ZPE做擬合就得到了ZPE校正因子。對應的數據就在上一節提供的表格里的第二個標簽頁里:


    使用第一節的方法,把這兩列數據拷到Origin里,做線性擬合,并要求截距為0,結果如下


    可見結果是0.9784。此數值和JCTC,6,2872(2010)中給出的此級別的數值0.977相符極好。


    順帶一提,以后筆者有時間時候可能還會寫個小程序,使得頻率校正因子的擬合可以一鍵完成,屆時用戶只需填寫計算級別就夠了。
    久久精品国产99久久香蕉