APP下载

LookForMECP:计算极小势能面交叉点的程序

2018-09-10赵仪琳刘鲲

现代盐化工 2018年2期
关键词:势能程序结构

赵仪琳 刘鲲

摘要:在有机化学等领域,采用计算化学方法可以计算出相关有机反应的机理途径等问题。文章介绍了使用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程序将扮演更加重要的角色。

猜你喜欢

势能程序结构
《史记》类传结构论
给Windows添加程序快速切换栏
简化化学平衡移动教学程序探索
“程序猿”的生活什么样
势能的正负取值及零势能面选择问题初探
当型结构与直到型结构的应用
英国与欧盟正式启动“离婚”程序程序
物质结构规律归纳
“动能和势能”“机械能及其转化”练习
半包围结构