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