Matlab在分子动力学中的应用——Matlab
实现的波包含时演化
第33卷第2期 2011年6月 湘潭大学自然科学
NaturalScienceJournalofXiangtanUniversity V0L33No.2 Jun.2011
Matlab在分子动力学中的应用 ——
Matlab实现的波包含时演化' 许继君,叶叶,闵存高
(泰州师范学院,江苏泰州225300)
【摘要】使用Matlab语言,通过数值求解含时薛定谔方程.计算了几种模型势(一维方势井,谐振子势,双井势)下的波
函数随时问演化过程.实践证明,使用Matlab语言处理波包的含时动力学问题,程序简洁而高效.所编制的程序具有酱适
性.只需稍作修改即可用于真实分子的含时动力学计算. 关键词:Matlab;波包;含时动力学
中图分类号:TP39文献标识码:A文章编号:1000—5900(2011)02—0108—04 ApplicationofMatlabinMolecularDynamics:
TheTime.DependentEvolutionofWavepacketviaMatlab XUJi-jun.Ye.MINCun-gao
(TaizhouTeachersCollege.Taizhou225300China) IAbstract
】
Thetime-dependentevolutionofwavepacketiscalculatedinseveralmodelpotential(suchasone
dimensionalbarrierpotential-hamonicoscillatorpotentialanddoublewellpotentia1)byusingMatlablanguage.It
isdemonstratedthatMatlabisapowerfullanguageforcalculatingthemoleculartime-dependentdynamics.Thepro?
gramisuniversa1.Useronlyneedalittlemodificationtocalculatetherealmoleculartime-dependentevolution.
Keywords:Matlab;wavepacket;time?dependentdynamics
化学反应,在波恩?奥本海默近似下,可以被描述为波包在势能面上的运动.波包在势能面上如何
随时间演化,能量在各振动模式问如何传递,波包在势能面的\马鞍点\如何选择通道以及各通道之间
的分支比,这些问题一直是分子动力学研究工作者关注的课题.因为对这些问题的解答,有可能敲开化
学家的终极梦想——\分子剪裁\的大门.尤其在飞秒激光成为化学家研究化学反应的工具后,人们真
的能够\看到\实时的波包运动,含时波包动力学的研究越来越炙手可热¨】. 含时波包动力学,归根到底,就是求解含时薛定谔方程: ..,,^^^2,2 ih:(,'),:+:一+. d£.Z,nZm
含时薛定谔方程的求解涉及的数学往往比较\高深\算法较为繁杂,算法的程序实现,调试也比较复
杂,这些对化学工作者尤其是实验工作者构成了较大的障碍.本文采用\草稿本式的计算语言\
选择一种较为流行的算法——分裂算符(splitoperator)方法,计算了波包的一维势垒穿透,波包在谐振
子势以及双井势中的运动.结果表明,Matlab把化学工作者从繁复的数学中解放出来,抓住物理思想核
心,程序编写高效,简单,是研究含时波包动力学的\利器\
本工作对从事量子力学,量子化学与结构化学的教育工作者也有参考意义.初学量子力学的学生往
往难于接受\物质波\几率幅\这些基本概念,并且会伴随诸如\波是如何部分反射部分穿透过去的\
这一类问题.而由于种种原因,学生在教材中接触到的多是不含时薛定谔方程,定态等概念.如果教师能
够让学生看到波函数的\真实\的运动,必能大大有利于学生摆脱固有的经典概念而加深对量子力学的 理解的.
?收稿日期:2010一I1—18
基金项目:江苏省现代教育技术研究立项课题(21033)
通信作者:许继君(1972一),男,江苏泰州人.博士,副教授.E-mail:jijunxu@gmail.eom 第2期许继君,等Matl~在分子动力学中的应用 1分裂算符方法(SplitOperator)
含时薛定谔方程的形式解是(t):(1):e—.,其中(')称为时间演化算符引,.为初 始波函数.若我们研究[0,t]时间范围内的波包演化,把时间轴用N个步长为At的格点表示,NAt=t.
则:u(t)=e-=f—-iHat/he-~A— vhe-iHat/h
,其中At内的时间演化算符e-舳',^一e-ffAt/he,此处近似 ,Y''瑚
是假设[,]可以忽略.为了减小[,]带来的误差,作如下处理:e出一
(e-i(vA以'e-i(')(e-i(ra'e-i(VA')=e-i(Va以'e''e州吃.总的时间演化算符可以表示为: e一'彬
=re一(以'e-'(rat/~)e一(以))fe-i(瞄'e~(rat/h)e一(以')…fe一(l/2'e-i(./^)e-i(以)1 =e一'('/2'tB-i(仡^)e一(瞄)e—(I/^)e—(t/)…e一(磁毛/)e—f(',e一'(al/)e一'(也以 .
(Iv一1)\
其中的势能含时演化算符e州)a:e一以m一作用于波函数,因为和()同处坐标空间,
Matlab在分子动力学中的应用——Matlab实现的波包含时演化
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)