趙儀琳 劉鯤
摘要:在有機化學等領域,采用計算化學方法可以計算出相關有機反應的機理途徑等問題。文章介紹了使用LookForMECP,一種可以鎖定極小勢能面交叉點的量子化學計算程序,并著重對LookForMECP這種量子化學計算程序在操作、應用等方面做了詳細的介紹,LookForMECP程序將在計算化學領域中起到巨大的推動作用。
關鍵詞:極小勢能面交叉點MECP;兩態反應;計算
從量子化學的觀點來看,我們可以判定,許多化學反應都可以抽象為波恩奧本海默勢能面這類問題。分子體系,有可能在一個勢能面上行走,也有可能竄越在多個勢能面之間。在激發態化學中,在兩個勢能面交叉點處所具有的能量是最低。在低能壘過程中,從一個狀態到另一個狀態的過渡將發生在該能量最小的點附近。因此,這一點可以認為是非絕熱過程的“過渡態”。這一點稱為極小勢能面交叉點(Minimum Energy Crossing Point,MECP),對于一個兩態反應,必須找到位于不同自旋態的勢能面(Potential EnergySurface,PES)之間的MECP,以計算反應勢壘,對于竄越在不同自旋態間的體系,極小勢能面交叉點在動力學模擬及其反應過程的計算中,扮演著重要的角色,提供了進一步研究的可能。
1 LookForMECP計算程序的起源及應用進展
1985年,Koga和Morokuma等人發表了一種利用能量梯度,根據Lagrange-Newton方法來確定極小勢能面交叉點(MECP)的方法,用拉格朗日乘子將極小勢能面交叉點的能量降低至駐點,并使用Newton法結合來確定駐點。文中還給出了約束條件下的優化方法,并利用優化計算方法計算了尋找兩個三重激發態氯苯的極小勢能面交叉點。隨后,我們在研究預測[FeⅣO] (OH)2模型電子結構和極小勢能面交叉點的可靠性時,以Lagrange-Newton方法思想為基礎,自制了LookForMECP(版本1.0),并在計算中使用了自制程序進行處理。該程序的早期版本己成功用于搜索某些非過渡金屬反應系統的極小勢能面交叉點(MECP)。
Zhao等對O(3p)與異丁烯反應的理論研究中,經計算得到單重態和三重態的能量,能量梯度和Hessian矩陣,使用LookForMECP程序在UMP2/6-3llg**基組下,在交點處鎖定極小勢能面交叉點。
Zhao等對O(3p)與丙烯的絕熱、非絕熱反應路徑進行研究,發現該反應在三重態表面上開始,向丙炔的三鍵加成O(3p)形成酮碳烯CH3C-CHO*,各種反應通道從其中開放。且在初始三重態酮卡賓交叉成單重態后出現了形成C2H4+CO的非絕熱途徑。通過計算得出三重態和單重態勢能面上的反應路徑,并使用LookForMECP鎖定了兩態反應之間的極小勢能面交叉點。
Ling等對O(3P)+1-丁烯的反應機理研究中,發現當O原子加入到丁烯上,會形成兩種中間體IM1,IM2,這兩種中間體會在三重態時,通過極小勢能面交叉點轉化為單重態,并通過使用LookForMECP,以UMP2/6-31G基組鎖定位于單重態和三重態表面上的交點上的極小勢能面交叉點MECP1和MECP2。
以上幾年的研究表明,LookForMECP程序可以成功用于搜索某些非過渡金屬反應系統的MECP,雖然使用算法基組有所不同,但均是以Koga和Morokuma引入的Lagrange-Newton方法原理來鎖定MECP,相交與單重態勢能面與三重態勢能面之間的極小勢能面交叉點.具有與單重態和三重態相同的幾何形態和能量,這都證實著MECP在雙態機理研究中起著關鍵作用。
2 LookForMECP計算程序的操作編寫
近年來,我們對該程序在以上基礎上進行了很大的改善,增添了一些新的特色和性能,主要體現在初始結構猜測采用線性逼近法、Hessian陣的獲取上可以采用多種方法,可以每n步更新一次Hessian陣、設置矩陣調整有助于收斂。LookForMECP程序不僅可以應用于Windows操作系統,也可以應用于Linux系統,以下我們以Linux系統為例。
2.1 安裝monodevelop,指定程序路徑,根據目錄下的“.bashrc”文件需要重新編譯
#############################################################################
###########LookForMECP Configure###############################################################################################
alias lk= "mono /home/liuk/Soft/LookForMEC P.exe"###############################################################################
語句alias 1k=“mono /home/liuk/Soft/LookForMECP.exe”中的“lk”代表的是計算時調用該程序的代碼,可以根據自己的需要進行設定,可以為任意值。“mono”是計算的環境,“home/liuk/Soft/LookForMECP.exe”是程序安裝的目錄,用戶可以根據自己的使用情況進行設定。
2.2 編寫結構初猜文件guess.mecp文件
編寫結構初猜(guess)部分時,需要包括$Control控制部分和$Para參數部分。在$Control部分,需要指定一些重要的變量,首先是調用的計算程序“program”。由于我們的程序現階段只支持G09平臺,所以“program”只能為G09.在進行結構初猜的時候采用線性逼近法,即“guessMethod=lineApproximate”采用的方法是Lagrange-Newton方法簡寫為L-N。在初猜這步時,需要指明計算的類型,即“calTyp=guess”。$Para部分需要給定兩個不同的電子態,statel和state2以及收斂標準和最大循環次數。將guess.mecp文件和計算所需的.chk文件和.gif輸入文件放到一個目錄下,例如“examplel”。
2.3 運行
登錄Linux系統并進入到“example 1”目錄下,直接鍵入“1k guess.mecp&”回車即可計算。符號“&”表明在后臺運行高斯程序,這樣方便進行其他的操作。計算結束后,會自動生成一個臨時文件夾“tmp”存放計算過程中的所有輸入輸出和切割文件,初猜的兩個結構會以statel.gif和lstate2.gif形式自動生成在“examplel”目錄下,最終的計算結果自動保存為“Result.mecp”文件。
2.4 編寫結構優化opt.mecp文件
格式跟guess.mecp相類似,不同的是將計算類型“calTyp”設為opt,在$Para部分需要設定“guessHessian”的值,當前該程序支持3種方法來獲得和更新Hessian陣,分別為BFGS,Powell和Calc,用戶可以根據需要自行選擇。參數“isReadFirst”表示讀取第一步的力常數,通常設為“False”.在這部分可以設定步長“stepsize=n”(n可以為任意的正數),收斂限“optCriterianN=n”一般情況下n的數值為6或者7,代表的是10-6或者為10-7,“stepnumber”代表的是優化走的步數,其數值可以跟最大循環量“optCyc”的數值不一致。“convergenceCriterion”是收斂標準的判斷,如果要確保找到真正的“MECP”,就在計算中將其設為“global”,也可以不設定該參數,或者設為區域的。將opt.mecp文件和計算所需的.chk文件和.gif輸入文件放到一個目錄下,例如“example2"。
2.5 運行
登錄Linux系統并進入到“example 2”目錄下,直接鍵入“1k opt.mecp&”回車即可計算。計算結束后,會自動生成一個臨時文件夾“tmp”存放計算過程中的所有輸入輸出和切割文件,結構優化后的結果自動生成在“example2”目錄下,最終的計算結果自動保存為“Result.mecp”文件。
3 LookForMECP計算程序的相關細節
結構初猜過程并不是必須的,可以忽略直接進行結構優化,但結構初猜的使用,往往能夠得到一個好的初始結構和拉格朗日因子值;結構初猜編寫的參數部分中,電子態statel和state2的自洽場計算類型可以不一致;初猜結束后原有的.chk文件和.gif輸入文件均要備份,以防計算不正常終結,原文件依然存在可以繼續新的計算。結構優化編寫中,因為共有3種方法來獲得和更新Hessian陣,一旦選擇采用Calc來計算Hessian陣的時候,則意味著每計算一步就要做一次振動分析即“hessianIntervaIN=1”。
4 鎖定MECP實例操作:以激發態單重態與三重態的交叉為例(編寫應用及“Result.mecp”文件中結果部分)
4.1 編寫結構初猜文件
$Control
program=g09
guessMethod=lineApproximate
method=L-N
caTypl=guess coordinate=z-matrix
$End
$Para
statel=1_Al.gjfstate2=3_B1.gjf
scfTypl=HFTYP scfTyp2=HFTYP
guessCriterianN=6
guessCyc=100
$End
4.2 編寫結構優化文件
$Control
program=g09
guessMethod=lineApproximate
method=L-N
caITyp=opt coordinate=z-matrix
$End
$Para
statel=y5_1.gjf state2=y6_1.gjf
scfTypl=HFTYP scfTyp2=HFTYP
optCriterianN=6 optCyc=100
stepSize=1 stepNumber=200
guessHessian=BFGS hessianIntervaIN=1 convergence Criterion=global lagrangeLabuta=0.45434348929992
isReadFirst=false
$End
4.3 運行優化完成后的Result.mecp文件中的結果顯示
Result:
The Energy of the First State is:-231.307877027
The Energy of the Second State is:-231.307877381
The Energy Difference between the Two Statesis:3.54000007973809E-07
Result:
λ=0.944566275449646
5 LookForMECP計算程序的優勢發展
目前,我們已成功應用該程序找到一些體系的極小勢能面交叉點(Minimal Energy Cross Point, MECP)。本程序在鎖定MECP方面,使用方便,減省了時間與步驟,并且該程序有Windows和Linux兩個版本;可靠性高。在極小勢能面交叉點處,兩個態的梯度成比例作為了計算收斂的標準,避免了贗收斂;本程序采用Lagrange -Newton法,收斂速度快。在實際應用中隨著我們對計算能力的大幅增加,計算程序的大力發展,在將來的化學研究中,LookForMECP程序將扮演更加重要的角色。