105
Research of Calculation and Simulation 30 January 2010 | Vol 1 计算与模拟研究 www.emuch.net

计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation

30 January 2010 | Vol 1

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

2.1.5 Dimer方法

Dimer 方法是一种高效的定位过渡态的

方法。这个方法定义了由两个点 R1 和 R2

组成的一个 Dimer,能量和所受势能力(由

原始的势能面梯度造成受力,下同)分别为

E1和 E2、F1和 F2。两个点间距为 2ΔR,ΔR

为定值。这两点的中间点为 R,其受力

F(R)=(F1+F2)/2 。 Dimer 的 总 能 量 为

E=(E1+E2)/2。这个方法的每一步包括平移

Dimer 和旋转 Dimer两步。

旋转 Dimer:保持 R1、R2中点位置 R不

变作为轴,旋转 Dimer 直到总能量 E最小。通过推导可知在旋

转过程中,E 与 R点在 dimer 方向(R1-R2方向)上的曲率关

系 C是线性的,即最小化 E 的过程就是最小化 C的过程。所以

每一步的 Dimer 方向都是曲率最小方向,当最终 R收敛到过渡

态位置时,Dimer 就会平行于虚频方向。

平移 Dimer:Dimer 根据受力 F'移动 R的位置,结合不同方

法有具体步进方式,如 quick-win、共轭梯度法。当C<0(过渡

态或高阶鞍点的二次区域内),F'等于将 F(R)平行于 Dimer 方向

力的分量符号反转;当C>0(极小点二次区域内),F'等于 F(R)

平行于 Dimer 方向力的分量的负值,而没有垂直于 Dimer方向

的力,促使 Dimer 尽快离开这个区域。由于 Dimer的方向就是

曲率最小的方向,在过渡态二次区域内就是指虚频方向,在

Dimer 方法中 F'的定义使这个方向以受力相反方向移动以升高

能量,而其它方向顺着受力方向移动来最小化能量,可看出原

理上与 NR法相似。费时的计算 Hessian矩阵最小本征值以确定

提升能量方向的过程被旋转 Dimer 这一步代替了,仅需要计算

一阶导数。Dimer法对初始位置要求很宽松,并不需要在过渡

态二次区域内,若在极小点二次区域内就类似于后述的 EF 方法

沿着最小振动模式爬坡。如果在高阶鞍点二次区域内,只在曲

率最负的虚频方向沿着受力反向移动,在其它虚频方向上仍最

小化能量,而不会像 NR法收敛到高阶鞍点。

势能面上往往有许多鞍点,Dimer 方法还可以做鞍点搜索。

通过分子动力学方法给予 Dimer 一定动能,使之能够在势能面

上广阔的区域内运动,根据一定标准提取轨迹中的一些点作为

初猜,再执行标准 Dimer 方法就可以得到许多不同的鞍点。

Dimer 方法很适合双处理器并行,两个点的受力分别由两个处

理器负责,速度可增加将近一倍。

2.22.22.22.2基于反应物与产物结构的算法基于反应物与产物结构的算法基于反应物与产物结构的算法基于反应物与产物结构的算法

2.2.1 同步转变方法(synchronous transit,ST)

提供合理的初猜结构往往不易, ST 方法可以只根据反应物

和产物结构自动得到过渡态结构。“同步转变”这个名字强调的

是反应路径上所有坐标一起变化,这是相对于后面提到的赝坐

标法来说的(即只变化指定的坐标,尽管其它坐标优化后坐标

也会变化)。

ST 分为两种模型,最简单的就是 LST 模型 (Linear

synchronous transit,线性同步转变),这个方法假设反应过程中,

反应物结构的每个坐标都是同步、线性地变化到产物结构。如

果反应物、产物的坐标分别以向量 A、B表示,则反应过程中

的结构坐标可表示为(1-x)*A+x*B,x由 0逐渐变到 1代表反应

进度。注意 LST 并不是指反应中原子在真实空间上以直线运动,

只有笛卡尔坐标下的 LST 才是如此,在内坐标下的 LST,原子

在真实空间中一般以弧线运动。以LST 的假设,反应路径在其

所用坐标下的势能面图上可描述为一条直线,LST 给出的过渡

态就是这条直线上能量最高点(图 3的点 1)。 LST 的问题也很

显著,其假设的坐标线性变化多数是错误的,绘制在势能面图

上也多数不会是直线,故给出的过渡态也有较大偏差,容易带

两个或多个虚频。

比 LST更合理的是QST(quadratic synchronous transit,二次同

步转变),它假设反应路径在势能面上是一条二次曲线。QST 在

LST 得到的过渡态位置上,对LST 直线路径的垂直方向进行线

搜索找到能量极小点 A(图 3的点 2)。QST 给出的反应路径可

以用经过反应物、A、产物的二次曲线来表示,如果这条路径

上能量最大点的位置恰为A,则A就是QST方法给出的过渡态;

如果不是,则以最大点作为过渡态。若想结果更精确,可以再

对这个最大点向垂直于路径的方向优化,再次得到 A 并检验,

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

2.1.5 Dimer方法

Dimer 方法是一种高效的定位过渡态的

方法。这个方法定义了由两个点 R1 和 R2

组成的一个 Dimer,能量和所受势能力(由

原始的势能面梯度造成受力,下同)分别为

E1和 E2、F1和 F2。两个点间距为 2ΔR,ΔR

为定值。这两点的中间点为 R,其受力

F(R)=(F1+F2)/2 。 Dimer 的 总 能 量 为

E=(E1+E2)/2。这个方法的每一步包括平移

Dimer 和旋转 Dimer两步。

旋转 Dimer:保持 R1、R2中点位置 R不

变作为轴,旋转 Dimer 直到总能量 E最小。通过推导可知在旋

转过程中,E 与 R点在 dimer 方向(R1-R2方向)上的曲率关

系 C是线性的,即最小化 E 的过程就是最小化 C的过程。所以

每一步的 Dimer 方向都是曲率最小方向,当最终 R收敛到过渡

态位置时,Dimer 就会平行于虚频方向。

平移 Dimer:Dimer 根据受力 F'移动 R的位置,结合不同方

法有具体步进方式,如 quick-win、共轭梯度法。当C<0(过渡

态或高阶鞍点的二次区域内),F'等于将 F(R)平行于 Dimer 方向

力的分量符号反转;当C>0(极小点二次区域内),F'等于 F(R)

平行于 Dimer 方向力的分量的负值,而没有垂直于 Dimer方向

的力,促使 Dimer 尽快离开这个区域。由于 Dimer的方向就是

曲率最小的方向,在过渡态二次区域内就是指虚频方向,在

Dimer 方法中 F'的定义使这个方向以受力相反方向移动以升高

能量,而其它方向顺着受力方向移动来最小化能量,可看出原

理上与 NR法相似。费时的计算 Hessian矩阵最小本征值以确定

提升能量方向的过程被旋转 Dimer 这一步代替了,仅需要计算

一阶导数。Dimer法对初始位置要求很宽松,并不需要在过渡

态二次区域内,若在极小点二次区域内就类似于后述的 EF 方法

沿着最小振动模式爬坡。如果在高阶鞍点二次区域内,只在曲

率最负的虚频方向沿着受力反向移动,在其它虚频方向上仍最

小化能量,而不会像 NR法收敛到高阶鞍点。

势能面上往往有许多鞍点,Dimer 方法还可以做鞍点搜索。

通过分子动力学方法给予 Dimer 一定动能,使之能够在势能面

上广阔的区域内运动,根据一定标准提取轨迹中的一些点作为

初猜,再执行标准 Dimer 方法就可以得到许多不同的鞍点。

Dimer 方法很适合双处理器并行,两个点的受力分别由两个处

理器负责,速度可增加将近一倍。

2.22.22.22.2基于反应物与产物结构的算法基于反应物与产物结构的算法基于反应物与产物结构的算法基于反应物与产物结构的算法

2.2.1 同步转变方法(synchronous transit,ST)

提供合理的初猜结构往往不易, ST 方法可以只根据反应物

和产物结构自动得到过渡态结构。“同步转变”这个名字强调的

是反应路径上所有坐标一起变化,这是相对于后面提到的赝坐

标法来说的(即只变化指定的坐标,尽管其它坐标优化后坐标

也会变化)。

ST 分为两种模型,最简单的就是 LST 模型 (Linear

synchronous transit,线性同步转变),这个方法假设反应过程中,

反应物结构的每个坐标都是同步、线性地变化到产物结构。如

果反应物、产物的坐标分别以向量 A、B表示,则反应过程中

的结构坐标可表示为(1-x)*A+x*B,x由 0逐渐变到 1代表反应

进度。注意 LST 并不是指反应中原子在真实空间上以直线运动,

只有笛卡尔坐标下的 LST 才是如此,在内坐标下的 LST,原子

在真实空间中一般以弧线运动。以LST 的假设,反应路径在其

所用坐标下的势能面图上可描述为一条直线,LST 给出的过渡

态就是这条直线上能量最高点(图 3的点 1)。 LST 的问题也很

显著,其假设的坐标线性变化多数是错误的,绘制在势能面图

上也多数不会是直线,故给出的过渡态也有较大偏差,容易带

两个或多个虚频。

比 LST更合理的是QST(quadratic synchronous transit,二次同

步转变),它假设反应路径在势能面上是一条二次曲线。QST 在

LST 得到的过渡态位置上,对LST 直线路径的垂直方向进行线

搜索找到能量极小点 A(图 3的点 2)。QST 给出的反应路径可

以用经过反应物、A、产物的二次曲线来表示,如果这条路径

上能量最大点的位置恰为A,则A就是QST方法给出的过渡态;

如果不是,则以最大点作为过渡态。若想结果更精确,可以再

对这个最大点向垂直于路径的方向优化,再次得到 A 并检验,

计算与模拟研究

www.emuch.net

Administrator
附注
“Administrator”设置的“Marked”
Page 2: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

RCSRCSRCSRCS创刊词创刊词创刊词创刊词

隆重庆祝小木虫计算建版两周年暨建区一周年隆重庆祝小木虫计算建版两周年暨建区一周年隆重庆祝小木虫计算建版两周年暨建区一周年隆重庆祝小木虫计算建版两周年暨建区一周年

隆重庆祝计算模拟区区刊第一期正式出版隆重庆祝计算模拟区区刊第一期正式出版隆重庆祝计算模拟区区刊第一期正式出版隆重庆祝计算模拟区区刊第一期正式出版

ccccsfnsfnsfnsfn

时光荏苒,岁月无痕。日子一天一天溜走,不知不觉小木虫

计算就 2岁了。亲爱的朋友,你是否还记得曾经热闹霏凡的计算模

拟版,是否还记得曾经疯狂的 csfn、zzgyb、spur、lei0736、小红豆……

回首从前,我们曾经是莽撞少年,曾经度日如年,曾经年少

轻狂,如今我们已习惯坐卧远方的视角,看那激情演绎着平淡,素

然如流水;昨天,不知不觉,竟已成追忆。一幕幕流光异彩,一次

次不容错失,不经意中,我们已相伴走到如今。长江后浪推前浪,

现在一大批专业精湛、积极向上的新版主闪耀崛起,一如当年的我

们,这是计算模拟区不竭的动力。

2007年 12月 3日,wangyulnu宣布小木虫计算模拟版成立。

当时我满怀豪情的写下了这段贺词:

热烈祝贺计算模拟专版成立!借用一个虫子的说法“它是小木虫顺应时代发展的产物”。它的成立,将可能成为广大做计算,关注计算的虫子家园;必将使得广大做计算的虫子涌入小木虫,成为继大话西游-紫霞坛,清华材料版,厦大量化版,量化网等之后的又一个重要的网络聚集点,成为一颗冉冉升起的计算网络新星!也将更进一步促进小木虫成为名符其实的“学术第一论坛”!

此版的成立,凝聚了很多人的心血!首先感谢超版“wangyulnu”的大力支持,没有他的支持和指导,此版不可能在这么短的时间内正式成立!

其次我们要对 nanoeer,itismineok,tianmiao8287,fegg7502,along1980,csfn,小红豆等等虫子(未能统计到的请谅解^_^)致以最高的谢意,是他们在小木虫“新增版块”中发帖倡议成立计算模拟版块,而且一直不断呼吁。

我们版块的成立还得到了多位版主:darliu, xkw2005, duruo,zzgyb, alwens, atongmumu, liuliangying, bloveocean, zt970831, zjx121610,hezhi200512, buffaloli, flyczw, juhuaquan,小红豆……和荣誉版主flying123456, cometring,spatial……等的热切关注和支持,在这里致以最高敬意,你们在版主区,在论坛事务版所做出的支持,一定会让小木虫计算版版主和虫子们铭记于心。

同时在这里,向有奖问答的区长“不拘小杰”(zzgyb 和我的版主引路人),材料专区的区长“thinkingover”致以深刻感谢,他们两位都是优秀的论坛负责人,新版的成立,要从他们的紧缺的版主中调人,但是都得到了他们的热烈支持,小木虫能有这么大的发展原因之一,我想就是因为有大量像他们这样的大公无私的负责人。

我们还有很多未提及的但是最需要感谢的人,那就是一直以来在新版筹建中支持的,在各个分版关心计算,踊跃发帖的虫子,你们是计算版的基础,是计算版最可爱,最应该感谢的人!我们一起在外漂泊多年,现在我们的家园成立了!

最后热烈欢迎所有光临本版的虫子,欢迎大家常来计算专版!希望大家一如既往的关心支持计算版,共同建设我们的家园!

约一年后,2008年 11月 19日,emcuh宣布计算模拟区成立。

如今的小木虫科研工具和计算模拟区下辖 8大版块:科研工具,工

具求助,计算综合,量子化学,分子模拟,第一性原理,仿真模拟

和程序软件。小木虫的计算科学版块在业内已从一颗冉冉升起的新

星成长为一个特色鲜明,引人瞩目的网络论坛。众多优秀的版主和

专家顾问加入管理团队,而伴随着小木虫计算一起成长的众多虫子

已经获得硕博学位或出国工作和深造,越来越多的师弟师妹们正慕

名而来。

2009年 11月,小木虫计算迎来了她的两岁生日。我们开始

筹划属于小木虫计算模拟区自己的杂志《Research of Computationand Simulation》(RCS,投稿:[email protected])。同时,我们正在策

划一系列的活动,以纪念那曾经青春澎湃的时光,迎接这即将激情

燃烧的岁月。让我们用激情燃烧的,是那一如既往的,幸福的瞬间,

辉煌的情怀。

经过两个月的精心准备,在这春暖大地,万物复苏的明媚春

天里,第一期《Research of Computation and Simulation》( RCS)在

大家的共同关注下,栉风沐雨,破茧而出,终于和大家见面了!

RCS 创刊,可追溯到2009 年 10月 17日,时任分子模拟版版主的 yjcmwgk 提出的建议,联合几个计算专版进行一次精华资源整理活动。随后几天得到了诸多版主如 wuchengwf,fegg7502,dongdong3881,freshgirl 等的积极响应。基于全区版主的热情和响应,csfn 提议计算模拟全区八版参加,共同打造出一本区刊。随即在计算模拟区区长 csfn 的推动下,联系全区版主,由yjcmwgk 负责开始全坛区刊名的海选活动,短短三天内征集到 140多个刊名。经过全区版主投票,选出 10个候选刊名。最后在小木虫全站投票中,Research of Simulation and Computation(简称 RSC)以较大优势胜出。考虑到 RSC 为皇家化学会名,最后确定刊名为 Research ofComputation and Simulation(简称 RCS),刊物实行编委会聘任制。

我们知道,这是一份离成型都还很遥远的刊物。但是,我们仍然用激情的双手把它捧了出来,捧在手上的,还有一片热情洋溢的心!我们无意用它来哗众取宠,也无意用它来求取赞誉,更没有想过任何功利!我们只想为做计算的朋友们提供一个网络交流平台。这是小木虫计算全体版主和编委会的心声,是我们为之努力的信念和孜孜不倦的追求。

RCS 的创刊,需要感谢 RCS 编委会全体成员以及小木虫计算版主的无私付出,感谢他们默默无闻为 RCS 的发展而努力。尤其作为负责期刊的常务副主编 yjcmwgk 付出了大量心血。

本刊的推出,让我们完全有信心为小木虫计算喝彩!小木虫

计算的全体版主和编委会全体成员,兢兢业业又热情奔放。为了计

模区的发展,他们无怨无悔的付出了艰苦细致的劳动。RCS 首刊顺

利推出,计算模拟区的发展壮大,离不开各位的辛勤劳作,离不开

全体成员的热忱和积极。我一直认为计算模拟领域博大精深,不是

几个版主区长的知识面所能包含。专业精湛、热情向上的版主和专

家顾问队伍才是真正的精英力量和版块的主导力量,小木虫计算的

广大热爱交流的虫友才是版块的强大基础。今天的小木虫计算,无

论从交流人数,资源数量,还是讨论数量和质量,都无愧于国内第

一。在此我谨代表小木虫高层管理团队,向你们致以最诚挚的感谢,

感谢你们的无私奉献和默默付出。

鲲鹏展翅九万里,水击三千任遨游。展望未来,我们信心百

倍。小木虫计算模拟已经两岁了,老朋友们,如果你们还在小木虫,

就让我们一起来追寻记忆深处,那一份不朽的遐思,与缘分的虚空

吧。新朋友们,如果你们希望交流,热爱科研,就请沿着我们的足

迹,来支持发展小木虫这个最淳朴的平民论坛吧。

Page 3: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Contents你算是合格的菜鸟吗你算是合格的菜鸟吗你算是合格的菜鸟吗你算是合格的菜鸟吗

yjcmwgk、yzclusterResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 1-2.

GaussianFAQ小木虫量子化学版虫友集体创作, yjcmwgk整理

Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 3-18.

耗散粒子动力学模拟简介耗散粒子动力学模拟简介耗散粒子动力学模拟简介耗散粒子动力学模拟简介

bay__gulf618Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 19-21.

Page 4: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

NAMD计算自由能计算自由能计算自由能计算自由能

bay__gulf618Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 22-26.

ATK双极系统建模注意事项双极系统建模注意事项双极系统建模注意事项双极系统建模注意事项

FreshgirlResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 27.

关于关于关于关于 A+B 生成生成生成生成 AB的反应能和相互作用能的区别与计算方的反应能和相互作用能的区别与计算方的反应能和相互作用能的区别与计算方的反应能和相互作用能的区别与计算方

式的解释式的解释式的解释式的解释

yjcmwgkResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 28.

Page 5: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Materials Studio中虚拟晶体近似的建模及应用中虚拟晶体近似的建模及应用中虚拟晶体近似的建模及应用中虚拟晶体近似的建模及应用

yjmaxpayne、identationResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 29-33.

量子化学的图形化表述量子化学的图形化表述量子化学的图形化表述量子化学的图形化表述

zhou2009Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 34-42.

电子密度差电子密度差电子密度差电子密度差ΔρΔρΔρΔρ深入计算一例深入计算一例深入计算一例深入计算一例:HClzhou2009Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 43-44.

Page 6: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

巧用巧用巧用巧用ME软件的软件的软件的软件的 bdl文件建立多分子模型文件建立多分子模型文件建立多分子模型文件建立多分子模型

Huiqing LanResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 45-46.

如何在如何在如何在如何在Materials Studio的的的的Dmol3模块中对体系施加约模块中对体系施加约模块中对体系施加约模块中对体系施加约束束束束

————————固定原子坐标,原子间距离、角度及二面角固定原子坐标,原子间距离、角度及二面角固定原子坐标,原子间距离、角度及二面角固定原子坐标,原子间距离、角度及二面角

JoannaoucResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 47-48.

酞菁及其衍生物作为太阳能电池敏化材料的应用酞菁及其衍生物作为太阳能电池敏化材料的应用酞菁及其衍生物作为太阳能电池敏化材料的应用酞菁及其衍生物作为太阳能电池敏化材料的应用

yjcwmgkResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 49-50.

Page 7: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

自由能的分子动力学计算自由能的分子动力学计算自由能的分子动力学计算自由能的分子动力学计算————————块体材料块体材料块体材料块体材料

wenhua luo、lei0736Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 51-57.

谈谈谈谈谈谈谈谈 5d/6d 型型型型 d轨道波函数与它们在高斯中的标识轨道波函数与它们在高斯中的标识轨道波函数与它们在高斯中的标识轨道波函数与它们在高斯中的标识

soberevaResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 58.

自由能计算自由能计算自由能计算自由能计算————分子模拟中的挑战之一分子模拟中的挑战之一分子模拟中的挑战之一分子模拟中的挑战之一

yzhhlq_1983Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 59.

做过渡态计算应该考虑的三件事做过渡态计算应该考虑的三件事做过渡态计算应该考虑的三件事做过渡态计算应该考虑的三件事

yjcmwgkResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 60.

Page 8: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

平面波计算方法中截断能、平面波计算方法中截断能、平面波计算方法中截断能、平面波计算方法中截断能、K点、以及晶格参数的确定点、以及晶格参数的确定点、以及晶格参数的确定点、以及晶格参数的确定

csfnResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 61.

过渡态、反应路径的计算方法及相关问题过渡态、反应路径的计算方法及相关问题过渡态、反应路径的计算方法及相关问题过渡态、反应路径的计算方法及相关问题

soberevaResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 62-77.

Page 9: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

谈谈原子轨道朝向引起的量化计算结果与经验观念的差异谈谈原子轨道朝向引起的量化计算结果与经验观念的差异谈谈原子轨道朝向引起的量化计算结果与经验观念的差异谈谈原子轨道朝向引起的量化计算结果与经验观念的差异

soberevaResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 78-79.

电子密度和密度差电子密度和密度差电子密度和密度差电子密度和密度差

zhou2009Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 80-81.

数值编程三语言的比较数值编程三语言的比较数值编程三语言的比较数值编程三语言的比较

senlia、hitzhangResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 82-83.

Page 10: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

格子方法计算正弦戈登方程格子方法计算正弦戈登方程格子方法计算正弦戈登方程格子方法计算正弦戈登方程

haixing2008Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 84-85.

Random resistor network implementation using MatlabhitzhangResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 86-89.

VASP 编译个人心得编译个人心得编译个人心得编译个人心得

verymanResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 90.

Page 11: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

量子化学研究应该怎么做量子化学研究应该怎么做量子化学研究应该怎么做量子化学研究应该怎么做

hairanResearch of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 91.

MS问答专栏问答专栏问答专栏问答专栏

小木虫第一性原理版虫友集体创作, identation整理

Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 92.

RCS主编主编主编主编 csfn采访录采访录采访录采访录

yurou1218Research of Calculation and Simulation, 2010, Vol. 1, No. 1, Page 93.

Page 12: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Article

你算是合格的菜鸟吗你算是合格的菜鸟吗你算是合格的菜鸟吗你算是合格的菜鸟吗

yyyyjcmwgkjcmwgkjcmwgkjcmwgk、yzclusteryzclusteryzclusteryzcluster谨以以下文字送给所有认为自己是菜鸟的朋友们。如果你想让自己懂点什么,请耐心看完全文,这些文字至少要花你一刻钟的时间去阅读和体会。如果你没

有一刻钟的连续时间,还是不要看了吧。

1111 你算是合格的菜鸟吗?

我是一个高斯交流群的群主,同时也是 N 个高斯交流群的

管理员。干的久了,就会有一些感慨——各位扪心自问,你算

是合格的菜鸟吗?

虽然从技术角度上讲其实很空洞,但我敢说,从思想上讲,

是很值得学习的。发这个帖子的原因,是因为看到很多群友已

经越来越“懂得学习”了,他们会大声呼喊“我的 gjf 为什么不

能运行?”,他们会高声喊道“2070是什么错误?”,然后过几

分钟还问“我的问题怎么没人回答啊”……这些事情让人很难

受,这些事很悲哀。

这里把以前发现的两种“经典”的例子让大家看看:

1111,“请问谁能提供Gaussian03Gaussian03Gaussian03Gaussian03的下载网址?”

他太懒了!要知道没有人会记得某个软件的下载网址,在

遇到他的帖子时给你回复。在别人心目中,他是个连搜索引擎

都懒的使用的人,完全只会依靠别人给他服务。他抱着一种“我

是菜鸟我怕谁,我想问谁就问谁”的心理。他能说别人不愿意

帮助他吗?不能,是他无药可救。也许他懂的很少,但他能找

到可学习的东西,他能找到学习的地方。因为搜索引擎提供的

功能是强大的。

2222,“[[[[求助]]]]如何计算NBONBONBONBO?一步一步讲,我很菜的。”

首先他的态度就有问题,一点也不积极主动。自己不善于

动脑筋。如果他从没用过 NBO,我可以告诉他,写输入文件---打开 Gaussian03---计算 NBO---分析输出文件。可他要“一步一

步讲”,试问,难道还要别人告诉他如何打开 GV画分子,如何

敲入 NBO的各个选项,甚至如何双击鼠标吗?他缺乏的是一种

善于思考的精神,他不自信、懒惰,他的头脑很僵硬。

针对以上两种人,我想说的是,他们所面临的问题不是如

何成为一名高手,而是如何先成为一名菜鸟。

不知道大家有没有发现,群里各种技术层次的用户都有,

越来越多的“菜鸟”都来凑热闹了。对那些一点技术基础都没

有,但态度端正的用户,我们很乐意帮助他们,我们会用自己

的努力让他的问题得到解决,但我们不会直接给他个答案(以

前是,但以后不会了),你需要的是掌握这一类问题的解决方法,

并从解决一个实际问题中领悟一些以前不知道的东西。我们会

尽力让大家找到一条适合自己的路,一种适合自己的学习方法。

让他们有机会成为菜鸟,并在成长中学到更多东西。

首先要学习的就是一本高斯入门书。我发现了,很多人连

高斯入门书都没看过就要用高斯计算自己的体系。这里我个人

推荐郭勇的《高斯使用指南》,很简单的一本书,完全就是为那

些一点高斯基础都没有的人准备的。其实,如果你的英文还行

(过了 6级的人肯定没问题),那就看看高斯公司自己出版的高

斯教材《Exploring Chemistry with Electronic Structure Methods》,

也是为那些完全没有一点高斯基础的人准备的。

此外,一定要学学群论。我个人推荐科顿的《群论在化学

中的应用》一书,完全就是为那些一点群论基础都没有的人准

备的。当然,你很可能要补一点数学知识,主要是线性代数。

原书是英文版,但是超星上有中译本。其实,如果你的英语已

经过了 6级,直接看英文版,问题也不是太大(这时,你遇到

的主要问题是专业术语问题而已,查查就懂了)

量子化学的入门书一定要读一本。徐光宪的《量子化学 :基本原理和从头计算法》就是极好的。

高斯公司出版的《高斯说明书》才是用高斯软件的终极教

程——试想,谁又能比高斯软件开发公司更了解高斯软件本身

呢?读完了郭勇的《高斯使用指南》,再读《高斯说明书》。

以上所有的资料都能免费下载,只要你有谷歌!而对于那

些连搜索引擎都懒的用的人,很可惜,他们连成为菜鸟的机会

都没有。技术是要不断向上发展的,高斯交流群不是养老院,

那些不求上进不思进取的人只会拖后腿,技术会放弃他们。

上了这么长时间的小木虫,混了这么长时间的高斯,你知

道什么叫“菜鸟”吗?什么样的人是菜鸟?问过自己这个问题

吗?

要有点基础的技术根基。如果连什么叫 “P21/c”什么是

“NtrExtl”都不知道的时候,没有人可以帮你解决一个需要通

过对称性、硬盘控制或内存定义来解决的问题,因为,就算别

人回答了你的问题,你能看懂吗?所以说,那些最基本的东西

是没有资格来问别人的,你只有自学。从那里学?从书上学 。

书从哪儿来?从搜索引擎来。连搜索引擎都懒得用的人,没资

格当菜鸟。

要有端正的学习态度。你不懂一个问题很正常,但你必须

先问问自己是否努力去寻找答案了。那些高手的知识从那里来

的?别人给灌进去的吗?一味只想依靠别人的人,没资格当菜

鸟。

其实,菜鸟就是那些懂得如何学习,善于总结,技术在不

断成长的初学者。

你不懂一个问题没关系,怕的是你连去学习这个问题的脑

筋都不想动,这样的话你就没救了。请记住,任何人都有权力

对那些无聊的/无用的/无知的问题说不!

群主,管理员都很辛苦,也是有自己的事要干的,群员们没

有义务来必须回答问题!! QQ群是一个交流的平台,不是

一个旧货市场。

在这里,我想告诉大家,任何时候,当你打算让别人帮助

你时,先问自己两个问题:

1111、70%70%70%70%的答案可以从高斯说明书里寻找到,我找了吗?

2222、在高斯说明书里没找到,我去搜索引擎找了吗?听说那

里可以找到 90%90%90%90%的答案。

如果你真的已经按照自己的思考结果去做了而没有找到答

案,再考虑寻求帮助。现在假设你自己努力了,而实在没有找

到答案,那么提问前,

再问自己两个问题:

1111、我有那些问题需要帮助?

2222、我把这些问题描述清楚,并给出足够判断原因的信息了

吗?

在提问时,你要注意什么?要注意的很多:

[1]不要出现错别字。

[2]使用合理的标点符号。

[3]合理的组织自己的语言。不要每写一句话就发送一句话,

这样很凌乱。

[4]预先向可能回答你的问题、看了你的问题,以及考虑你

问题的人道谢。

[5]问题解决后给出补充说明,并在可能的情况下对其总结。

[6]给出详细的信息(输入文件、错误信息、操作系统、症

状、前兆、已经进行过的补救措施……)

有人说我的这些文字可能会让一些朋友愤愤不平,我当然

知道,但无所谓。如果你是我说的那几种人,我照样看不起你,

你连当菜鸟的资格都不够,一辈子生活在量化科研界的最低层。

但是我不能随便就骂你们,我所能做的,只是不理你,最多把

你 T出群,让这个世界清静一些而已。

如果你已经仔细的看完了上面的文字,请给自己一点时间

1

Page 13: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1好好思考一下,我现在的水平是什么样的,我是一个合格的菜

鸟吗,我有资格当菜鸟吗?

2.2.2.2.什么才是高效

在我发了这个帖子之后,有位虫友给出了不同看法。原文如下:

其实这有一个时间的问题。

如果有一位好的老师,你的问题非常菜的话,他可以在几

分钟之内帮你解决掉,但是如果等你慢慢找资料,再慢慢读和

试,也许几天就过去了,哪一个效率更高呢?

我觉得这是许多虫友和群友的认识误区,因此我给出的回

信如下:

我个人认为你这样说是不对的,直接问别人,做的确实快,

但是这样学不到东西。

这里面其实有一个学习态度的问题。我在 QQ 群做群主/管理员的时候,有人问一个非常无知的问题(例如,他说自己的opt错误)我可以在 3 秒之内将 gdiis 或者 qc 或者 calcfc 等等各种

适当的选项加到他的#号命令行中去。然后他很高兴的把我给他

的新命令行敲进去,运行,opt正常结束,皆大欢喜!但是他什

么都没学到。这根本不是这位朋友在做课题,实际上是我在做

他的课题,至于我为什么加上 gdiis,他还是不懂。人都有惰性,

我发现如果我这样直接告诉他,很多人就根本不思考了。(这是

我领着师弟师妹入门 Gaussian的时候发现的一个严重问题。刚

刚发现这个问题的时候,我极其惊讶!)这样,他们就一辈子生

活在量化科研界的最底层。如果我做了这位朋友所说的那种“几

分钟内就替你解决了问题的好老师”,我不知道这样做算不算

“不负责任的老师/师兄/群主/管理员/斑竹”。至少,当初我的小

导师/师兄教我高斯入门的时候,就根本不告诉我具体操作,而

是遇到问题给我资料和指点,让我自己好好啃书。于是,我个

人感觉到:每遇到一个问题,我都有一次成长。

反过来,我如果告诉这位“opt错误”的朋友,让他去《高

斯说明书》好好读一下关于 opt关键字和 scf关键字的解释,尤

其是 gdiis\calcfc\calcall\qc\xqc……等这些参数的解释,再假设

说他听了我的话,花半天时间认真读了这些解释,他的收获比

我直接替他写一个 #号命令行要多得多——至少我是这么认为

的。

自己不动脑筋,完全依赖别人,这种人根本不是做科研的

料。也许在初期,这种“只问操作不问原理,只背命令行不深

究为什么这样写命令,把自己当成命令执行机”的人,学的貌

似快一些,但是,比起那种兢兢业业啃《高斯说明书》的人来,

只要一年,他们就不在一个档次了!

现在我也想与这位提出不同意见的虫友商榷一下:现在看

了我的回信,您还觉得“几分钟内就把问题解决”这种方法很

好吗?到底是“啃书”效率高,还是“直接告诉他命令行怎么

写”效率高呢?

我自己懂得也很少,我的知识欠缺也很严重,而且做课题

越多,发现自己不懂得东西也越多。我也会时常向导师、小导

师、虫友们和群友们求助。但是我个人的习惯是这样的:“请你

不要仅仅告诉我应该怎么做这个具体问题。我想知道,如果我

要弄懂这个问题,我应该看高斯说明书中那一部分内容?”如

果高斯说明书中的解释我没看懂,我会诚信请教“我发现我的

知识储备,在某某方面有欠缺,请您向我推荐一本书或者一些

文献,我要弄懂这个问题,谢谢您。”

我是个很笨的人。我不太会走捷径。我们这种笨人,只有

这种笨办法。那些聪明人的捷径,我们走不了,也不想走。提

出异议的这位朋友是专业研究化工的,而我是专业研究量子化

学的。也许是我们的立场不同,导致了看法不同。化工是工科,

讲求实效,注重问题的解决,实用味道很浓。而量子化学是理

科中的理科,是基础学科中的基础学科,所以科研味道很浓。

位置不同则立场不同,屁股决定脑袋.

3.3.3.3.屁股决定脑袋

当有些人显示出“排斥高斯说明书,不愿看高斯说明书”

的情绪,有的时候,有些人就会有人把这个帖子拿出来。这个

帖子是今年 6月写的。当我在今年 8月做实习版主,9月转正

之后,我的思维就有所转变了。我觉得有些时候需要对两种人

区别对待。如果你是真的想学习高斯,想用高斯,那么按照我

说的去做,肯定没错。如果你只是用高斯随便算点儿东西,并

不准备真的去用它,那就每走一步就问一步呗。反正以后也不

会再用到高斯了。

物理版和第一性原理版的专家顾问 yzcluster先生看了这个

帖子之后也发了些感慨。

不得不说,小卒版主的帖子中所说的情况是很多人搞科研

时容易(甚至是故意)犯的错误,我觉得同时也体现了科研中

“学”和“问”的关系,自己如何去学?如果遇到不会的问题

又怎么去问?这当中是很有学问的。

为什么会出现小卒版主所说的那些令人郁闷的情况?不客

气的说,第一个原因就是懒,什么东西都想依靠别人,只想坐

享其成,没有一点钻劲。第二个原因就是胆子太小,害怕新的

东西和新的挑战,当遇到科研难题时不是迎头赶上,而是能逃

就逃,唯恐避之不及,进而不加思索的四处求救。更有甚者连

自己的问题究竟是什么都没有搞清楚就来问,天晓得会有什么

结果。甚至有的问题,连话都说不囫囵,基本概念理解的是一

塌糊涂。看了这种帖子,真是让人哭笑不得。

其实,别人告诉你的都对吗?我的看法是“绝对”未必,

很多时候,别人告诉你的可能是错的,或者是不完全正确的东

西。有很多东西是必须通过自己的学习而逐渐理解,融汇最终

达到贯通的,绝对不能依靠别人,这其实是一个“悟”的过程。

但是,这些连小学生都懂得道理,又有几个人能做到?

小卒版主在他的帖子中说了一些实话,也提出了一些标准。

按道理,这些标准应该是最低要求。但是,到了现在,似乎成

了高标准严要求了。也不知道是社会进步了,还是倒退了。呵

呵。

分子模拟论坛 BBS 的站长 cycle 先生说过一段话,我至今

难忘,转载如下:

来论坛的朋友可能很多,但是真正愿意分享的朋友可能不

到一半,在这不到一半的朋友当中,因为分享后但却因为人气

低无人支持而离开的大致也不到一半,真正剩下来的可能只有

一小部分。论坛正是为这剩下来的一小部分朋友建立的,希望

大家能理解。至于论坛的发展,作为管理者,我们只是出于个

人兴趣建立了这个论坛,只要能交到朋友,那就够了,至于人

气,我们不 care,也绝不会放弃自己的坚持。真诚希望大家能

够以开放的心态加入讨论交流。

这里的的确确是一个自由讨论的空间,您可以在这里讨论

您所遇到的任何分子模拟方面的问题,没有幼稚的问题只有不

会提问的人,没有人笑话你,不太懂没有关系,说错了也没有

关系,我们论坛一直都在鼓励大家积极参与讨论交流,求学的

道路是艰辛的,一起上路才不会感到孤独。相信有不少同学已

经在论坛得到过不同程度的帮助,提出的问题得到了满意的答

案或者是中肯的建议,希望你们在进步的同时也尽力去帮助后

进的同学们,大家一起来发扬这种互助精神,共筑论坛的灵魂。

请那些还没有参与过讨论交流的同学们加入我们,不要再

做一名看客一名潜水员,除了“领红包”“回帖说谢谢”“下资

源”“抱怨论坛积分制度”外,也来谈谈自己的心得,跟大家讨

论您所遇到的疑难,帮助解答别的同学的问题,也来做一名无

私奉献的学者。

请怀着一颗感恩的心!!!很诚恳的说一句,不管您是以何种目的来到分子模拟论坛,

请确保您在这里所做的一切都是自愿并且开心的,否则请您不

要发贴。论坛不是学校也不是培训机构,管理人员和版主也不

是老师,在这里我们每一个人都是平等的,希望您能够为论坛

营造良好的学术氛围做出努力和贡献。欢迎大家提意见,抱怨,

发表不满,但是请同时也提出您觉得更合适的具体方案,我们

很希望听到您的声音。

2

Page 14: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Review Article

GaussianFAQGaussianFAQGaussianFAQGaussianFAQ

小木虫量子化学版虫友集体创作

整理者:yjcmwgkyjcmwgkyjcmwgkyjcmwgk

DepartmentDepartmentDepartmentDepartment ofofofof Chemistry,Chemistry,Chemistry,Chemistry,UniversityUniversityUniversityUniversity ofofofof ScienceScienceScienceScience andandandand TechnologyTechnologyTechnologyTechnology BeijingBeijingBeijingBeijingBeijingBeijingBeijingBeijing 100083,100083,100083,100083, ChinaChinaChinaChina

这个 GaussianFAQ的贡献者非常多,多到了无法计数的程度。估计这是自从 Gaussian 诞生以来,参与者最

多的答疑帖。从2009.9到 2010.1,四个月内增删四十次,从测试版一直修改到第 22版。截止 2010.1.27,原创帖

所在的小木虫站,该 FAQ浏览量已经超过了 1.1万次。同时,科学网、分子模拟论坛等兄弟网站纷纷转载,影

响深远。谨在此对各位贡献者表示崇高的敬意。然而,由于该 FAQ是集小木虫计算模拟区量子化学版高斯分版

全版之力编纂而成,贡献者实在太多,数不胜数,基本无法统计。对此,RCS 编辑部向各位贡献者表示深深的

歉意。

GaussianFAQ 的革新永不停息。更新的版本,请继续关注 http://emuch.net/bbs/viewthread.php?tid=1566146

GaussianFAQGaussianFAQGaussianFAQGaussianFAQ改进历程

2009.09.252009.09.252009.09.252009.09.25VVVV 0.010.010.010.01GaussianFAQ(BetaGaussianFAQ(BetaGaussianFAQ(BetaGaussianFAQ(Beta版))))诞生

2009.09.302009.09.302009.09.302009.09.30VVVV 1.001.001.001.00 为 FAQFAQFAQFAQ增加了插图 11111111张,GaussianFAQGaussianFAQGaussianFAQGaussianFAQ第一版正式发布

2009.10.022009.10.022009.10.022009.10.02VVVV 1.101.101.101.10 修改了第一章第四节的回答2009.10.042009.10.042009.10.042009.10.04VVVV 2.002.002.002.00 增加了第二章第七、八、九节三个问题及其答案

2009.10.062009.10.062009.10.062009.10.06VVVV 2.102.102.102.10 修改了第一章第三节的回答

2009.10.072009.10.072009.10.072009.10.07VVVV 3.003.003.003.00 增加了第二章第十、十一节两个问题及其答案

2009.10.072009.10.072009.10.072009.10.07VVVV 4.004.004.004.00 更换了第一章第一节这个问题的答案

2009.10.082009.10.082009.10.082009.10.08VVVV 4.104.104.104.10 修改了第二章第九节的回答

2009.10.082009.10.082009.10.082009.10.08VVVV 5.005.005.005.00 增加了第二章第十二节这个问题及其答案

2009.10.102009.10.102009.10.102009.10.10VVVV 6.006.006.006.00 增加了第一章第五节这个问题及其答案

2009.10.142009.10.142009.10.142009.10.14VVVV 6.016.016.016.01 改了几个错别字

2009.10.152009.10.152009.10.152009.10.15VVVV 6.026.026.026.02 又改了几个错别字

2009.10.182009.10.182009.10.182009.10.18VVVV 7.007.007.007.00 增加第一章第六节这个问题及其答案

2009.10.192009.10.192009.10.192009.10.19VVVV 8.008.008.008.00 增加第一章第七节这个问题及其答案

2009.10.202009.10.202009.10.202009.10.20VVVV 9.009.009.009.00 增加第二章第十三节这个问题及其答案

2009.11.272009.11.272009.11.272009.11.27VVVV 9.109.109.109.10 修改第一章第四节的答案

2009.12.082009.12.082009.12.082009.12.08V10.00V10.00V10.00V10.00 增加了第二章第十四、十五节两个问题及其答案

2009.12.092009.12.092009.12.092009.12.09V11.00V11.00V11.00V11.00 增加了第四章第六节这个问题及其答案2009.12.122009.12.122009.12.122009.12.12V12.00V12.00V12.00V12.00 增加了第四章第七节这个问题及其答案

2009.12.152009.12.152009.12.152009.12.15V13.00V13.00V13.00V13.00 增加了第四章第八节这个问题及其答案

2009.12.152009.12.152009.12.152009.12.15V13.10V13.10V13.10V13.10 修改第一章第二节的答案

2009.12.212009.12.212009.12.212009.12.21V13.20V13.20V13.20V13.20 修改第一章第四节的答案

2009.12.282009.12.282009.12.282009.12.28V14.00V14.00V14.00V14.00 增加了第一章第八节这个问题及其答案

2009.12.312009.12.312009.12.312009.12.31V14.10V14.10V14.10V14.10 修改了第四章第三节的答案

2010.01.052010.01.052010.01.052010.01.05V14.20V14.20V14.20V14.20 修改了第一章第四节的答案

2010.01.062010.01.062010.01.062010.01.06V14.21V14.21V14.21V14.21 修改了第一章第四节的答案中的一个bugbugbugbug2010.01.072010.01.072010.01.072010.01.07V15.00V15.00V15.00V15.00 增加了第四章第九节这个问题及其答案

2010.01.082010.01.082010.01.082010.01.08V15.01V15.01V15.01V15.01 将原第一章第七节调整为第二章第十六节

2010.01.092010.01.092010.01.092010.01.09V16.00V16.00V16.00V16.00 更换了第二章第七节的答案

2010.01.112010.01.112010.01.112010.01.11V17.00V17.00V17.00V17.00 增加了第二章第十七节这个问题及其答案

2010.01.112010.01.112010.01.112010.01.11V18.00V18.00V18.00V18.00 更换了第一章第五节的答案

2010.01.122010.01.122010.01.122010.01.12V18.10V18.10V18.10V18.10 修改了第二章第九节的答案

2010.01.132010.01.132010.01.132010.01.13V19.00V19.00V19.00V19.00 增加了第二章第十八节这个问题及其答案2010.01.132010.01.132010.01.132010.01.13V19.10V19.10V19.10V19.10 修改了第二章第十七节的答案

2010.01.132010.01.132010.01.132010.01.13V20.00V20.00V20.00V20.00 增加了第二章第十九节这个问题及答案

2010.01.142010.01.142010.01.142010.01.14V21.00V21.00V21.00V21.00 增加了第二章第二十节这个问题及答案

2010.01.202010.01.202010.01.202010.01.20V21.01V21.01V21.01V21.01 修改了第四章第九节的一个 bugbugbugbug2010.01.222010.01.222010.01.222010.01.22V21.10V21.10V21.10V21.10 修改了第四章第九节的答案

2010.01.272010.01.272010.01.272010.01.27V22.00V22.00V22.00V22.00 增加了第四章第十节这个问题及答案

2010.01.282010.01.282010.01.282010.01.28V22.01V22.01V22.01V22.01 修改了第四章第十节的一个 bugbugbugbug

版本号升级说明:GaussianFAQ 的版本号采用 x.xx的方式。彻底更换某个问题的答案,或者增加新问题及其解答,大版本号加 1;修改对某个问题的

回答,小版本号加 1;改 bug,小小版本号加 1

3

Page 15: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

第一章 GaussianGaussianGaussianGaussian 初识(1.11.11.11.1)版本一:高斯是不是免费的啊?版本二:高斯哪里能下

载啊?版本三:高斯卖多少钱?版本四:听说使用高斯涉及到

版权问题,能不能具体说说呢?

高斯软件是 Gaussian公司开发的商业软件,不是免费的。

Gaussian公司官方网站: http://www.gaussian.com/Gaussian公司中国代理商:上海源资信息科技有限公司。

网址:http://www.tri-ibiotech.com.cn /如需下载试用 Gaussian和 GaussView,请于互联网上自行

搜索。

Gaussian09的中国售价:

Linux/UNIX 版多核心版,单一服务器全新安装,42434人民币,不限制装机器的节点数目

Linux/UNIX 版多核心版,单一服务器从 G03升级,36799人民币,不限制装机器的节点数目

分布式计算的 PC集群或服务器集群,亦被看做是单一服

务器。

单核心版计算能力有限,Windows版计算能力更有限,在

此不再赘述。感兴趣的读者请参考 1.4高斯售价参考网页:http://www.gaussian.com/g_prod/prix.htm试用互联网上下载的高斯软件,进行计算一般是没问题的,

但是切勿把计算结果拿出来发表论文。否则,你的通讯作者将

受到严厉的惩罚,即终身不得使用高斯公司的软件进行科学研

究。一旦被高斯公司的“反侵权部门”查实并通告通讯作者本人,

那么这位通讯作者今后即使花钱买,也得不到高斯公司的任何

软件。

如果没有高斯版权,但又希望在自己的 paper里加入使用

高斯软件进行计算的部分,那就需要经过 Gaussian公司的特别

授权。如何得到授权呢?一般来说,需要在 paper的合作单位

中出现购买过高斯软件的单位,合作作者中出现这一合作单位

的作者,并在 paper的 acknowledgment部分中提到这一拥有高

斯软件版权的合作单位的合作作者在计算部分所做工作量,一

般来说就默认获得了 Gaussian公司对高斯软件的使用授权。当

然,这一合作单位和合作作者是不能随便添加的,需要得到相

关单位和当事人的许可。

(1.21.21.21.2)我现在想学高斯,不知道大侠有没有什么高见啊?我该

看什么书啊?

首先要学习的就是一本高斯入门书。这里我个人推荐郭勇

的《高斯使用指南》,很简单的一本书,完全就是为那些一点高

斯基础都没有的人准备的。【图 1】此外,一定要学学群论。我个人推荐科顿的《群论在化学

中的应用》一书,完全就是为那些一点群论基础都没有的人准

备的。当然,你很可能要补一点数学知识,主要是线性代数。

原书是英文版,但是超星上有中译本。【图 2】量子化学的入门书一定要读一本。徐光宪的《量子化学 :

基本原理和从头计算法》就是极好的。【图 3】高斯公司出版的《高斯说明书》才是用高斯软件的终极教

程——试想,谁又能比高斯软件开发公司更了解高斯软件本身

呢?读完了郭勇的《高斯使用指南》,再读《高斯说明书》。【图

4】如果想多了解一些,请看本 FAQ的第四章第八节。

以上所有的资料都能免费下载,只要你有谷歌!

(1.31.31.31.3)和高斯接口的免费可视化软件都有哪些?molden, arguslab, molkel, gabedit, vmd, gausssum,

gopenmol,Facio, MASK,GsGrid(1.41.41.41.4)难道非要用LinuxLinuxLinuxLinux算高斯吗?WindowsWindowsWindowsWindows算高斯的缺陷是

什么?后续问题:听说 LinuxLinuxLinuxLinux很难的。我是电脑小白,在

WindowsWindowsWindowsWindows上都不太懂,只会最基本的操作,看看电影听听歌而

已。连WindowsWindowsWindowsWindows系统都是别人替我装的。LinuxLinuxLinuxLinux我能学会吗?

后续问题:为什么LinuxLinuxLinuxLinux那么难看?看见一行一行的命令,就

一点研究它的兴趣也没有了。听说LinuxLinuxLinuxLinux也是有桌面的,为什

么师兄师姐们从来不用LinuxLinuxLinuxLinux的桌面呢?你们所说的那个 SSSSSSSSHHHH又是个什么软件啊?头大 inginginging……………………

Linux做高斯计算比Windows优势大得多。Windows对并

行处理、频繁存取、超大文件、海量运算,都是瓶颈,而这些

都将是你运行高斯的大障碍。你现在算个水分子、算个甲烷分

子,你用Windows 觉得还挺不错的,但是你的计算量一旦变大,

你将会对“Windows 做计算”极为失望。

你可以用 mem 指定你希望能被高斯调用的最大内存。但

是,Windows 有自己的一套内存调用规则(高斯毕竟是一个应

用软件,Windows 则是操作系统。Windows能管着 Gaussian)好了,我形象化的说说这个事儿吧

Gaussian软件(以下简称高斯)说:“我要 1G 内存!”Windows 操作系统内核(以下简称系统)说: “行!如你

所愿”过了一会儿……高斯:“你给我的 1G 内存,我咋觉得这么不对劲儿呢?”系统:“咋就不对劲儿了?”高斯:“就 50多M 的内存空间读写速度正常,另外 950M

的内存空间读写速度超慢!”系统骗高斯:“哦,内存条质量不好,凑合着用吧!”高斯:“NND,主人要做高斯计算,却买这么慢的内存条,

我不干活了!我要怠工!”于是高斯 Link died。真实情况是:Windows对内存使用的控制是非常苛刻的。

高斯申请 1G 的内存,那么Windows也就拿出 50M 的真正的内

存空间给高斯,剩下 950M 的都是用硬盘空间来“伪装”出来虚

拟内存。每当有某软件要求巨大内存的时候,Windows 都会用

虚拟内存来应付,而软件就以为这是真内存,还用的不亦乐乎。

说白了,Windows 不是一个设计用来运行“海量数据频繁内存读

写”的程序的操作系统,它为了勉强运行这种程序,他就用虚拟

内存来欺骗,事实上是硬盘在起到内存的作用,而硬盘的读写

速度不到内存的十分之一。这样造成的直接严重后果是:即使

电脑资源一样大,在Windows和 Linux下运行同样的任务,后

者往往比前者快 3到 20倍。这也是我们一直推荐使用 Linux的原因。

我给Windows和 Linux分别打个比方:Windows是一辆精

致的法拉利,很漂亮、很人性化、操作很简便(其实 Windows也有自己的复杂和高明之处,只是你从没使用过它们),但是她

终究是一辆小轿车。而 Linux是一辆载重数十吨的斯太尔大卡

车。搬运大量货物(大量数据的海量计算)还是要靠 Linux。运

送一个小箱子,法拉利和斯太尔没什么区别,但是如果运送一

个集装箱呢?为了能顺利运送集装箱,请学习 Linux如果你既想享受法拉利的精致,也想得到斯太尔的强大工

作能力,你就装一个 SSH 软件吧。【图 5】SSH 就像你的忠实信

使,在 Linux和Windows之间传达各种指令。你的师兄师姐会

教给你如何用好 SSH。

另外,不要总想着使用 Linux的 GUI。其实 Linux 有比

Windows 更绚丽的桌面系统,但是它对你的高斯计算毫无意义,

而且会占用更多的服务器资源。把这些资源用在你的高斯计算

上,比浪费在运行图形界面上更有意义。DIY 是 Linux很重要

的宗旨之一:合适就选,不合适就不选。这比Windows强制安

装“用户一辈子也不会需要的许多功能”强多了。

其实吧,现在作为初学者,你也没必要去管那些面目可憎

的命令行,那还是你的师兄师姐的事儿。作为一个新手,你记

住,服务器的维护管理自然有你的师兄师姐来完成,你仅仅是

使用者,而且是非常初级的使用者——我这样说,并没有一点

点轻视你的意思,请勿误解。因此,你所要知道的仅仅是最常

用的命令即可:

4

Page 16: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

ssh zzz进入 zzz 服务器

exit离开当前服务器

mkdir建立文件夹

rmdir删除空文件夹

rm -fr删除非空文件夹

ls列出本文件夹下的所有文件和子文件夹

vi xxx.xxx建立新文件 xxx.xxx

top打开任务管理器

rm xxx.xxx删除文件 xxx.xxx

nohup g03 xxx.com xxx.log &运行高斯文件 xxx.com 进行计算

cd xxxx进入 xxxx子文件夹

cd ..返回上层文件夹

formchk xxx.chk xxx.fchk用 xxx.chk生成 xxx.fchk

scp xxx.xxx nod:/aaa/bbb/xxx.xxx将 xxx.xxx复制到 nod下的/aaa/bbb/文件夹下

cubman使用高斯的 cubman命令

cubegen使用高斯的 cubegen 命令

sh xxxx.in运行批处理命令 xxxx.in

ps 某个进程的进程号

查看某个进程的状态

adduser 账户名

增加一个账户

passwd 账户名

账户改密码

userdel 账户名

删除某个账户

su 账户名

转换当前账户

du -sh查询该文件夹大小

env列出全部环境变量

export 变量名 变量值

增加环境变量

unset 变量名

删除环境变量

chmod -R 770 g03赋予 g03 使用/tmp文件夹的权限

vi下的命令

i进入修改状态

ESC退出修改状态

:wq保存退出

:q!不保存退出

:set nu显示行号

/某个字符串

查找某个字符串

top下的命令

先按 u再输入高斯用户名再回车

查看高斯所属的进程

先按 u再输入超级用户名再回车

查看系统所属的进程

先按 u再输入空格再回车

查看全部进程

q退出任务管理器

先按 k再输某个进程对应的 pid,然后输入 yes强制结束某个进程

关于解压

解压 FileName.tartar xvf FileName.tar

解压 FileName.gz解压 1:gunzip FileName.gz解压 2:gzip -d FileName.gz

解压 FileName.tar.gz 和 .tgztar zxvf FileName.tar.gz

5

Page 17: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1解压 FileName.bz2解压 1:bzip2 -d FileName.bz2解压 2:bunzip2 FileName.bz2

解压 FileName.tar.bz2tar jxvf FileName.tar.bz2

解压 FileName.bz解压 1:bzip2 -d FileName.bz解压 2:bunzip2 FileName.bz

解压 FileName.tar.bztar jxvf FileName.tar.bz

解压 FileName.Zuncompress FileName.Z

解压 FileName.tar.Ztar Zxvf FileName.tar.Z

解压 FileName.zipunzip FileName.zip

解压 FileName.rarrar x FileName.rar

多说一句:其实Windows也有这种命令行操作模式【图6】,

名叫 DOS(不是态密度的缩写,而是Disk operation system的缩

写。Microsoft 的MS-DOS 已经发展到 7.1版了,当然你装的

WindowsXP SP3自带的MS-DOS不是真正的 DOS,是用 XP模拟的命令行操作 5.1,不过对于初学者学习 dos已经足够了。Vista我没用过,我个人从心理上比较排斥它,哪位熟悉 Vista的人给

个补充,谢谢)有闲时间,在你上网玩游戏听歌聊天之余,如

果能学学 DOS,对你加深对电脑的了解,很有益处的

(1.51.51.51.5)GaussianGaussianGaussianGaussian如何在 LinuxLinuxLinuxLinux下安装?(请忘掉您的鼠标!!)

个人认为,您一定要忘记鼠标! 如果你不知道什么是终

端,那么,完了,下面的东西,你不用看了! 你会头疼死的。

而且会来一句,靠! 什么狗屁 linux,安装一个软件如此麻烦!

来一个简单的!

假定, 你的系统已经安装完毕,网络 OK!系统归你使用,不设计其他软件的管理!再强调一次:您

一定要忘记鼠标!

假定合法用户名:tom假定你的 $HOME是;/home/tom (不要奇怪,我的系统,

没有/home分区,这个玩意,你想怎么写都可以!而在 win, 你只有从 C开始到 Z的选择)

假定,你上传你的软件包到你的$HOME(实际上,你也只

能在这里活动,其他的地方只有/tmp你能写东西), 软件包名

字是 g09.tar.gz登录你的系统!

均是终端操作!(天,如果你不知道终端,抱歉,你找别

人吧,或者 google, 我实在不清楚,依靠鼠标如何能点出终端?

您一定要忘记鼠标!)使用 putty, 采用 ssh协议,(不会用, 请 google!)如果你的机器就在手边,那么直接登录!

现在假定你登录 OK。pwd 你应该看到/home/tomOK, 做下面的事情

mkdir GaussTempmkdir Optcp g09.tar.gz Optcd Opttar zxvf g09.tar.gz

cd g09./bsd/install (看清楚,不要修改这里的任何东西)

cdvi ~/.bashrc==========添加以下的东西======### Gaussian Configuration ###export g09root=/home/tom/Opt/export GAUSS_SCRDIR=/home/tom/GaussTempsource $g09root/g09/bsd/g09.login=====Cut Here================exit (反正是退出,重新登录! Linux不需要 reboot!)再次登录系统。

g09你应该看到一些东西了....######################Attetion######################1 如果没有作业运算,但是这个 GaussTemp里面还有文

件,那么 简单,

rm -fr /home/tom/GaussTemp(你也可以自动处理这个东西,比如使用 cron! 如果你读

了这句,不知道 cron, 那么自己手动吧! ^_^ )2 如果是不同版本的 g03, 那么替换上面配置文件中

的 g09 为 g03(sed 替换? 也许 不会就是手动吧 ^_^)3 如果遭遇 Segementation Fault, 其实这是个术语,玩

过一点点 C的都知道如怎么会事!a 咨询你的 OS服务商寻求

帮助; b google 自己解决; c 咨询高斯软件服务商解决。

4 遇到内存分配问题, 请检查: a 你使用的系统的

内核, (你用的是 APE 还是纯 64的 SMP); b 请勿使用太新

的内核。 比如 2.6.31-14-generic 就不太适合....(1.61.61.61.6)GaussianGaussianGaussianGaussian如何实现批处理?

如果你有三个文件分别进行计算

这三个文件叫做 a.gjf,b.gjf 和 c.gjf那么可以进行的批处理方法是:

1)Linux下写一个文件 x.in,内容如下

==文件开始==nohup g03 a.gjf a.log &waitnohup g03 b.gjf b.log &waitnohup g03 c.gjf c.log &==文件结束==然后提交这个文件,命令为 sh x.in &2)Window 下

写一个文件 x.bcf,内容如下

==文件开始==!start=1a.gjf , a.outb.gjf , b.outc.gjf , c.out==文件结束==然后用 G03运行这个文件

3)Linux和Windows通用

把三个 gjf 文件写成一个 gjf,内容如下

==文件开始==a.gjf 的全部内容(原封不动照抄)

(空行)

--link1--b.gjf 的全部内容(原封不动照抄)

(空行)

--link1--c.gjf 的全部内容(原封不动照抄)

6

Page 18: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1==文件结束==

(1.71.71.71.7)怎么安装LinuxLinuxLinuxLinux?使用 linux系统,最好不要尝试在上面进行汉化,否则会

遇到很多不必要的麻烦。我推荐,安装的时候,采用标准的默

认配置,语言国别一律采用美国,时区调整为上海。默认系统

语言使用英文,可以减少不必要的麻烦。一个工作平台,不需

要中文,尤其是一台服务器.推荐使用系统 RHEL 4.8 or 5.4, Debian 503,CentOS 4 or

5。 采用完整安装,(熟悉了之后就不必装桌面了)或者你可以

采用 Scientific Linux, 费米实验室和其他几个牛鼻的研究所作

的,和RHEL 100%兼容,但是包含了科学领域可能用到的很多

软件包。还是一句话,如果你不明白,就选择全部安装!

分区采用

/ 20GiB ext3swap 4~8GiB/home 剩余空间(如果你没有使用经验,建议之使用

/home,如果你熟悉,可以更改/home为其他你喜欢的名字

本来安装系统是超级简单的,你非要琢磨如何分区等等不

需要考虑的问题,当然就迷糊了。如果你的磁盘是空的,你可

以什么都不用处理,直接采用系统默认的分区,如果你的机器

磁盘速度够快!8min可以安装完毕!我给一个机器安装 RHEL4.7,全部安装 5min。

第二章 GaussianGaussianGaussianGaussian 使用(2.12.12.12.1)版本一:高斯能不能做XXXXXXXXXXXXXXXXXXXXXXXXXXXX方面的计算啊?版

本二:高斯的主要功能是什么?

分子能量和结构

过渡态的能量和结构

化学键以及反应的能量

分子轨道

偶极矩和多极矩

原子电荷和电势

振动频率

红外和拉曼光谱

核磁

极化率和超极化率

热力学性质

反应途径

(2.22.22.22.2)请问2070207020702070是什么错误啊?后续问题:什么是 log/outlog/outlog/outlog/out文件的错误提示啊,在哪儿看啊?

2070错误最基本的解释就是,你的系统在安装了 g03/g09之后,运行时对内存调用出错.....

解决措施:

1 更换稳定版本的系统, 采用完整的正版系统.2 使用 linux平台,采用稳定版(非最新版), 如果 linux

下遇到 Segementation Fault,在找别的方法处置, 一般只需一个

指令,就可以一劳永逸....对于一个新手,你不必管什么是 2070错误。是什么错误

应该看最后终止在哪一步,例如L1就是命令行里有错误,L301通常是自选多重度错误等,而且在结果文件中最后部分会给出

错误的原因(就是 error termination 这一行【图 7】),以便联查

修改!

(2.32.32.32.3)scfscfscfscf不收敛怎么办?几何优化不收敛怎么办?

虽然二者有联系,但实际上是两个相对独立的问题,要分

开回答。

这里提供的只是解决方案,所有的方法都用上了还是不收

敛得情况也是有的。

首先要分清 scf不收敛和几何构型优化不收敛:scf不收敛

指的是自洽场叠代不收敛(什么?没听说过什么叫自洽场?那

还是回去学习些量化基础知识再开展计算吧!),可以认为是对

指定结构的波函数不断优化的过程,是为了找到这个某个指定

结构下能量最低的波函数,而几何构型优化是对结构的优化的

过程,是为了找到某个指定的组分下能量极小结构(注意,不

一定是能量最小结构)。在量子化学计算的几何构型优化中,每

一步的几何构型优化都包含的很多次的 scf计算。

1、scf不收敛的解决方案。

(1) 可以加大 scf的循环次数,默认的循环次数是 128 次,

通过 scf=(maxcycle=n)来设置最大循环次数 n。建议不要超过

512,更多的循换没有必要。

(2) 如果加大循环次数不管用,在分子有对称性的情况下,

使用 scf=dsymm关键词来强制密度对称,有时可以收敛。另外,

此关键词很多时候对"scf is confused”这种错误很管用。

(3) 使用 scf=symm关键词,使用的前提同上,有时可以收

敛。

(4) 如果(2)(3)两步都不行,可以将对称的分子中的某几个

原子的位置微调,使分子丧失对称性。这等效于 nosymm关键

词,但个人经验,这种方式比 nosymm好用的多。

(5) 如果还不行,只能拿出杀手锏了,就是使用 qc,但不

建 议 直 接 使 用 , 而 是 使 用 xqc 关 键 词 , 比 如

scf=(maxcycle=80,xqc),意思是如果 scf正常计算(dc)在 80个循

环之内不收敛才进行昂贵的 qc计算,因为 scf不收敛多数在几

个优化的过程中出现,无法判断哪一步优化的时候会出现 scf不收敛,所以用 xqc比纯粹使用 qc 要省时的多。

(6) 中级用户可以在输入文件的井号 “#”开头那一行井号

后面加上字母"p"来输出更多的信息,其中就有自洽场叠代的信

息,分析原因可能会对采用什么方法提供指导。

(7) 前面有虫子提到一个有用的方案但没说清楚,我这里

补充一下:如果用用小基组计算,scf可以收敛,那么保存好检

查点文件,换成大基组的时候从检查点文件中读取初始猜测(使用 guess=read关键词),有时可以算过去。

(8) 如果你计算中使用了含有弥散函数的基组(比如 6-31+G*基组中的“+”,Aug-cc-pVTZ 基组中的 Aug等),可以先

去掉弥散函数(比如例子中的两个基组变为 6-31G*和 cc-pVTZ),这样很容易收敛,需要的话,换成带有弥散函数的基

组时,从检查点文件的读初始猜测。原理与(7)类似,有时候管

用。

注意:(7)和(8)不适合很大的体系,此时,使用小基组或者

不带弥散函数的基组与后来使用的大基组在基组数量上差得太

多(如果你本来就遇到了 scf收敛问题,而使用这两个方案时,

机组数量差距超过 512个,多数时候要出问题),反倒容易引起

scf不收敛,因为读检查点文件时,对那些多出来的基组的猜测

是空的,而直接计算时最起码还有个半经验的计算提供了相对

合理的初始猜测。

(9) 上述方法有时可以组合使用,如果经过各种组合处理

都不收敛,那么放弃吧,你的分子的电子结构太差了。

2、几何构型优化不收敛的解决方案。引起这个问题的原

因比较多,可能也说不全,尽量做到全面。

(1) 如果是很小的分子( 10原子以内),初始结构可能离

平衡结构比较远,又在输出文件优化的最后一步判断是否收敛

的位置(可以通过查找 Threshold字段找到,它下面有四个判断

项,都是 YES 才代表优化收敛)看到了 “-- Number of stepsexceeded, NStep=xxx”,可以通过加大优化的循环次数来解决

问题。使用关键词 opt=(maxcycle=n).(2) 优化到如果四个收敛标准中前两项早就收敛了,而后

两项尤其是第三项不收敛,这需要判断原因。如果每一步优化

过程中的能量始终在下降,那么可以继续让他算,超过了最大

步数停掉了的话把结构拿出来,重新提交就行了。如果能量忽

大忽小出现跳跃,说明遇到了比较平坦的势能面,或者优化的

算法不好。此时建议按如下顺序处理:

a. 使用 opt=maxstep=n来缩小最大步长,即原子移动的距

离,n的默认值是 30,只能设置整数。

b. 使用关键词 opt=gdiis,很多时候可以很快收敛。

c. 使用 opt=calcfc 关键词,在几何优化的第一步计算力常

7

Page 19: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1数,为优化定一个大方向,类似在第一个三岔路口选一条路。

d. 使用 opt=calcall关键词,在几何优化计算的每一步都计

算力常数,类似于在每一个三岔路口都来选一条路。这个关键

词不到万不得已不要使用,非常耗时。

(3) 四个判断标准的后两项早就收敛了,但前两项似乎固

定在某个数值上了。遇到这种情况,首先去检查你优化第一步

的时候给出的每个轨道得本征值部分,也就是轨道的能量,如

果 HOMO和 LUMO的能量相同或者非常接近,那么你的设置

有问题,即自旋多重度不对。如果 HOMO-LUMO能量没问题,

那么将目前的计算停掉,提出结构,使用 opt=gdiis关键词,很

多时候管用。

(4) 如果是在几何构型优化的过程中出现因为 scf不收敛

导致无法优化,可以先用上面 scf不收敛的解决方案来处理,如

果都不行,可以通过在#后面添加 p输出更多信息,如果看到每

次 scf能量都能收敛到 10的-6次方以下然后开始出现能量的跳

跃,就是收敛不到 10的-8次方(这种情况还比较常见),可以

使用 scf=(conver=6)来让几何优化继续下去,等优化好了,再将

此关键词去掉,我的经验,优化的结构一般不会有太大的差异。

如果不到 10的-6能量就开始跳越,不适合此方法。

(5) 如果几何优化过程中发现键变得异常短,而且此时几

何优化总是不收敛。遇到这种情况,问题出在你的基组使用,

肯定是使用了赝势基组却没有读入赝势。由于赝势基组将内层

电子和原子核用一个有效核心势来表示,你没有读入赝势就说

明没有读入这个有效核心势,那么相当于把原子的内层电子都

给除掉了,巨大的核引力把原子之间的距离变得异常短也不足

为奇。

比较通俗的解答请看 2.10(2.42.42.42.4)GaussianGaussianGaussianGaussian并行效率如何?

这个一般要看你的节点数 和 CPU 以及内存

集群测试环境:

操作系统:CentOS41个管理节点:2×CPU5410 16G 内存 5×300GSAS 硬盘做

RAID58 个计算节点:2×CPU5410 16G 内存 2×143GSAS 硬盘

RAID0以太网络链接:千兆网,TCP/IP 协议

G03D01并行版(Linda7.1)任务说明:主要测试并行 SCF,共 882个基函数,无对称

性。====================CPU 数 运行时间 效能n xn e

--------------------1 19202 1314 1.1684 803 1.1576 611 1.3348 527 1.64810 479 1.99212 455 2.41614 434 2.79716 432 3.355

====================效能 e是我自己定义的:e=(n*xn-1*1920)/(1920-xn)其中分子表示用 n 个 CPU并行处理时比单个 cpu多付出

的 cpu时间(计算资源而非实际时间),分母表示用 n个 CPU并行时节省的实际时间。

效能 e体现的是以单个CPU运行的时间为基础,用n个 cpu并行运行任务时,每节省 1秒钟实际时间所需要付出的 CPU时

间代价即计算资源。其值越小越好。

e即考虑了实际时间的节省又包括了计算资源的消耗。

从上表可以看出,当使用两个计算节点 4个 CPU时,e最小,并行效率最好。因此推荐使用 4个 CPU并行计算单个高斯

任务,兼顾速度和效益。

(2.52.52.52.5)什么是自旋多重度?怎么设置?后续问题:怎么判断单

电子数啊?还有那个 2|S|+12|S|+12|S|+12|S|+1是怎么回事儿啊?SSSS是什么东西?

怎么算SSSS啊?

量子化学中用到的自旋多重度是用来区分一组简并的波

函数,这些波函数之间只存在自旋角动量的不同。

自旋多重度定义为 2S+1,其中 S 是自旋角动量,它与体

系内的单电子数(N)相关。S=N/2,所以说到底最简单的判断方

法:自旋多重度等于单电子数+1。怎们判断体系单电子数需要计算者对自己研究的体系有

着深入的了解,这是开展科研的前提,不是偷懒的理由。

但有一点可以提醒 Gaussian初学者,计算体系总电子数时

需要加上体系的电荷,这样才不会算错单电子数。

如果实在无法判断到底有几个单电子,那么根据体系的总

电子数,算各种可能情况,找那个能量最低的。

体系总电子数为偶数:自旋多重度可能是 1,3,5,7....体系总电子数为奇数:自旋多重度可能是 2,4,6,8....现在介绍自旋多重度=2S+1的由来,没兴趣的略过,有兴

趣可以参考。

大学的化学书中提到了决定原子中每个电子唯一性的 n, l,m, 和 m(s)四个量子数,其中这个 m(s)就是自旋量子数,理论

研究表明它只有两个值,即:+1/2和-1/2,由于现在绝大多数

量化计算都是基于原子轨道线性组合分子轨道的方法,所以此

套参数可以扩展到分子体系,只不过换了个说法而已。

如果一个原子轨道或者分子轨道的两个自旋轨道是充满

的,因为其他三个量子数都一样,那么两个自旋量子数可以相

互抵消,也就是这个轨道对体系的自旋角动量不产生贡献。

如果体系中所有的占据轨道的两个自旋轨道都是充满的,

那么整个体系是没有自旋角动量,也就是只有一种自旋状态(没

有自旋)。如果体系内有一个占据轨道之占据了一个自旋轨道,

而另一个自旋轨道是空的,那么体系的就分成了两个部分,一

部分是没有自旋的全部充满的轨道构成,另一部分就是这个单

电子产生的+1/2 或者-1/2的自旋,所以此时体系的自旋多重度

是 2,如果体系有两个以上的单电子,根据电子排布规则,这

些成单的电子优先占据与其他单电子占据的自旋方向一致的自

旋轨道,所以从这个角度来说,这些电子之间的自旋是不能抵

消的,而只能累加。这样就导致体系分成了单电子数+1个部分,

即全充满的所有轨道是一个部分,而单占据的每个自旋轨道又

是一个独自的部分,体系的自旋多重度就是单电子数+1。由于每个单电子产生 |1/2|的自旋,那么根据自旋多重度=

单电子数+1,自旋多重度也就等于总自旋 2*|N*1/2|+1,而绝对

值符号中的部分正是体系总自旋角动量的表达式,即 S,这也

就是自旋多重度=2S+1的由来。

(2.62.62.62.6)什么是基组啊?什么是混合基组啊?怎么个写法啊?后

续问题:不好意思,楼上说的我还是不太明白。什么是你们所

谓的GaussGaussGaussGauss基函啊?基组大小你们又是怎么知道的呢?后续问

题:请问 6-311++g(3d2f,2pd)6-311++g(3d2f,2pd)6-311++g(3d2f,2pd)6-311++g(3d2f,2pd)中各项的含义是什么啊?

基组是体系轨道的数学描述,对应着体系的波函。将其带

入到薛定谔方程中,就可解出体系的本征值(也就是能量)。混

合基组就是对不同的原子使用不同的基组!写法如下:

在命令行加入 gen Pseudo=Read========C H 06-311++G******Pt 0LanL2DZ****

Pt 0LanL2DZ========Gaussian中常用的分子轨道是名为高斯轨道的高斯函数的

8

Page 20: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1线性组合。基组是体系内轨道的数学描述。大的基组由于对电

子在空间上有小的限制而具有更大的精确性。

基组的大小:最小基组包含了描述轨道的最少的函数数

量。例如 STO-3G 是最小基组,每一个基本函数中含有三个高

斯函数。增大基组的第一个方法就是增加每个原子基函数的数

量。分裂基组,比如 3-21G 和 6-31G,对于价键轨道都用两个

函数来进行描述。我个人认为大的基组就是加入限制,对体系

的描述多。

6-311++g(3d2f,2pd)中表示:增加了更多的极化函数,包括

三组分裂的价键基组,在重原子和氢原子上加弥散函数,在重

原子上加的三组 d 函数和两组 f 函数,在氢原子上加的两组 p函数和一组 d 函数。

如果你不知道你所选择的基组群的计算规模,你可以加入

一个命令%kjob L??? 1,合适的 Link下,添加一个 kjob命令,

来测试你的机组规模。

解释:%KJob LN [M]指示程序在执行 Link N的第M 个事

件之后停止。例如%KJob L502 2表示执行模块 502两次后停止。

如果M 值省略,默认值为 1。对于第二周期元素,几个常用基组的基组规模测试结果

basis functions primitive gaussi anssto-3g 5 153-21g 9 256-31g* 15 286-31+g** 19 326-311+ +g** 22 366-311+ +g(3df) 39 586-311+ +g(3d2f,2p d) 46 68sddall 8 16tzvp 19 35aug-cc-pvdz 23 43aug-cc-pvtz 46 73aug-cc-pvqz 80 127aug-cc-pv5z 127 209aug-cc-pv6z 189 326

具体测试方法见http://emuch.net/bbs/viewthread.php?tid=1498413&fpage=1

(2.7)(2.7)(2.7)(2.7)怎么选择泛函,怎么选择基组?

这不是一句话能说清楚的。

关于这个问题,有篇文章讲得特别好

JPCA 2007, 111, 10439-10452-----------以下均为个人经验,搞错了不负责

《什么样的泛函和基组的组合,适合做的事情》

这些都是我自己科研经验和以前读的文献的总结。也没写

什么参考文献,就是随便扯扯,这就全凭自己的经验和记忆啦,

想到哪儿写到哪儿。这里面肯定有不对的,甚至有荒谬之极的

东西,还请大家指正。也希望自己抛砖引玉,其他高手也讲讲

自己的经验。

很少见到高手们总结自己的科研经验和阅览的文献。小卒

我这个屁股上还没褪干净蛋壳的小菜鸟,只好抛出一块又丑又

粗糙的破砖,引引高手们的美玉啦。

以下探讨均不涉及 cluster。主要是有机化合物、以及金属

离子和有机配体组建成的配合物。其计算也都是基于单个分子

的计算。周期体系不在考虑之列——这是一句无奈的词句,因

为我的研究方向不在此处,所以我确实没有仔细思考过它们

1分子结构、键长和键角:

对于比较轻的元素,比如 CHON之类,b3lyp/6-311++g**就很优秀,如果把基组加到了 aug-cc-pv?z 的程度,就没什么大

的必要了。有人甚至说,Cl以前的元素用 6-31g就好,如果有

孤对电子加个 d就行了,如果带负电荷就加个弥散。

对于一些中等重量的元素,LanL2DZ 或者 DZVP 之类的

基组就不错啦,没必要加更高的机组了,加了也是浪费。Fe的LanL2DZ 有人换成 SDD 试过,换了以后得到不同基态结果 ,

千万小心使用 SDD。第一行过渡金属,如果只有一个,那么 6-311+g*的计算量还是可以承受的;两个及两个以上,非赝势很

难算。lanl2dz和 sdd都是比较好的选择。除非做单点算,否则

非要上 mp2算就没太大必要了。

再重一些,比如稀土,LanL2DZ 就不行了,M. Dolg先生

搞出来的那个基组,斯图加特 RECP 的[5s4p3d]-GTO占了大部

分市场份额。而泛函选择上,百分之四十用的是 B3LYP,百分

之四十用的是 B3PW91,百分之五用的是MPn族,百分之五用

的是 CCSD(T)族,百分之五用的是 PBE族,百分之五用的是经

过改进的半经验。有时候还要自己选择,是用小核赝势呢,还

是大核赝势呢。听说 ADF 用 PBE/DZPZORA 处理稀土,效果

也不错,但是我没用过。

有金属的时候,据说 tpss 不错,但是我也没用过,不敢说。

这里 我 要 批 一 批 我 偶 然 见 到 的 一 个 文 献 :

Int.J.Electrochem.Sci. 2009, 4, 295-307,伊朗的一群人做的工作。

他们居然用 6-31G*计算稀土元素,这简直是扯淡,大家不要学

他。

半经验方法中,处理CHNO之类的元素,AM1和 PM3都不错,PM6也很好,他们可以作为我们前期粗略优化的手段。

不过要注意 AM1处理共轭体系不太好。有人用 Sparkle/AM1和 Sparkle/PM3处理稀土元素。精度并不是多么好,但是极大

地减轻了计算量,可以说还是很有成效的一个工作。不过这里

不探讨半经验,仅仅探讨密度泛函,所以不多说了。

一个例子:[Fe(CN)6]3-,我会选择 B3lyp/genecp 来优化其

分子结构,然后用 PBE1PBE/genecp 来计算其电子结构。genecp对应关系如下(其实,这个混合基组有自己的专门的名字,叫

做 LACVP+*)Fe 0LanL2DZ****C N 06-31+g*****

Fe 0LanL2DZ分子结构计算结果的优劣可以用有 2种方法加以检验,一

是与可获得的实验数据进行对照(但不要忘了实验数据本身只

是接近事实,而不是准确事实的本身,因为它们仍然是有误差

的),二是在优化结构的基础上计算性质,同样的,还是要拿计

算结果与更为有限的性质实验测定结果(它们同样有误差)进

行对照。这充分体现了人类认识自然规律的有限性——我们总

是只能获得相对真理。由于现有的计算理论本身在处理相关能

和相对论效应时有很多困难(理论的和实际计算上的),所以,

本人的研究都不涉及重金属,而只做轻元素体系,多为生物分

子体系,大量的计算实验表明 DZP 加弥散基组与 B3LYP 的结

合所得的结果可靠,所以一直使用。个人的精力是有限的,无

法大量进行方法的尝试与鉴别,所以,只有大量阅读文献来弥

补。实际上,就轻元素物质的结构而言, 6-31++G**的结果已

然非常不错了,但在计算性质时不妨对基组适当选择。如前所

述,因为实验有误差,所以有时实验并非一定可靠,更重要的

是,有的性质的测定,实验上是不可能进行的(至少目前是如

此),因而,计算怎样走在实验的前面,恐怕值得思考。

RI-DFT、RI-MP2方法,能比常规方法快一个数量级,但

精度接近。此外还有 RI-CCSD、RI-CCSD(T)等,不过用得很少。

Gaussian 0x的话可以试试纯 GGA+密度拟合,不会比 ADF的同

类方法差太多。

2氢键

氢键的计算,还是以 b3lyp、b97-?、pwb6k、b2plyp、b3p86、pbe1pbe、mpw1k这几族泛函比较好。基组的话,还是 aug-cc-pv?z、mg3s 好一些。其实劈裂价键基组也不错,但是必须加“大弥散”和“高角动量”,因为氢键还是比较弱一些,氢键对应的波

函数必须加大离域程度。

其实氢键还算是一个比较好算的东西。流行的 DFT中,

除了 OLYP和 O3LYP 之外,基本都有一定精度。氢键的计算,

基组的选择影响大一些,大弥散基组是必须的。

虽然 dft在研究氢键方面也一直有人在用,但现在大多数

的审稿人总是对这种方法持怀疑的态度,因为对扩散相互作用,

dft无法预测,而审稿人更为信任的是 mp2,而且一般需要大基

9

Page 21: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1组来计算,如 aug-cc-pvdz,aug-cc-pvtz等,但如果无法完成这些

基组,一些低一些的基组来做计算也是可以被接受的,如 6-31G++(d,p),6-311G++(d,p)等,但bsse校正是做氢键方面一个必

须要做的一部分。如aug-cc-pvdz,aug-cc-pvtz等这些大基组,bsse似乎影响不大,可以不做。

3远程弱作用

远程作用就比较扯淡了。B3交换泛函彻底完蛋。虽然我

主要也是 B3LYP阵营的人,但是要我在这个领域夸夸 B3LYP,

我还真不能瞪着眼睛说瞎话。这个领域 DFTB和 DFTB+曾经试

图在这个领域做些贡献,但是成就并不是很大。比较成功的是

DFT-D,包括 b97-d,b2plyp-d等等这些加上 dispersion项的 DFT了。

Truhlar的泛函 M05, M05-2X, M06, M06-2X 等等可能只

适用于某些体系,对于有些体系,照样给出糟糕的结果。LDA居然能出乎意料地给出 vdW作用,而其他 GGA泛函都不行。

这应该是个偶然,可能是正负误差相消的结果。比如,用LDA优化出的石墨层间距和实验值符合得相当好。PBE-D 方法总是

倾向于高估 vdW作用。

远程作用还有别的选择——尽管它会大大增加计算量

一种选择,使用MPn,还是不够准

另一种选择,是把MPn改造成 SCF-MPn,计算量忒大

再一种选择,使用CCSD(t)之类的,……呃,还是算了吧,

计算量我更受不了。

文献常见的高斯 09的方法有:MPW1KCIS,MPW1B95,MPWB1K,jiewei 先生推荐基组 tzv(2d,2p)/QZV3P。MS的话一

般用 GGA/PEB。基组问题:算远程作用必须用极大的基组——这是一句废

话,因为你要让两个分子相互作用,那么它们的波函必须能“够到对方 ”才行。从 TZV(d), 到 TZV(d,p), 到 TZV(2d,2p), 到TZV(2df,2pd),到 TZV(3d2f,3p2d),……继续加吧,能加多高,就

加多高,算远程弱作用,您永远别吝啬你的资源。当然,我绝

不反对你使用 DZV 族

另一个选择:从 6-311++g(d,p),到 6-311++g(2d,p),到 6-311++g(2df,2pd) , 到 6-311++g(3df,3pd) , 到 6-311++g(3d2f,2p2d),……继续加呀加呀加呀加!

再来个选择:从 aug-cc-pvtz,到 aug-cc-pvdz, 到 aug-cc-pvqz,……子子孙孙无穷尽也

听说过一族巨型机组,叫 ANO基组,当然还有它的一些

变体。ANO规模很巨大,算的能量相当精确,但是对于分子性

质没有那么好的效果。

4多加一句:关于核磁,给某些人提个醒儿

昨天,有人在 qq上问我,他说核磁计算结果与实验值相

差太大。我问他你用啥算的?他说是 b3lyp/6-31g*。我直接就无

语+仆街了。

很多人习惯用 6-31g*。这确实是一个很优秀的基组。但是

您居然扛着 6-31g*跑去算核磁,误差不达到百分之一千才怪。

算核磁最小的基组,至少要用 6-31++g(d,p)。这已经是最低要求

了,不能再低了,建议使用 6-311++g(2df,2pd)或更高

(2.8)NBO(2.8)NBO(2.8)NBO(2.8)NBO是什么?怎么用啊?

这也不是一句话能说清楚的。

关于这个问题,yjcmwgk写过 3个中文教程

一篇基础理论,一篇具体理论,一篇应用

见 http://emuch.net/bbs/viewthread.php?tid=1577069另有权威的 NBOManualhttp://www.ccl.net/cca/software/MS-WIN95-

NT/mopac6/nbo.htm(2.92.92.92.9)消除虚频的方法和经验?

首先,搞懂什么是频率

中学的时候我们学过简谐振动,对应的回复力是 f=-kx,对应的能量曲线,是一个开口向上的二次函数 E=(k/2)x 2. 这样的

振动,对应的 x=0 的点是能量极小值点(简单情况下也就是最

小值点)。这时的振动频率我们也会求ω=(2π)sqrt(k/m)。显然它

是一个正的频率,也就是通常意义下的振动频率。

然后,从频率的概念引出虚频的概念。

一维情况下,如果能量曲线是一个开口向下的二次曲线

呢?首先,从能量上看,这是个不稳定的点,中学的物理书上

称为“不稳平衡”。用现在的观点看,就是这个点的一阶导数是

零(受力为 0),且是能量极大值。如果套用上面的公式, “回复力”f=-k'x(实际上已经不是回复,而是让 x越来越远了),这

里 k'是个负数,ω=2π sqrt(k'/m)显然就是一个虚数了,即所谓的

虚频。Gaussian里面给出一个负的频率,就是对应这个虚频的。

实际情况下,分子的能量是一个高维的势能面,构型优化

的时候,有时得到了极小值点,这样这个点的任意方向上,都

可以近似为开口向上的二次函数,这样这里对应的振动频率就

都是正的。对于极大值点,在每个方向都是开口向下的二次函

数,那么频率就会都是负的——当然一般优化很少会遇到这样

的情况。对于频率有正有负的情况,说明找到的点在某些方向

上是极大值,有些方向上是极小值。如果要得到稳定的能量最

低构型,显然需要通过微调分子的构型,消去所有的虚频。如

何微调?要看虚频的振动方向。想象着虚频对应的就是开口向

下的二次函数,显然,把分子坐标按照振动的方向移动一点点,

分子应该就可以顺着势能面找到新的稳定点,但是也不能太小。

而所谓的过渡态,则是连接反应物和产物之间的最低能量路径

上的能量极大值。好比山谷中的 A,B两点,它们之间的一个

小土丘,就是过渡态,从A 到 B的反应,需要越过的是这个小

土丘,而不是两边的高山。这样,过渡态就是在一个方向上是

极大值,而在其它方向上都是极小值的点。因此,过渡态只有

一个虚频。

在进行 Gaussian计算时,经常会出现多个虚频个,每个都

只有-30~-20 左右,但是如果结构改动过大,则一不小心,

虚频就会更大。消除虚频的主要方法是改变构型。其次在计算

上还可以尝试:nosymm;加大循环次数;提高收敛度;iop(1/8=?)等。通常对于势能面很平,较小的虚频很难消除。为了解决以

上的这种现象,按如下的步骤一步步调整:

1). 增加收敛标准

在优化时采用 Scf(tight)的选项,增加收敛的标准。再去计

算频率。如果还有虚频,参见下一步

2). 降低对称性

对称性的影响,很多情况下的虚频是由于分子本身的对称

性造成的。这样,在优化时,如果必要,要将对称性降低,还

有,输入文件有时是用内坐标。建议如果有虚频的话,将内坐

标改成直角坐标优化。但是有时这一方法也并没有多大作用。

3). 坐标中和法

如果上述方法还有虚频,看一下虚频,找到强度较大的,

将在频率中产生的原子的振动坐标加到相应的输入文件中。这

样,重新计算,直到虚频没有。比较好的做法是分子结构输入

用直角坐标,将这些产生虚频的振动坐标直接与原始坐标相加。

加的时候不一定要将坐标直接相加,可以选择权重 f=0.1-1.0相加等。

4). 其他方法

实际上,如果分子柔性较大,很难找到最低点,这是电子

结构计算的问题,这种情况下,需要动力学的东西,用构象搜

寻的办法解决。如:模拟退火,最陡下降法,淬火法等。将得

到的能量最低的构象做一般的电子结构计算,这样,应当没有

问题。

如果上面几步仍然无法解决问题,则有可能是因为计算还

没有得到最稳定的结构,那么或者是分子结构有问题,或者是

计算错了,再者就是游离出现在计算的范畴。

最后如果是寻找过渡态,如果只有一个虚频,而且该虚频

对应某单键旋转震动,那么产生虚频的原因就是初始结构比较

接近重叠构象。这时把优化过的结构绕振动方向旋转几十度再

重新优化就有可能得到正确的结果。优化中等大小的有机分子

(50-100原子)的时候,应该经常碰到这种情况。 当出现两个

10

Page 22: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1以上虚频时,可以先看一下振动模式。如果多余的虚频,和想

要的振动模式发生在不同原子上,可以先固定过渡态模式所对

应的原子,然后做 opt到 minimal,一般可以把多余的虚频去掉,

再放开做全优化。或许会有所收获。

(2.102.102.102.10)L9999L9999L9999L9999 错误是什么?如何解决?L502L502L502L502 错误是什么?如

何解决?这简直是初学者遇到的最频繁的两种错误了

L9999错误是属于构型优化没有找到最后结果,即在规定

的优化步骤内没有找到最终的合适的结构。(L9999 错误)。

对于优化不收敛 ,即 L9999错误,实际上是在规定的步数

内没有完成优化,即还没有找到极小值点。(或者对于过渡态优

化,还没有找到过渡态),可以增加优化步骤,或是拿最后的结

构 接着进行优化。

此外这有几种可能性:

1. 看一下能量的收敛的情况,可能正在单调减小,眼看有

收敛的趋势,这样的情况下,只要加大循环的步数

opt(maxcycle=200),可能就可以解决问题了。

2. 加大循环步数还不能解决的(循环步数有人说超过 200再不收敛,再加也不会有用了,这虽然不一定绝对正确,但200步应该也差不多了),有两种可能。一是查看能量,发现能量在

振荡了,且变化已经很小了,这时可能重新算一下,或者构型

稍微变一下,继续优化,就可以得到收敛的结果(当然也有麻

烦的,看运气和经验了);二是构型变化太大,和你预计的差别

过大,这很可能是你的初始构型太差了,优化不知道到哪里去

了,这时最好检查一下初始构型,再从头优化。

3. 对于 L9999 快达到收敛时,考虑减小优化步长有时对于

能量振荡的情况也是有用的,opt(maxstep=1).一个建议是,对于大体系,难收敛体系,先用小基组,低

精度算法优化一下,以得到较好的初始构型,再用高精度的计

算接着算。如果前面的方法保留了 chk文件,重新计算时需要

使用 geom=allcheck 读入构型(就不必麻烦地写构型了),

guess=read(读入初始波函数,可以加快第一步 SCF 收敛)。

L502错误对应的是 SCF 不收敛,通常有以下的解决方法:

a. 使用小基组,或低级算法计算,得到 scf收敛的波函数,

用 guess=read读初始波函数。

b. 使用 scf=qc,这个计算会慢,而且需要用 stable关键字

来测试结果是否波函数稳定。如果这个还不收敛,会提示 L508错误。

c. 改变键长,一般是缩小一点,有时会有用。

d. 计算相同体系的其他电子态,比如相应的阴离子、阳离

子体系或单重态体系,得到的收敛波函数作为初始猜测进行计

算。

更专业的回答请参见(2.3)(2.112.112.112.11)writwawritwawritwawritwa错误是什么?如何解决?

要么是内存问题。可以增加内存(%mem=?)。要么或是硬盘问题,两种情况:

一种是你使用的是 32 位的系统或 Gaussian软件,那么你

的计算最多只能写 16GB的硬盘空间,即使你的电脑剩余空间

再多,需要的空间超过了 16G也要出错,如果是这样的,在命

令行尝试使用 maxdisk=2000mw关键词,也许会解决问题,如

果不行,你只能找 64位的版本来做计算了。windows下使用老

版本的 gaussian作计算时还会出现单个文件 2G 的限制,这时需

要在将这 16G 拆分成 8个左右的磁盘读写文件。在命令行的上

面添加

%rwf=name1.rwf,2gb,name2.rwf,2gb,name3.rwf,2gb,....... 这里的文件名随便起

另一种情况是你的系统和软件是 64位的,这种情况下如

果你没有定义最大硬盘, gaussian 就会无限的写下去,直到满

足要求为止,这时经常会出现硬盘被写满的情况,也就是你的

硬盘没有空间了,此时同样需要定义 maxdisk 关键词,容量至

少要比你的硬盘剩余空间小一些。

(2.122.122.122.12)优化震荡怎么解决?

1.尝试改变结构。首先略微减小键长,接下来略微增加键

长,接下来再对结构作一点改变。

2.关闭 DIIS 外推(SCF=NoDIIS)或改进的外推(GDIIS)。

同时进行更多的迭代( SCF=(MaxCycle=N) )。3.使用强制的收敛方法。SCF=QC通常最佳,但在极少数

情况下 SCF=DM 更快。不要忘记给计算额外增加一千个左右

的迭代。应当测试这个方法获得的波函,保证它最小,并且正

好不是稳定点(使用 Stable关键字)。4.将两个迭代震荡构型相加,重新进行优化:

两个震荡构型

分别是

C x1 y1 z1N x2 y2z2O x3 y3 z3和

C x1' y1' z1'N x2' y2' z2'O x3' y3' z3'那么你要用的新坐标就是

C (x1+x1')/2 (y1+y1')/2 (z1+ z1')/2N (x2+x2')/2 (y2+y2')/2 (z2+z2')/2O (x3+x3')/2 (y3+y3')/2 (z3+z3')/25.减小积分步长,使用iop(1/8=?)单位是0.01埃。默认是 30,

你最小可以调整到 1,但是要注意,这样很容易严重增大 opt循环步数。

(2.132.132.132.13)chkchkchkchk文件转化成 fchkfchkfchkfchk文件时默认内存不足,或者从fcfcfcfchkhkhkhk文件生成 cubecubecubecube 文件时默认内存不足,怎么办?

解决方法:

(1)在 winxp 下,依次点击控制面板,系统,高级,环

境变量,在上下两个输入框中分别加入一个新的环境变量——变量名 GAUSS_MEMDEF,变量值 200000000,然后重启电脑

(2)在 Linux下,输入

export GAUSS_MEMDEF=200000000,然后回车

这样就把 formchk和 cubegen 可以使用的内存,从默认值

6M 增加到了 200M如果你想改到 400M,GAUSS_MEMDEF 这个环境变量你

就改成 400000000,以此类推。这个值只认比特,不认 K\M\G这些符号

(2.142.142.142.14)溶剂化计算时如果溶剂不是高斯默认的话怎么处理?

eps=? 溶剂的介电常数。

rsolv=? 溶剂半径,单位是埃。

density=? 溶剂的密度。

具体看高斯说明书中关于 scrf关键字的解释

(2.152.152.152.15)对一个有很高对称性的分子,计算中出现"Inaccurate"Inaccurate"Inaccurate"Inaccuratequadraturequadraturequadraturequadrature ininininCalDSu."CalDSu."CalDSu."CalDSu."错误应该怎么处理?

这个错误并不是出现在优化的过程中,而是出现在第一次

scf迭代时,不是 scf 不收敛,而是 scf出了问题。往往没有什

么好办法,只能稍微调整构型来降低了一些对称性(比如 Ih转为 D5d)才算过去。这个意义上讲,symmetry(pg=?)应该也可行。

guess=indo是一个可行的解决办法,但是只适用于很小的

体系。大体系用这个关键词会出现不可克服的 scf不收敛,因此

他的问题可能出在体系太大,只能用降低对称性来处理。

(2.162.162.162.16)什么是 BSSEBSSEBSSEBSSE校正?为什么要做BSSEBSSEBSSEBSSE校正?怎么做

BSSEBSSEBSSEBSSE校正?

计算 A、B 分子间的弱相互作用能,不能简单地通过

E(interaction) = E(AB) - E(A) - E(B)来计算,因为 E(AB)能量相

对于 E(A) + E(B)的降低来自两方面,一方面是真实的 A、B分

子间的相互作用能,这是我们要求的;另一方面来自于 A、B分子的基函数在复合物体系中重叠,相当于增大了复合物的基

组而使 E(AB) 能量降低 ,这个部分贡献如 果也掺入

E(interaction),则高估了相互作用能,所以要去掉,它称为 BasisSet Superposition Error(BSSE)。所以双分子的相互作用能应该表

述为 E(interaction) = E(AB) - E(A) - E(B) + E(BSSE)。有时在分

11

Page 23: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1子内相互作用能计算时也要考虑 BSSE。

计算 E(BSSE)有多种方法,Gaussian03用的是目前广泛使

用的 Boys、Bernardi发展的 counterpoise correction 方法。设E(i)为第 i个分子在自身基组下的能量,E(i)'为第 i个分子在全部 n个分子上的基函数都出现下的能量,则计算 n个分子相互作用

能中的 E(BSSE) = ∑( E(i) - E(i)' ),这里 E(BSSE)为正值。注意

计算 E(i)与 E(i)'时的分子几何结构与处在复合物中时的一致。

要计算 A、B两个分子的相互作用能,在Gaussian03中使

用 Counterpoise=2关键字,会计算 5个体系,输出的能量按照

如下顺序:

E(AB):A、B基组下 AB复合物的能量

E(A,bAB):A、B基组下 A 的能量

E(B,bAB):A、B基组下 B的能量

E(A):A 基组下 A的能量

E(B):B基组下 B的能量

最后会输出 corrected energy (E(corrected))和 BSSE energy(E(BSSE)). 这里 E(corrected)就是消除了因单体基组重叠造成

的能量降低后的 AB 复合物能量, E(corrected) = E(AB) +E(BSSE)。E(BSSE) = (E(A) - E(A,bAB)) + (E(B) - E(B,bAB))。

BSSE 校正后的真实的相互作用能可以这样计算:

E(interaction) = E(corrected) - (E(A) + E(B))。也可以这样计算,

是等价的:E(interaction) = E(AB) - E(A,bAB) - E(B,bAB)计算过程中会输出类似这样的语句 :"Counterpoise: doing

DCBS calculation for fragment 1."这里就是说明接下来计算的是

E(A,bAB)(假设 A分子为 fragment 1),其中 DCBS 代表 dimercentered basis set,说明以 A、B 分子为中心的基函数都出现,

但是计算中并不纳入 B的电子和原子核,这称为计算 A 的能量

时添加了 B的 ghost 轨道;如果是 "doing MCBS calculation forfragment 1",就是要计算 E(A),MCBS 代表 monomer centeredbasis set,计算中只出现属于 A 分子的基函数。

若计算 n个分子,则关键字为 counterpoise=n,结果输出

顺序与计算相互作用能的方法与双分子的情况是一样的。能量

按如下顺序输出: E(AB),E(1)',E(2)'...E(n)',E(1),E(2)...E(n)。E(BSSE) = E(1) - E(1)' + E(2) - E(2)' + ... + E(n) - E(n)'。E(corrected) = E_complex + E(BSSE ) 。 E(interaction) =E(corrected) - ( E(1) + E(2) + ... + E(n) )。计算过程中也用 DCBS和MCBS来说明接下来将要计算的是哪项,但此时 DCBS中的

D 的含义就不是具体指 Dimer了,而是多分子复合物。

(2.17)(2.17)(2.17)(2.17)一些特殊的DFTDFTDFTDFT在 Gaussian03Gaussian03Gaussian03Gaussian03中如何输入?

我所谓的特殊的指的是 G03中不存在的 DFT,但是可以

通过用户自定义来得到的 DFT。Gaussian03可以使用具有下列

一般形式的任何模型P1*[P3*ΔEx(non-local)+P4*Ex(Sl ater)]+P2*Ex(HF)

+P5*ΔEc(non-local)+P6*Ec(local)P1~P6的值由 IOP(3)来指定

一套指定方式,支持四位有效数字IOp(3/45=mmmmnnnn)指定 P1为 mmmm/1000,P2为 nnnn/1000.IOp(3/46=mmmmnnnn)指定 P3为 mmmm/1000,P4为 nnnn/1000。IOp(3/47=mmmmnnnn)指定 P5为 mmmm/1000,P6为 nnnn/1000。另一套指定方式,支持五位有效数字

IOp(3/76=MMMMMNNNNN)指定 P1为MMMMM/10000,P2为 NNNNN/10000.IOp(3/77=MMMMMNNNNN)指定 P3为MMMMM/10000,P4为 NNNNN/10000.IOp(3/78=MMMMMNNNNN)指定 P5为MMMMM/10000,P6为 NNNNN/10000.举个例子

# BLYP IOp(3/45=10000200) IOp(3/46=07200800) IOp(3/47=08101000)

# BLYP IOp(3/76=1000002000) IOp(3/77=0720008000) IOp

(3/78=0810010000)这两个输入路径其实都相当于 B3LYP下面是几种特殊的 DFT输入方法(1)mpw1k/6-31+G(d,p)# mpwpw91/6-31+G(d,p) iop(3/76=0572004280)(2)MPWB1K/6-31+G(d,p)# mpwb95/6-31+G(d,p) IOp(3/76=0560004400)(3)MPW1B95/6-31+G(d,p)# mpwb95/6-31+G(d,p) IOp(3/76=0690003100)(4)TPSS1KCIS/6-31+G(d,p)# tpsskcis/6-31+G(d,p) IOp(3/76=0870001300)(5)MPW3LYP/6-31+G(d,p)# mpwlyp/6-31+G(d,p) IOp(3/76=1000002000) IOp(3/77=07

20008000) IOp(3/78=0810010000)(6)MPWKCIS1K/6-31+G(d,p)# MPWKCIS/6-31+G(d,p) IOp(3/76= 0590004100)(7)MPW1KCIS/6-31+G(d,p)# MPWKCIS/6-31+G(d,p) IOp(3/76= 0850001500)(8)PBE1KCIS/6-31+G(d,p)# pbekcis/6-31+G(d,p) IOp(3/76=0780002200)(9)PBE1W/6-31+G(d,p)# pbepbe/6-31+G(d,p) IOp(3/78=0740010000)(10)MPWLYP1W/6-31+G(d,p)# mpwv5lyp/6-31+G(d,p) IOp(3/78=0880010000)(11)PBELYP1W# pbev5lyp/6-31+G(d,p) IOp(3/78=0540010000)(12)TPSSLYP1W# tpssv5lyp/6-31+G(d,p) IOp(3/78=0740010000)(13)MPWLYP1M/6-31+G(d,p)# mpwlyp/6-31+G(d,p) IOp(3/76=0950000500)(14)MOHLYP/6-31+G(d,p)# OV5LYP/6-31+G(d,p) IOp(3/77=1292010000) IOp(3/78=0

500010000)(15)MOHLYP2/6-31+G(d,p)# OV5LYP/6-31+G(d,p) IOp(3/77=1849810515) IOp(3/78=0

500005000) (for Gaussian03 B&C)# OV5LYP/6-31+G(d,p) IOp(3/77=1292010000) IOp(3/78=0

500005000) (for Gaussian03 D&E)(2.12.12.12.18888)关于为什么使用QST3QST3QST3QST3的时候必须优化反应物和产物?

今天 QQ上有个虫友找我,说做 QST3计算,但是没有优

化反应物和产物的构型,就用这种未优化的初始构型和终止构

型计算了 TS构型。课题基本做完了,问我这样行不行。

我虽然很替他惋惜,但是我不得不说: “非常可惜,你的

计算确实没有意义”QST2和 QST3是基于 QST 过渡态理论的计算方法。这要

从 QST 计算方法的原理上来讲一讲了。

QST 的原理如图【8-2】,A 与 B是势能面上两个“碗底”。我打算用 QST 方法找一个 irc线。于是就先在 A 和 B之间画一

条直线,然后,逐步沿着这条直线上的垂线方向的力常数,开

始偏移这条直线,直到找到一阶鞍点 TS和合适的 irc 线。

如果 A 和 B的构型本身就没有被优化,如 A'和 B'这两个

点,那么 QST也将忠实的按照这条直线上的垂线方向的力常数,

开始偏移这条直线,直到找到 irc'。但是,这个 irc'与 irc 是势能

面上不同的线。irc'和 TS'并不是 irc&TS。如果你的产物构型和反应物构型搭建的很不错,很接近优

化后的构型,那么,如果你不优化产物构型和反应物构型,你

也能得到合理的 TS。比如图中的 A"和 B"。但是,你得到的 irc"仍旧是错的。

讲述完毕。心情沉痛,教训啊,很替他惋惜!大家一定要

引以为戒

(2.2.2.2.19191919)什么是极化连续介质模型(PCMPCMPCMPCM)?

Tomasi和他的同事提出的极化连续介质模型(PolarizableContinuumModel, PCM)是一个经常用到的连续溶剂化方法,

并且这些年来已经有很多的改进。PCM模型计算分子溶液中的

分子自由能为三项的加和:G(sol)=G(es)+G(dr)+G(cav)

12

Page 24: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1这些成分代表了静电的(es)和散射-推斥对自由能(dr)

的贡献,和空穴能(cav)。所有这三项都是由以原子位置为中

心的连锁范德华球定义的空穴来计算的。反应场是通过位于分

子空穴表面的点电荷(表观表面电荷模型)表示的。这里要讨

论的PCM的特殊版本是一种用为Hartree-Fock的联合原子模型

来构建空穴。在这种模型中,范德华表面是只由定位于重元素

(非氢元素)的一些球构建的联合原子方法。每个原子的范德

华半径是原子类型,连接性,分子总电荷,和连接氢原子数目

的一个函数。在评估方程(1)中的三项时,这个空穴的用法稍

微有些不同。【图 8-3】当计算空穴能 Gcav 时,采用范德华球定义的表面,溶剂

可接近表面被用来计算散射-推斥对自由能(dr)的贡献。后一

表面不同于前一表面,在后者中额外考虑了(理想化的)溶剂

半径。在溶液中静电对自由能的贡献 Ges 采用一个近似版本的

溶剂排斥面,该排斥面通过用一个常数因子约化所有的半径,

并在之后加入更多的不以原子为中心的球,以便得到稍微平滑

些的表面。

定域化和表面电荷的计算是通过系统地将球表面分割成

已知面积的镶嵌块计算每个表面元素的一个点电荷来达到的。

在 Gaussian98中执行 PCM/UAHF 模型可以用 SCRF关键

词结合 PCM 专用修饰词。 溶剂可以用对 SCRF 关键词给出

Solvent= modifier 来指定,可接受的溶剂名称是 Water(水) ,DMSO(二甲亚砜), NitroMethane(硝基甲烷), Methanol(甲

醇), Ethanol(乙醇), Acetone(丙酮), DiChloroEthane(二氯

乙烷), DiChloroMethane(二氯甲烷), TetraHydroFuran(四氢

呋喃), Aniline(苯胺), ChloroBenzene(氯苯), Chloroform(氯

仿) , Ether(乙醚) , Toluene(甲苯) , Benzene(苯) ,CarbonTetrachloride(四氯化碳), Cy clohexane(环己烷), Hepaten,and Acetonitrile(乙腈)。 附加的选项可以在输入文件的末尾指

定并用给 SCRF关键词指定 Read修饰词来读入。PCM 溶剂化

模型可以用于 HF和DFT水平下的能量计算和梯度计算。PCM计算产生的输出可以用 DUMP选项显著地扩展。

下面的例子输入解释 Cs 对称性的乙醇的水溶剂化自由能

的单电能计算(没有几何优化,【图 8-4】):#P B3LYP/6-31G(d) scf=tight int=finegrid SCRF=(PCM,Read,Solvent=Water)

pcm/b3ly p/6-31G(d) sp ethanol in water (Cs)

0 1O1C2 1 r2C3 2 r3 1 a3H4 3 r4 2 a4 1 180.0H5 3 r5 2 a5 4 d5H6 3 r5 2 a5 4 -d5H7 2 r7 3 a7 1 d7H8 2 r7 3 a7 1 -d7H9 1 r9 2 a9 3 180.0

r2=1.42492915r3=1.51965095r4=1.09569807r5=1.09496362r7=1.10264669r9=0.96904984a3=107.81130783a4=110.63999342a5=110.37205263a7=109.90077195a9=107.87777748d5=-120.23659087d7=-121.12750852

DUMP

由 PCM溶剂化模型引起的附加输出是由负责 SCF 计算的

L502产生的:Solvent: WATERModel : PCM/UAHF, Icomp = 4Version: MATRIX INVERSIO NCavity : PENTAKISDODECAHEDRA with 60 initial tesserae-------------------------------------------------------------------Nord Group Hybr Charge Alpha Radius Bonded to

1 OH sp3 0.00 1.20 1.590 C2 [s]2 CH2 sp3 0.00 1.20 1.860 O1 [s] C3 [s]3 CH3 sp3 0.00 1.20 1.950 C2 [s]

-------------------------------------------------------------------

------------------------------------------------------Dielectric Const = 78.39000High.Fr.D.C onst = 1.77600d(Diel.C onst.)/d T = -0.35620Molar Volume = 18.07000Therm.Exp.Coeff. = 0.00026Radius = 1.38500

Absolute temper. = 298.00000Number of spheres = 3OMEGA = 40.00000RET = 0.20000FRO = 0.70000Accuracy = 0.1D-05

------------------------------------------------------

头四行重复对水指定的设置或通常的 PCM缺省设置。溶

质空穴由范德华球构成,范德华球是由规则的 pentakisdodecahedra(五个十二面体——六十面体?)表示的,将每个球表面分

成相同尺寸的 60个单元。

后面的四行列出了 UAHF 分析的结果,确定只有三个中心

(联合原子)。对于每个中心,假设的杂化和它的形式电荷,最

后半径及溶剂专用约化参数 Alpha一起列出。后者通常用缺省

值 1.2, 但是也可以用选项ALPHA=x.x直接指定。

输出的最后部分列出了溶剂专用参数如介电常数和有效

溶剂半径,和一些更多的缺省 PCM 设置,如初始球的数目和参

数 OMEGA, RET,和 FRO 的当前值。后面的这三个参数控制着

渐入更多球(非以原子位置为中心)的过程,以便平滑表面。

新的 OMEGA值可以用

OMEGA=n,n选项设置。 有意义的值在 40.0-90.0之间(较高的值给出

较少的加入球)。新的 FRO值可以用

FRO=m,m指定。有意义的值在 0.7到 0.2 之间(较小的值给出较少

的加入球)。RET 指定加入新球的最小半径,新值可以用

RET=1.1指定。增加的数值给出较少的附加球,非常大的值完全消

除附加球。

PCM算法是首先进行一步气相能量计算,以便得到后面

溶剂化自由能计算的参考点。在结束气相 SCF 循环后,列出了

空穴产生的迭代过程的细节:---------------------------------------------------------------- CAVITY for ELECTROSTATIC term ------------------------------------------------------------------------ The SOLUTE is enclosed in ONE CAVITY -------

Total N.of Tesserae = 132Surface Area (Ang**2) = 97.71529Volume (Ang**3) = 84.60281

------------------------------------------------------Original Sphere On Atom Re0 Alpha Surface

1 O1 1.590 1.200 24.081122 C2 1.860 1.200 27.269193 C3 1.950 1.200 46.36498

----------------------------------------------------------------------------------------------------------------------------

AT CONVERGENCE132 Tesserae over a maximum of 1500Surface Area (Ang**2) = 97.71529Volume (Ang**3) = 84.60281

Escaped Charge= 0.13334Error on NUCLEAR pol.charges = 0.21898 Error on ELECTR. pol.charges =-

0.33812--------------------------------------------------------------------------------------------------------------------------------------------

--------dG(solv)/dEps (kcal/mol) = 0.00000

------------------------------------------------------IN VACUO Dipole moment (Debye):

X= 0.0176 Y= 1.5625 Z= 0.0000 Tot= 1.5626IN SOLUTION Dipole moment (Debye):

X= 0.1053 Y= 1.9429 Z= -0.0019 Tot= 1.9457------------------------------------------------------Tessera X Y Z QTot QSN QSE

1 2.84136 0.54870 3.42913 0.00354 -0.17977 0.18331132 -2.70116 -2.26783 -4.13447 -0.00393 -0.25391 0.24997

在这个例子(一切正常的)中不需要附加球。 总的表面

用 132个镶嵌块("Tesserae")表示。由于电子波函数的长尾(事

实上,没有结尾),用当前表面定义的分子体积不包含体系所有

电子密度,导致一些“逃逸电荷”。在每个表面元中心有一个表

面电荷“QTot”,它含有一个从溶质核电荷而来的组分和一个从

溶质电子电荷而来的组分。

在解电子薛定谔方程(包括附加的反应场效应)的求解过

程得到的结果给出如下:SCF Done: E(RB+HF- LYP) = -155.041616090 A.U. after 10 cycles

Convg = 0.1222D-08 -V/T = 2.0093S**2 = 0.0000

KE= 1.536131750668D+02 PE=-5.252140797608D+02 EE= 1.349508863800D+02-------------------------------------------------------------------- VARIATIO NAL PCM RESULTS -------------------------------------------------------------------

<Psi(0)| H |Psi(0)> (a.u.) = -155.033805<Psi(0)|H+V(0)/2|Psi(0)> (a.u.) = -155.040760<Psi(0)|H+V(f)/2|Psi(0)> (a.u.) = -155.041609

13

Page 25: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1<Psi(f)| H |Psi(f)> (a.u.) = -155.032883<Psi(f)|H+V(f)/2|Psi(f)> (a.u.) = -155.041616Total free energy in sol.(with non electrost.terms) (a.u.) = -155.041162

------------------------------------------------------(Unpol.S olute)-S olvent (kcal/mol) = -4.36(Polar.S olute)-S olvent (kcal/mol) = -5.48Solute Polarization (kcal/mol) = 0.58Total Electrostatic (kcal/mol) = -4.90

------------------------------------------------------Cavitation energy (kcal/mol) = 8.92Dispersi on energy (kcal/mol) = -11.39Repulsion energy (kcal/mol) = 2.75Total non electr. (kcal/mol) = 0.29

------------------------------------------------------DeltaG (solv) (kcal/mol) = -4.62

------------------------------------------------------

这里列出的:<Psi(0)| H |Psi(0)> (a.u.) = -155.033805是非微扰的气相 SCF 解,它被用作后面所有步骤的参考。

后面描述为:<Psi(0)|H+V(0)/2|Psi(0)> (a.u.) = -155.040760的能量包括非极化的溶质和非极化的溶剂之间的相互作

用。和气相参考能量对比得到相应的作用能:(Unpol.Solute)-Solvent (kcal/mol) = -4.36报告对应于非极化的溶质和极化的溶剂相互作用的总能

量之后,下面的重要信息是关于极化的溶质的总能量。<Psi(f)| H |Psi(f)> (a.u.) = -155.032883与非极化的气相总能量的能量差列出如下:

Solute Polarization (kcal/mol) = 0.58而且永远应该是正的。极化的溶质和极化的溶剂的全部作

用体系给出总能量:

<Psi(f)|H+V(f)/2|Psi(f)> (a.u.) = -155.041616相应的静电作用能列出如下:Total Electrostatic (kcal/mol) = -4.90溶剂化能的非静电部分在同一个 block 里给出,以空穴化

和散射-推斥能的加和结束:Total non electr. (kcal/mol) = 0.29非静电和静电贡献的加和给出了总的溶剂化自由能:

DeltaG (solv) (kcal/mol) = -4.62然而,需要认识到,这里说的溶剂化自由能是指温度为 0 K

的气相静止体系。为了在特定温度下得到热力学有意义的溶剂

化自由能,这些溶剂化自由能必须用气相热化学的标准处理进

行修正。 对于计算溶剂化自由能自身,作为气相和溶液自由能

的差值,这一步经常是省略的,PCM得出的数值被直接用来和

实验值相比。对乙醇来说,实验溶剂化自由能已经被测量为 -5.0kcal/mol。和这个值相比 PCM预测的-4.6kcal/mol 可以被认

为是相当精确的。

当溶剂化能作为气相和溶液相自由能的差计算的时候,必

须注意到它们各自标准态的定义。因为气相和液相浓度都是以

mol 值(mol/l)给出的,气相和液相的数据可以直接对比。然

而,气相值经常是指分压为 1atm。假设是理想气体行为,在

298.15K 这对应于 1/24.46 mol/l。改进的溶剂化自由能预测应该涵盖溶液中的结构松弛效

应。用PCM 模型的几何优化是可能的,但是比气相优化消耗多

许多的时间。这不仅是由于每次的能量和提速计算需要更多的

CPU时间,而且是由于优化过程的收敛缓慢和时常出现的振荡。

有两个选项对于减轻一些收敛问题是有用的,它们是 TSNUM和 TSARE:

TSNUM指定每个球的表面元的数目。 PCM算法选择规

则的多面体,该多面体的表面元的数目尽可能地接近 TSNUM。

除了缺省的数目 60,一些更大的值 64,80,或 100或许对于减

轻一些几何优化中的共振行为是有帮助的。

TSARE以单位(Angstrom)2指定表面元的面积。有意义

的值的范围从 0.4到 0.2,越小的值导致越大的表面元数目。将

表面元的尺寸设为特定的值导致等尺寸的表面元,而不考虑球

的半径(对于 TSNUM设置改变的情况并非如此)。

然而,在这两种情况中,总能量依赖于表面元的实际选择,

对不同体系或不同异构体的对比只有在选项选择相同的时候才

有意义。对于这里用到的乙醇的例子,几何优化在用缺省设置

时在 23圈仍没收敛,但是在用 TSARE=0.3时在 7圈内收敛,

得到最后总的溶剂化能 -155.043097702 au.和用气相几何作的

PCM的单点能计算相比(总能量为-155.041371 au),这暗示一

个-1.1kcal/mol 的结构松弛能,因此对溶剂化能“改进的”的预测

是-5.7kcal/mol。在应用当前的 PCM/UAHF模型于溶液中反应路径时的一

个问题是为范德华半径的导出使用杂化和连结性的直接后果。

因为杂化和连结性都不是平滑变化的,而是沿着反应路径突然

地从一点到另一点,UAHF方法一定会在溶剂化自由能图上产

生突然的断点。这些问题可以,从原理上,通过平滑地约化从

一组半径到另外一组, 或者通过完全地避免 UAHF 方法,选

择与连结性无关的半径。 对后者,一个通常的选择是 Pauling半径,用选项 RADII=Pauling可以做到。

第三章 GaussViewGaussViewGaussViewGaussView使用(3.13.13.13.1)用高斯进行几何优化后,在GaussViewGaussViewGaussViewGaussView中发现断了根键

(或者成键方式变化了),这是什么原因啊?

GaussView 显示时的成键断键问题的确是对初学者的一个

影响挺大的问题。

事实上各个版本的 GaussView (包括最新的 5.08)只是用

来搭建模型和分析计算结果中各种性质。

GaussView 对成键断键的判断还没有上升到使用波函数以

及各种布居分析给出的键级的层次,在默认的情况下,它对成

键与否的判断时唯一的判据是两个原子之间的距离。我想

GaussView 内部肯定对每一个原子都给出了一个最大成键半

径,当两个原子之间的距离大于二者最大成键半径之和,那么

默认是不显示成键的。GaussView 是否显示成键只能作为一个

小小的参考,因为他关于那个最大半径的定义很多时候是不合

适的。

不过图形显示中是否成键是可以改变的,在GaussView 默

认外置的菜单中有一个图标,鼠标放上去会显示"Modify bond",选中该图标,再去分子显示窗口中选择任意两个你要选择的原

子,就可以为他们定义是否成键,成什么级别的键。

为了搭建模型方便,你可以让距离很远的两个原子通过键

连起来,好一同移动,也可以让距离很近的两个原子之间断开

键,以便调整相互位置。

在使用 GaussView 时,如果想保留你搭建模型时原子之间

的连接关系,可以在计算设置选项卡的 General 选项卡中选择

“Write connectivity”,这样保存后的输入文件下次打开时还会显

示当前的连接关系。

由于输出文件 .out 或者 .log 不保存原子之间的连接关系,

因此,使用 GaussView 打开输出文件时,程序还是通过原子之

间的距离来判断是否成键。

如果想在打开优化之后的结构中显示你在输入文件中定

义的连接关系,可以在输入文件中定义检查点文件,也就是在

在计算设置选项卡的 Link0 选项卡中自行输入 %chk=文件

名.chk,这样计算完成后,用 GaussView 打开检查点文件会显

示你开始定义的连接关系。需要注意的是,如果你的结构在优

化的过程中变化较大,那么你开始定的连接关系有可能是错的。

另外,如果在 linux做的计算,而 GaussView 是 windows版的,

需要先使用 Gaussian 自带的 formchk工具将检查点文件转换

为.fchk文件才能在 windows 下打开。即在 linux下执行:formchk文件名.chk,将生成"文件名.fchk”文件

Gaussian计算需要很多的人为参与,使用GaussView 软件

的时候也是一样的。

(3.23.23.23.2)想固定某部分原子(键长、键角、二面角、相对位置、

相对方向)怎么做?

1.opt=modredundant 命令

在坐标后面写上你要固定的原子序号,例如

1 2 f,限制 1-2原子间键长

1 2 3 4 f,限制 1-2-3-4原子间二面角

14

Page 26: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 12.使用 constants指定,如下例可以固定水的键角 105.4度OH1 ORH2O R H1AVariables:R 1.0Constants:A 105.43.使用列标记,把直角坐标下的第二列改为-1,则会固定

原子坐标,

改为比-1还小的数值,这些被改动的原子间的相对位置固

定。

(3.33.33.33.3)GaussViewGaussViewGaussViewGaussView怎么打不开输出文件?后续问题:我明明放

在桌面上了啊,怎么会有中文路径呢?后续问题:不好意思,

楼上说的我还是不太明白。请问什么是路径啊?

如果你对电脑并不熟悉,建议你使用 4以下版本,因为GV4在临时文件存储中在命名时带有中文的时间显示,有时候会导

致 gv打不开文件(使用虚拟盘可以解决这一问题,所以建议新

手先不要急着用)。在 gv存储路径中不应该有中文出现,所谓

路径就是在你电脑分区中的位置,如 e:\111\2\3.out。而桌面在

电脑中的位置是 C:\Documents and Settings\Administrator\桌面。

所以放在桌面上的结果文件 gv不会认识的!【图 9】如果你要用 GV4以上的版本,你要自己手动做一些调整:

在你的 GV4.1的面板上,点击 CostomFragment 的图标,

出现一个对话框。你把对话框中的 Library改成你的 GV的安装

位置

比如,我的安装位置 D:\ProgramFiles\gview4,那我就把

CostomFragment中的 Library改成“D:\ProgramFiles\gview4”

第四章 其它问题(4.14.14.14.1)要查某个杂志属于哪个数据库,怎么查呢?后续问题:

不能下载啊,听说是权限问题,怎么解决呢?

对于大部分的大学和科研单位,由于资本有限,不可能购

买很多数据库。只能利用别人帮忙下载一些期刊文献,但总麻

烦朋友总不太好。熟话说,求人不如求己。下面我把我怎么获

得免费文献的经验告诉大家,希望有所帮助。

首先我们要知道我们要查的期刊文献属于哪个数据库。至

于哪些文献属于哪个数据库 ,例如化学期刊所属数据库列表:

http://www.sciencenet.cn/blog/user_content.aspx?id=10282接下来

我们就要知道各数据库的地址,我在这里列一些比较大的数据

库:SD:http://www.sciencedirect.comWILEY:http://www3.interscience.wiley.com/browse/?type=J

OURNALACS:http://pubs.acs.org/about.htmlRSC:http://www.rsc.org/Publishing/Journals/SPRINGERLINK:http://www.springerlink.com/journals/THIEME:http://www.thieme.de/connect/en/product-

type/journals.html等等......知道这些数据库,我们就可以搜索到具体文献的下载地

址,当然绝大部分文献下载要权限.你采用下面方式快速的获

取你所需要的文献。

我们先来了解一下比较大的学术资源搜索论坛或网站:

小木虫:www.emuch.net/bbs诺贝尔学术资源网:www.i-nobel.com子午学术论坛:www.ziwu.org/bbs红军长征:www.hjcz.or g/bbs萍萍家园:http://www.pet2008.cn/红樱桃化学化工论坛:http://www.6yes.com/bbs/index.php有机化学网:http://bbs.organicchem.com/index.asp化学吧:http://chem8.org/bbs/index.php阿果资源网:http://www.agpr.net/bbs/index.php鸭绿江医药论坛:http://forum.e2002.com/index.php

愚愚学园:http://www.seeus.cn/bbs/index.php零点花园:http://www.soudoc.com/bbs/index.php龙驰学术资源网:http://www.longread.net/index.php等 等 ......

在这些论坛注册之后,就可以发文献求助帖子.论坛规定

一般一天只能发一个主题帖子,但一个主题帖子可以同时同时

求助 2-5篇文献。发主题帖子之前一定要先看一下在文献求助

版面发帖子的版规(即版面规定)。一般发帖子的格式如下:

【求助原因】:

【篇 号】:

【题 名】:

【作 者】:

【杂志全称或缩写】:

【年份,卷(期),起止页码】:

【全文链接】:

【求助邮箱】:

每个网站发帖子大同小异,为了更快的获取你所需要的文

献最好是按照各个论坛版面的规定发主题帖子。

最后一点,千万别忘记了,那就是在你获得文献之后一定

要记得 24小时内修改一下你发的帖子的标题,以前是求助,下

载完之后要修改成成功或感谢标题。

就这样,就一切 OK 了。当然你也可能用其他的一些方法

获取文献,比方说使用代理。

(4.24.24.24.2)刚刚接触量化,大侠能不能给点学习建议?后续问题:

我数学没学好,怎么办?

刚开始接触的时候,先要搞明白 gaussian 是干什么的,在

哪些方面有什么用,接下来就要慢慢研究高斯 98/03中自带的

例子,再上网 down一些关于这些例子的资料(郭勇的《高斯使

用指南》【图 4】就很不错),google 一下就可以找到,里面有很

多种计算方法,自己算一下,搞明白是怎么来的,结果在哪个

地方,输入文件中的命令都是什么意思,然后再对应的去查一

下手册,以便以后自己计算的时候随心所用。

对于数学不太好的其实也没有关系,我们在进行量化计

算,他不是纯粹的数学计算,不用非得拿个数学硕士才能学高

斯,我想只要把自己研究方向中涉及到的数学理论复习一下,

再运用到实践中去,效果是非常好的!

(4.34.34.34.3)一看见量化书里那些公式就头大,没兴趣学下去了。我

该怎么办?后续问题:我以前是做实验的,理论化学的东西太

难了,没信心了,帮帮我吧后续问题:我不想学理论,我只想

学学软件操作,行吗?

我的建议是最好可以学习一下量化的基础知识,如果由于

时间等问题实在学不进去,可以先把软件学会,因为那些基础

的公式,理论,都被 gauss 公司的工程师们编成程序了,你会

用就可以做出一些东西。可以简单的分析一下——当然,高水

平的分析必须依赖扎实的量化基础。

你们实验室要是有以前做过量化的师兄,那更好了,和学

习一下就行,没有的话也无所谓。可以自己学,软件的东西很

快就可以学会。

写论文或是文章的时候可以看看人家是怎么写的,怎么分

析的,学习一下。结合自己的体系,学着写。毕业论文和水平

不是很高的文章应该没什么问题。

但是(这个“但是”很重要),要是你想发高水平文章,必

须好好学习基础量化的知识!这是无可避免的。不好好学习量

化基础知识,不可能发 JPCA、JCP甚至 JACS 等优秀杂志。甚

至可以这么说:量化基本功不扎实,JPCA、JCTC、JCP等杂志

的文章,你连看都看不懂,更别提写了。如果你只想在《inter. j.quantum. chem.》《 j. mol. struct. theochem》《中国科学 B》之类

三流、四流的杂志里混,甚至是核心 A 核心 B这种不入流的杂

志里混,那你可以不学量化知识——我不是说反语,而是指明

两条道路

15

Page 27: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

(4.44.44.44.4)高斯说明书实在看不下去,我可怎么办呢?

1. 英文版的看不下去,有两方面的原因:一是英语,当然

主要是计算化学方面的英语基础还不够;另外一方面的原因是

计算化学方面的背景知识不够。如果是其中之一,请看中文版

的,比较容易下载的是 G03中文用户参考手册 Zork译【图 4】2. 如果以上这本中文的都实在难以看下去,可能是上面两

方面都还需要提高。如果情况确实如此,建议看 清华大学 吴

国是的 G98使用入门【图 11】,这本书很精简,著者在课堂讲

过或者演示过,适用初学者。

3.如果最后一本都看不下去,改行吧!水滴石穿;不积小流,无以成江海。

(4.54.54.54.5)高斯自带的例子我不会运行,运行完了也看不懂,导师

和师兄师姐讨论的问题,完全听不懂,这咋办?

高斯自带的例子中运行的问题:首先要搞明白 gaussian98、

03如何使用(怎么样将打开输入文件,怎么样保存结果文件(不

会就看手册【图 4】,前几页配插图讲的很明白),然后,运行

高斯自带的例子,得到结果后,下载资料,推荐(郭勇的《高斯

使用指南》【图 1】),将输入文件和输出文件打开,慢慢对照着

看(命令行的命令是干什么的,对应的结果在结果文件中的位

置,单位),不懂的地方记下来,自己研究研究,再不会的地方

就到论坛上发帖!

这个问题,倒是很可以去参看下小卒斑竹的帖子,但是看

之前要有承受打击的准备哦。帖子地址

http://emuch.net/bbs/viewthread.php?tid=1405684(4.64.64.64.6)怎么问问题,才会得到高人的回答

http://emuch.net/bbs/viewthread.php?tid=1405684(4.74.74.74.7)如何获得高斯中没有的基组?

https://bse.pnl.gov/bse/portal(4.84.84.84.8)为什么要啃高斯说明书?

这一节是我临时起意才加上的。主要是想通过一个实例来

告诉大家,研习高斯说明书的重要性。这是一位网友给我造成

的契机。我在这里不点名,因为我没有任何恶意。相反,我对

您充满了敬意。

有些人觉得看高斯说明书没用,我每次看见这样的帖子都

心烦,但是我都忍了。但是某天我看见某位网友发了这样一个

帖子,我终于不能忍了。其实也不是这个帖有多过分,而是因

为这个帖子成了“超过我的忍耐力的最后一根稻草”。其实我倒

是真的没有什么恶意,只是想拿这个做个示例,告诉大家,这

个高斯说明书的讲解是多么齐全而且准确无歧义。

这位网友说:

在 g09 的用户手册和例子中经常看到是一个简单的分子

(比如水、乙烷等)优化构型,接着计算单点能什么的。我的

问题是:这两步计算是共用一个分子说明部分,还是第一步计

算的结果作为第二步计算的分子说明部分?如果我想将第一步

计算的结果作为第二步计算的分子说明部分,第二步计算结果

作为第三步的分子说明部分,第三步计算结果作为第四步计算

的分子说明部分,并且每一步计算中的电荷数和自旋多重度要

自己定义,每一步的计算结果都要写在输出文件中(也就是.log

中)以方便最后使用 gview 查看结果,命令行应该如何写?同

时如何用 gview 查看每一步的计算结果也是个问题?另外,听

人说 g09 不稳定,这种连续计算要是中间某一步出错,整个计

算就会终止,如何避免?希望大家能够耐心点给出命令行的写

法及注意事项,不要一个--link1--命令行就了事,其实这里面

有很多说道及注意事项的,用户手册和例子中也没有明确地说

明,需要大家给出自己的使用心得与经验,谢谢大家!

我终于忍不住了,就花一中午的时间,回了一个帖子(我

当时不在实验室,手头没有中文版的,就暂时用了英文版的说

明书来做了讲解。大家可以对照着 Zork翻译版来看,呵呵,不

好意思)

您说高斯说明书没有说明您的问题,那小卒我就请您看

看,高斯说明书是否真的像您所谓的那样,没有对您的问题进

行说明?

你的第一个问题是:

在 g09 的用户手册和例子中经常看到是一个简单的分子

(比如水、乙烷等)优化构型,接着计算单点能什么的。我的

问题是:这两步计算是共用一个分子说明部分,还是第一步计

算的结果作为第二步计算的分子说明部分?

好了我们先看看高斯说明书中关于 link1 的解释。在它的

解释中,说明书中举得例子如下%Chk=freq# HF/6-31G(d) Freq

Frequencies at STP

Molecule specific ation

--Link1--%Chk=freq%NoSave# HF/6-31G(d) Geom=Check Guess=Read Freq=(ReadFC,ReadIsotopes)

Frequencies at 300 K

charge and spin300.0 2.0Isotope specific ations

然后我们就要研究一下这个例子

在第二个任务的命令行中,有两个关键字 Geom=CheckGuess=Read。那么,我们来看一下这两个关键字代表什么

在高斯说明书中

guess 关键字的 read参数的解释如下

Requests that the initial guess be read from the checkpoint file(Guess=Read is often specified along with Geom=Checkpoint).This option may be combined with Alter, in which case the orbitalsare read from the checkpoint file, projected onto the current basisset, and then the specified alterations are made. Checkpoint is asynonym for Read. The TCheck option says to attempt to read aguess from the checkpoint file, but to generate a new one ifnecessary.

geom 关键字的 check 参数的解释如下:

Checkpoint(这个参数是 check 的全称)Causes the molecule specification (including variables) to be

taken from the checkpoint file. Only the charge and multiplicity areread from the input stream. For example, Geom=Checkpoint maybe used by a later job step to retrieve the geometry optimizedduring an earlier job step from the checkpoint file. This action issafe since Gaussian will abort the job if an optimization fails, andconsequently subsequent job steps which expect to use theoptimized geometry will not be executed. May be combined withthe ModRedundant option if you want to retrieve and alter themolecule specification in a checkpoint file using redundant internalcoordinate-stylemodifications.

好了,到此为止,高斯说明书已经对您的第一个问题做出

了明确回答:既不是 “这两步计算是共用一个分子说明部分 ”,也不是“第一步计算的结果作为第二步计算的分子说明部分 ”,而是在第二部计算的时候,从第一步计算得到的 chk 文件中读

取分子构型。

您的第二个问题是:

如果我想将第一步计算的结果作为第二步计算的分子说

明部分,第二步计算结果作为第三步的分子说明部分,第三步

计算结果作为第四步计算的分子说明部分,并且每一步计算中

的电荷数和自旋多重度要自己定义,每一步的计算结果都要写

在输出文件中(也就是.log 中)以方便最后使用gview 查看结

果,命令行应该如何写?

我们再来看看高斯说明书是否明确回答了这个问题:

仍然是参看 geom 关键字的 check 参数的解释。从这个解

释中我们可以很容易的读出它的含义,只要使用了这个参数,

那么每一次计算得到的 chk文件都会被下一部计算所读取。那

么您仍然按照高斯说明书中对 link1 举的例子,来写您的多步计

算任务不就成了?难道还有别的疑问吗?

你所谓的规定不同的自旋多重度,也在高斯说明书中有明

确定义。

geom 关键字的 checkpoint 参数的解释中有很明确的一句

16

Page 28: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1话 Only the charge and multiplicity are read from the input stream.在 allcheck 这个参数中也有很明确的一句话 Causes the moleculespecification (including variables), the charge and multiplicity, andthe title section to be taken from the checkpoint file.

这样,答案已经很明确了。如果您使用的是 check 参数,

那么电荷和自旋多重度,高斯请您自己输入。如果您使用

allcheck 参数,那么电荷和自旋多重度,高斯从上一步计算任务

中读取。您看,还有比说明书更明确的回答吗?

您的第三个问题:

听人说 g09 不稳定,这种连续计算要是中间某一步出错,

整个计算就会终止,如何避免?

我还是从说明书的解释中来直接回答您的问题:

在高斯说明书中关于菜单 Process Preferences 的 End BatchRun onError这个选项的解释如下:

End Batch Run on Error: Toggles whether to halt batchprocessing when an error occurs, or to skip to the next job in thebatch and keep going. (Default ON). Note: If this feature is activeand an error occurs while processing a batch, the batch start entryvalue is set to the file that caused the error.

看完这句话,我还用多说什么?您的问题并不是高斯是否

稳定的问题,而是您 de参数的问题。为了解决您的问题,您把

End Batch Run on Error这个选项勾掉就行了。还有比高斯说明

书更明确的解答吗?

您最后还发了一通感慨:

希望大家能够耐心点给出命令行的写法及注意事项,不要

一个--link1--命令行就了事,其实这里面有很多说道及注意事

项的,用户手册和例子中也没有明确地说明,需要大家给出自

己的使用心得与经验,谢谢大家!

现在您回答我:您现在觉得高斯说明书没有明确给出您的

问题答案吗?事实上,高斯说明书是一个非常全面的高斯指南。

事无巨细,面面俱到!我们都是做科学的,没有调查就没有发

言权。高斯说明书对某某问题的解答就白纸黑字地写在那里,

您却说高斯说明书没有说某某问题,您是不是太武断了些?更

让我感觉不解的是:您希望网友们“耐心点给出命令行的写法及

注意事项”之前,是不是自己应该耐心点读一读说明书呢?中国

古语:“己所不欲勿施于人”,您自己不愿意耐心点读一读说明

书,就不要怪罪网友们不愿意“耐心点给出命令行的写法及注意

事项”了吧。

(4.94.94.94.9)理论化学和计算物理应该投什么杂志?

括号内所写的 IF 均是 2009年 6月公布的影响因子

综合类杂志:

纯量化当然可以发很高档次的综合性期刊上了,如 JACS,Angew,ChemEurJ 等,Nature 和 Science 上关于纯量化的也有

过。不过那必须是大牛,而且一定是实验人能看懂的。很多时

候,理论工作被高档次综合性期刊拒稿,并不是理论工作做的

不好,而是做的太专业以至于只能在小圈子里自娱自乐。

大型专业杂志:

J. Chem. Phys.(简称 JCP)【IF=3.1】美国物理联合会老牌杂志,审稿人 2-3个,从投稿审稿到

出版系统完善,速度快,业内评价高,是物化领域最朴实最归

真口碑不说最好也是之一的杂志。很理论的杂志啊,一般都是

量化的方法发在这上面,欧洲人特别喜欢往这上面头。要求很

有新意,偏重方法的新意,审稿速度快。 JCP 侧重与新的化学

物理思想 ,常规的量化计算不容易中(老板很牛的除外)。

J. Phys. Chem.(简称 JPC)【A:IF=2.9;B:IF=4.2;C:IF=3.4】美国化学会老牌杂志,审稿人 2-3个,从投稿审稿到出版

系统也很完善,速度适中,业内评价亦高。JPC分为 4个子刊:

JPCA、JPCB、JPCC和 JPCL。JPCA 一般量化的都可以投,对

新意要求一般,偏重于应用。而 JPCB中的量化涉及生物分子

体系的基本上都是可以被采用的,不过这两个刊物都要求工作

必须做得系统,得到系统性结论。 JPCC 比较要求新意。JPCL刚刚出炉,静观其变。ABCL四个子刊主要是侧重点不同,即

使你投的 B编辑也可能会内部调整转到 A。实际上 JCP和 JPC两本杂志,基本上把理论与计算化学的

两个领域全包了。 JCP偏物理,JPC偏化学。它们的影响因子

并不是最高的,但是他们文章数量很大,胸怀宽广兼容并蓄,

历史积淀很深,内容翔实可靠,实为物化领域两朵金花。只要

是 JCP和 JPC的文章,都是拿得出手的。

其他专业或非专业杂志

ChemPhysChem(简称 CPC)【IF=3.6】偏化学,一般物理材料内不投稿。果然不愧为 2个 c,因

子在 cp类可算最高呢,可是那个 P 貌似优点不大副实,算不上。

审稿速度还可以 35-40天有消息,不用推荐审稿人,审稿意见

中两个审稿人,上面的文章都不错,对量化的要求是有很好的

创新性。

PhysChemChemPhys(简称 PCCP)【IF=4.1】是几个欧洲物理学会老牌杂志的联合体,现由皇家化学学

会打理。近年来影响因子飙升。不过一般教授都认为 jcp jpc杂志因子虽低于 pccp,但更看重前者。与 cpc相比,有一个缺点

就是限制图及文章字数。cpc放的比较开,没任何限制。不过

PCCP 越来越难中了,现在整的象 JACS 似的,据稿率会超过

70%,最近接受的文章中国人的很少 投的可是大有人在。如果

你觉得文章写的不错可以试一下,PERSPECTIVE 的文章还要

求要自己的照片,哈哈很光荣的。

J.Compute. Chem.(简称 JCC)【IF=3.4】这个今年影响因子大跌,以前可以看到很多量化的文章,

不过现在在分子模拟这一块似乎比较多。个人感觉偏重方法。

JCC上有很多引用率超高的文章,但大部分是引用率超低的文

章。

J.Chem.Theo.Compute.(简称 JCTC)【IF=4.3】ACS旗下的,偏重理论方法学的研究。如果你是纯理论的,

就别投了,不对口。如果你是做纯计算的,也别投了,也不对

口。理论和计算的桥梁,JCTC喜欢。

J.Theo.Compute.Chem(简称 JTCC)【IF=0.6】全称 Journal of Theoretical and Computational Chemistry,不

要和 ACS的 JCTC弄混了。海内外华人办的杂志,文章少,出

版慢,两个月才一期。内容主要是分子力学、化学信息学,有

点名不符实。

J. Chem. Inf. Model.【IF=3.6】和 JTCC内容类似,ACS刊物。

Theo. Chem. Acc.【IF=2.4】总体质量一般,但偶有佳作。这个杂志的卷号是跨年的,

所以我也搞不清一年出几期。大约 3-4周 1期,但一般是两期

合订本。

Int. J. Quant. Chem.【IF=1.3】大名鼎鼎的 Slater 创办的老牌刊物,不过现在沦落成了一

本著名的灌水杂志。内容类似于 Theo. Chem.Acc.。平均 3-4周出一期。如果毕业后不打算从事科研工作,或者急于凑文章毕

业,可以考虑这个刊物,但老在上面混,会伤人品的。

J. Mol. Struc.【IF=1.6】J. Mol. Struc.和 THEOCHEM 共享卷号,因此两个期刊的

卷号都是不连续的。J. Mol. Struc.接受实验,以及理论加实验的

文章,名声比 THEOCHEM 好得多。

J. Mol. Struc. THEOCHEM【IF=1.2】简称 THEOCHEM。另一本著名的灌水杂志,如果毕业后

不打算从事科研工作,或者急于凑文章毕业,可以考虑这个刊

物,但老在上面混,会伤人品。不过也不能一棍子打死,有些

思维怪异、人品高到一定级别的大牛,也往上面发表文章。他

们已经不在乎这个了。

Mol. Phys.【IF=1.5】分子物理领域的刊物。不收原子、周期体系的理论文章。

半月刊。

Phys. Rev.A【IF=2.9】

17

Page 29: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1每月 1期,非常厚的一大本。几乎每期都有一两篇分子量

子理论的文章,和 JCP的理论板块类似。

Phys. Rev. B【IF=3.3】每月 4期,接收凝聚态第一性原理模拟的文章。能带理论

方面的新方法也经常在上面发表。

J. Phys. Cond. Matt.【IF=1.9】从 J. Phys. C卷改名而来,英国物理学会期刊。内容类似

于 Phys. Rev. B。几乎一周一期。

J. Phys. B【IF=2.1】英国物理学会期刊。发表原子、分子物理的内容,如分子

结构、原子分子光谱、碰撞、辐射等。半月一期。

J. Phys. A【IF=1.5】英国物理学会期刊。内容为纯数学方法,可能和 emucher

有关系的是 Monte Carlo、Ewald,但一年不会有一两篇。几乎

一周一期。

J. Comput. Phys.【IF=2.3】内容和 J. Phys. A 类似,半月刊。这个杂志不要跟 J. Chem.

Phys.搞混了。他俩地位可不一样

Inorg. Chem.【IF=4.1】ACS刊物,经常有理论计算,或者计算实验相结合的文章。

如果是给实验工作者看的理论文章,倒是可以考虑它。不过理

论文章不能太专业,一大堆公式人家是不收的。

Comput. Phys. Comm.【IF=2.1】这个杂志上经常发表一些量化、凝聚态模拟方面的理论方

法和源程序。

J. Mol. Graph.Mod.【IF=2.3】发表的文章少,1个月才出一期,每期才 100多页。内容

比较传统,但是要求工作做得系统。

(4.104.104.104.10)关于发文章的等级问题

其实这一段,小卒的观点是有待商榷的。这一段也不是我

自己的意见,而是许多人的意见的汇总。这些人,呵呵,其实

跟你我一样,都是硕士生或博士生。同龄人献身说法,不知道

对大家有没有借鉴意义。

(1)影响因子是研究生的命根子

我的导师曾经说:“不要光看影响因子,还要看它在本领

域的地位。PCCP的 IF 虽然高于 JPCA,但是它还不成气候”云云。还见到一位老先生说:“多看看杂志 SCI 论文收录数和总引

用数,IF 是次要的”不过,咱们做学生的,奖学金标准,毕业标准,哪一个不

是跟 IF 紧密相连的?什么时候我们成了博导教授,评上了院士

或者长江学者等学术称号,我们才可以悠悠的说:“IF 不能太看

重……”说“IF 不能太看重”的人,有两种:要么自己水平有限不能

发高 IF 文章;要么就是一大堆高 IF文章已经攥在手里了,站

着说话不腰疼

其实投杂志就想买股票,你永远不知道明年它的 IF 的升

降。

XX大学化学与化工学院学院(真名隐去)要求“单篇论文

IF 大于 4”,或者“虽然没有 IF 大于 4的论文,但是SCI 总篇数

大于或等于 3”,才能允许毕业。几年前的一件趣闻:某人拥有

2篇 SCI论文,其中有一篇 InorgChem。当年 InorgChem 的 IF是 3.9,学院里跟他较真儿,就说他,没达到毕业标准(其实按

照毕业要求,也确实是刚好没达到)。该学生很郁闷,只好延期。

结果当年 7月份,新 IF 出炉,InorgChem 超过 4了,他一蹦多

高,立刻联系毕业,随即, 8月份,答辩,毕业,走人!完美

注解了这个成语“柳暗花明又一村”听说有些老怪物(本领域的大牛级人物,属于高级杂志随

便灌的那种级别的)喜欢把自己的文章投给低杂志。投完了还

会加一句:“看什么看,我就愿意,怎么着吧?”但是身为无名

小辈,我们绝不能这样做,我们必须能投多高投多高。

牛人投牛杂志,那是理所应当,水平高嘛,受人景仰;牛

人投破杂志,那是给这个杂志面子,更显示了牛人宅心仁厚,

颇具爱心嘛,还是受人景仰。

无名小辈投高杂志,牛人会说“这小子还行!”如果无名小

辈发了一大堆低杂志,不用牛人评价您了,光同学就能鄙视死

你。

(2)关于二级杂志和一级杂志(这是另一个身为在读研

究生的小牛跟我说的,让小卒佩服的五体投地)

如果你看到一个人的履历上写有这种字样: “在读期间,

发表 Inorg.Chem.2 篇, 发 表 J.Phys.Chem.2 篇, 发 表

J.Mol.Struct.Theochem3篇、中国科学 B一篇……”,你说大牛

们看见这份简历,会怎么说呢?他们一定会说:“这家伙挺勤奋

的,但是没有什么大的前途,就是个二级水平罢了……啊?居

然还有 J.Mol.Struct.Theochem 这种三流杂志?……等等,还有

中国科学 B这种末流杂志?不要!不要!”但是,只要能在这份履历中增加这个字样: “发表 JACS

一篇”或者“发表 Angew 一篇”,或者“发表 ChemEurJ 二篇”,这

时候,大牛们看见这份简历,会怎么说呢?口气彻底变了:“这小子还不笨!研究水平达到了一流水准,证明他的能力还不错;

而且二级杂志也不少,证明他的研究领域宽泛,这小子的知识

面还挺广的,孺子可教也……感觉这小子还挺有钻研劲的,从

中国科学 B这种末流杂志起步,一路研究,最后发到了 JACS这种一流杂志,不错不错……”

你看,只要有一两个一级杂志领衔,你所发的所有二级杂

志立刻就会被重新估价。

所以,作为在读硕博,我们必须追高杂志,追高 IF……路

漫漫其修远兮,吾将上下而求索。

我这样说其实很功利。真正投身于科研事业的人,请您不

要理睬。

18

Page 30: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Article

耗散粒子动力学模拟简介

bay__gulf618bay__gulf618bay__gulf618bay__gulf618CollegeCollegeCollegeCollege ofofofof CCCChemistry,hemistry,hemistry,hemistry,CCCChemicalhemicalhemicalhemical EEEEngineeringngineeringngineeringngineering andandandandMMMMaterirlsaterirlsaterirlsaterirls SSSScience,cience,cience,cience, SoochowSoochowSoochowSoochow UniversityUniversityUniversityUniversity

[email protected][email protected][email protected][email protected]

前言::::本文介绍了耗散粒子动力学(dissipativedissipativedissipativedissipative particleparticleparticleparticle dynamicsdynamicsdynamicsdynamics,DPDDPDDPDDPD)模拟的基本原理,使用dpddpddpddpd方法研究了水----油,水----表面活性剂等体系的微观特征,对DPDPDPDPDDDD方法的前景作出了预测。

动力学方法基于一种朴素的思想,这可以追溯到牛顿和拉普拉斯的时代,即给定体系的初值,就可以预测体系的演化。最早的MDMDMDMD方法的确是这样做的,

比如硬球结晶[1956][1956][1956][1956]、晶体辐射伤害[1960][1960][1960][1960]、氩气运动[1964][1964][1964][1964]等,当然对这种大量粒子的体系需要动用玻尔兹曼的气体动理论。现在的MDMDMDMD大都是基于统计力

学进行平衡模拟,而那种可以“看到”体系时间演化的感觉是对MDMDMDMD最直观最深刻的印象了。DPDDPDDPDDPD是在MDMDMDMD基础上发展出来的新方法,它既有MDMDMDMD在理论

上的严谨,又有震撼的视觉感受,且对计算资源要求相对较低。因此,,,, 本文选用DPDDPDDPDDPD为素材,轻轻叩响了经典模拟的大门。

1111引言

准确计算一个原子体系的动力学行为的方法是把每一个原

子看做一个质点,然后处理每个原子的运动学方程,这即是分

子动力学模拟技术的基础。它能够提供微观体系的运动细节,

但由于所涉及的体系太小,有些物理过程还不能用此方法解决。

此外还需要计算机具有强大的处理速度和内存容量,目前的只

限于研究几个纳秒的分子运动。许多的物理化学过程发生在微

妙(或更长)的时间,对此用分子动力学方法还远远不够。

Hoogerbrugge和 Koelman 于 1992年提出一项新的模拟技

术[1],这个技术由分子动力学和Lattice Gas Automata发展而来,

有效开辟了介观尺度的复杂流体模拟。该技术着眼于若干个原

子组成的集团,而不是单个原子。运动速度快的原子或小分子

被平均化,其余的简化为一组珠子( beads)。每个珠子都精心

设定了质量和大小。粒子的运动遵循牛顿运动定律。而如果组

成粒子的分子数目很多 ,DPD 模型能够充分发挥其优势 ,模拟

较大的体系和较长的时间。因此耗散粒子动力学方法可以被视

为一种粗粒化(coarse-grained )的分子动力学方法。

2222耗散粒子动力学模拟方法

每对珠子之间存在 3种相互作用力:保守力,耗散力和随

机力,每个力都有一个较短的截断半径。通过适当选择这些力

的具体形式和数值,一个模拟系统可以正确的显示出正确的演

化过程。据此可以得到体系在相空间中的运动轨迹,通过构造

合适的平均数可以得到体系的若干热力学观测量,比如径向分

布函数,序参数(order parameters),热容,表面张力,膨胀系

数,扩散系数等。

2.12.12.12.1 运动方程

粒子的运动满足经典力学方程

d d,

d di i

i i i

r vv m f

t t= =

此处 mi,ri,vi,fi 分别表示粒子 i的质量位置,速度和作用在

粒子 i 上的力,单位采用 dpd 约化单位,t 表示模拟过程的时

间坐标,亦采用 dpd 约化单位。

2.22.22.22.2 作用力

DPD中作用在粒子上的的力包含三个部分:

( )C D Ri ij ij ij

j i

f F F F≠

= + +∑2.2.12.2.12.2.12.2.1 保守力FFFFCCCC(conservative force)

保守力起源于原子或原子集团间的相互作用,它是粒子运

动的主要驱动力,但它不引起体系能量的改变。

(1 )0

C ij ij ijij

a r rF⎧ −⎪= ⎨⎪⎩

11

ij

ij

rr<>

2.2.22.2.22.2.22.2.2 耗散力FFFFDDDD (dissipative force)

耗散力起源于粒子运动的摩擦力,它总是阻碍粒子的运动,

降低体系的总动能。其形式为

( )( )0

DD ij ij ij ijij

r r rF γω⎧− ⋅∇⎪= ⎨⎪⎩

11

ij

ij

rr<>

2.2.32.2.32.2.32.2.3 随机力FFFFRRRR

随机力起源于粒子所受的布朗力,它的效果是增加体系的

总动能

( )0

RR ij ij ijij

r rF σω ζ⎧⎪= ⎨⎪⎩

11

ij

ij

rr<>

是一个随机变量,其平均值为 0。ijζ

2.32.32.32.3 积分方法

动力学模拟的核心在于通过数值方法求解关于时间的微分

方程。在分子动力学以及 dpd 中,常用的积分方法为 Verlet 算

法[2],此方法速度快,耗用内存低,并且在长时间模拟中不会

出现能量漂移。它的具体形式如下。

)()(2 4211 tOt

mfrrr n

nnn ∆+∆+−= −+

19

Page 31: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

)(2

211 tOtrrv nn

n ∆+∆−

= −+

2.42.42.42.4数据处理举例

DPD 模拟同MD模拟一样,可以追踪体系运动的各个细节,看

到体系随时间的演化过程。但仅仅靠”看”还不能说明问题,可

以通过构造合适的平均数得到体系的若干热力学观测量。

等压热容CvCvCvCv

在正则系综中,有

2 21( )vC E E

kT= < > − < >

膨胀系数 tκ

在正则系综中,有

2 2( )t

kTp p

Vκ = < > − < >

表面张力

1[ ( ) [ ( ) ( )]]d2DPD xx yy zzp x p x p x xσ = − +∫

3333算例

下面给出几例使用 DPD 技术处理水和烃类混合物的算例。

计算平台为 accelrys公司开发的 materials studio软件[3]中的 dpd

模块,全部计算在 1台 pc 机上完成,每个例子耗时仅有几分

钟。把每个水分子和 CH2 集团分别处理为 1个 DPD 粒子,名

字设为 w 和 o。相互作用采用下表给出的形式。

表 1 dpd 粒子的相互作用

3.13.13.13.1水----油体系

体系中的支链烷烃(油)采用正辛烷模型,由8个 o粒子构成

体系中水-油分子数之比为 8 : 1(粒子数比为 1 : 1),模拟

步数为 1500步。可以清楚看到,水和油之间形成了明显表面。

除此之外,还得到了压力波动,径向分布函数,表面张力等多

种信息。

(a) (b) (c) (d) (e)

图 1 水-油体系的 dpd 模拟过程。分别取自 300(a),600(b),

w o wall(off)

w 25 40 50

o 40 25 50

900(c),1200(d),1500(e) 步瞬间的体系分布。

3.23.23.23.2 水----表面活性剂体系

每个表面活性剂分子由 1个 w 粒子和 7个 o分子构成,模

拟步数为 1500步。可以看到表面活性剂在不同浓度是的集聚形

式。

3.2.13.2.13.2.13.2.1 体系中水-表面活性剂分子数之比为 72:1,表面活性剂形

成胶束。

图 2 水-表面活性剂(72:1)的 dpd 模拟,取自终态的分布。

3.2.23.2.23.2.23.2.2 体系中水-表面活性剂分子数之比为 20:1,表面活性剂形

成脂双层膜。表面活性剂的亲水段都朝向水(bulk water)中。

图 3 水-表面活性剂(20:1)的 dpd 模拟,取自终态的分布。

3.2.33.2.33.2.33.2.3体系中水-表面活性剂分子数之比为 1:1,表面活性剂形

成反胶束。

图 4 水-表面活性剂(1:1)的 dpd 模拟,取自终态的分布。

4444 总结

耗散粒子动力学 (DPD)方法是一种介观尺度的数值模拟方

法, 该方法适合于研究复杂流体的动力学行为 . 在 DPD 系统

中, 基本的单元是一些离散的被称为粒子的动量载体 , 这些所

谓的粒子具有粗粒化的概念 , 每颗粒子的运动代表的是大量分

子(或原子)的集体行为 , 而非分子动力学模拟中跟踪单个分子

(或原子)的运动行为。 相对于分子动力学中分子(或原子)之间

的势能来说 , 耗散粒子动力学中粒子之间的相互作用要 “软”

得多 , 因此, 耗散粒子动力学所模拟的时间和空间尺度要比分

子动力学大得多[4]。

介观模型描述的固体,液体及气体,其脚本单元比分子模

型大许多。通过计算机可以模拟该介观模型形成的结构,模拟

20

Page 32: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

它具有的性质和它的动力学行为。由于介观模型具有比分子模

型大得多的空间尺度和时间尺度,从而使模拟从纳米到微米尺

寸的液体,共混体系及结构材料成为可能。

DPD 还可以理解为宏观的微分流动控制方程在小尺度上

的随机描述 , 从这个意义上说 , DPD 方法是连接微观分子动力

学方法和宏观流体动力学方法的一座桥梁 , 是一种真正的介观

尺度的模拟技术。

参考文献:

[1] Hoogerbrugge, P. J.; Koelman, J. M.V. A. Europhys. Lett., 1992199219921992, 19, 155

[2] L. Verlet.Phys.Rew., 1967196719671967, 159, 98

[3] Accel rys, Materials Studio Getting Started, Release 4.0 ,Accel rys Software, Inc.: San Diego, 2006200620062006

[4] Groot R.D.; Warren, P. B., J. Chem. Phys., 1997199719971997,,,, 107, 4423

21

Page 33: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Review

NAMDNAMDNAMDNAMD计算自由能计算自由能计算自由能计算自由能bay__gulf618bay__gulf618bay__gulf618bay__gulf618

CollegeCollegeCollegeCollege ofofofof Chemistry,Chemistry,Chemistry,Chemistry, ChemicalChemicalChemicalChemical EngineeringEngineeringEngineeringEngineering andandandand MaterirlsMaterirlsMaterirlsMaterirls Science,Science,Science,Science, SoochowSoochowSoochowSoochow [email protected][email protected][email protected][email protected]

计算生化体系的自由能主要有如下4444种方法,这些在 namdnamdnamdnamd 中都已得到实现1111 probabilityprobabilityprobabilityprobability densities,densities,densities,densities,2222 nonequilibriumnonequilibriumnonequilibriumnonequilibrium workworkworkwork,,,,3333 freefreefreefree energyenergyenergyenergy perturbationperturbationperturbationperturbation (FEP)(FEP)(FEP)(FEP)4444 thermodynamicthermodynamicthermodynamicthermodynamic integrationintegrationintegrationintegration (TI)(TI)(TI)(TI)在 namd2.7namd2.7namd2.7namd2.7 版中对自由能的modulemodulemodulemodule进行了大幅度改进,可以使用复杂的collectivecollectivecollectivecollective variablesvariablesvariablesvariables 进行 probabilityprobabilityprobabilityprobability densities,densities,densities,densities,计算 ,,,, 从而实现在键角,,,,二面角 ,RMSD,RMSD,RMSD,RMSD

等各种构象指标变化下的 PMFPMFPMFPMF。而在2.62.62.62.6版本中仅能实现距离变化时候的 PMF,PMF,PMF,PMF, 本文只介绍 2.62.62.62.6 中 probabilityprobabilityprobabilityprobability densitiesdensitiesdensitiesdensities 的方法,就是ABFABFABFABF。FEPFEPFEPFEP 和 TITITITI 在思想和运行方式上极为相似,只是自由能的定义和处理方法略微不同。在namdnamdnamdnamd ugugugug 2.72.72.72.7 中,两种方法是放在一起介绍的,本文中也是放在一起介

绍。

本文所用教程主要有

(1) NAMD ug 2.6/2.7(2) Stretching 10Ala:http://www.ks.uiuc.edu/Training/Tutorials/science/10Ala-tutorial/(3) ABF-Mar2008http://www.ks.uiuc.edu/Research/namd/tutorial/abf/(4) C. Jarzynski, PRL, 78 (1997) 2690(5) S. Park, JCP, 119 (2003) 3559

1.1.1.1.ABFABFABFABFABF (average biasing force) 是 namd 中实 现 probability

densities 的一种方法 . 同这个方法相关的还有伞形取样 (umbrellasampling, US) 和WHAM. 该方法的基本公式为下式,此处 P 即为

在某点处发现例子的概率

( ) 01 ln PA Aξξβ

= − +

这个方法涉及到当某点势垒过高式,取样很少甚至取不到样,

可以采用给粒子加一个 bias force,使之可以到达高势垒区。具体的

处理方法本文不介绍,ABF方法在 US 基础上发展而来 , 在 namd计算 ABF时候, US 并不是必选选项。

下面给出的例子是 ABF-Mar2008 中, 10 个 ALA 的多肽

(10Ala)从 alpha 螺旋到拉伸成单链过程中的自由能变化,体系

在气相中共 104 个原子非常适合 (现在)研究各种自由能方法。在

tutorial 中给出的那个 conf 并不能直接使用,这里我们只要注意下

面的内容就可以了

命令详解

source ../abf-1.8/abf.tcl在 2.6 版中,abf 是通过 Jerome Henin 等人编写的 tclForce 的

脚本实现的,这里要 source 这个脚本。具体问题依你的情况而定,

这个文件在 namd 安装目录下的 lib/abf 文件夹中,即时你用

windows 版本,也要用/ 而不是\。在 namd2.7 中 ABF方法已经用 c++写入内核 , 使用方法参考

ug.abf coordinate distance在 ABF 的命令中,要以 abf 开头,实际上这是在 abf.tcl 中

sourcesourcesourcesource ../../../../abf-1.8////abf.tclabf coordinate distanceabf abf1 10abf abf2 92abf xiMin 12.0abf xiMax 32.0abf dxi 0.1

abf fullSamples 200abf dSmooth 0.1abf forceConst 10.0abf writeXiFreq 100

abf outFile atom-based_01.abf

定义的一个函数

此处的 coordinate 指的是 reaction coordinate,RC,有原子距离,基

团距离,在 z 方向的距离等等但都是 distance 而没有角度等等

abf abf1 10abf abf2 92前面说的距离,就是这两个之间的距离

数字是 AtomID (index),如果是基团就要用 都写起来

注意 vmd 和 namd 对 AtomID 的起点有所不同,还有 tcl 语法中和” ” 的相同与不同之处

abf xiMin 12.0abf xiMax 32.0abf dxi 0.1这是所要考察 RC 的起始点,以及 bins 的长度

如果体系的自由能 profile较复杂,dxi 要小一些,但会增加计算量

在这里区别两个概念: 如果把长的 RC分段计算,比如每 5A 一段,

共 4端,这样每一段叫做一个 window. 上面的 dxi 叫做 bin.abf fullSamples 200在每个 bin中 200 步之后取样,用以消除 nonequilibrium effects.abf dSmooth 0.1平滑处理,消除曲线的波动,但会使精细的 profile变化消失

这个参数默认值为 0abf forceConst 10.0力常数,默认为 10.0同自由能 profile 以及 dxi 的选取有关abf writeXiFreq 100在 stdout 中每个 100步输出类似下面的行

TCL: ABF> Xi at timestep 48200 : 18.7445838067abf outFile atom-based_01.abfABF 的输出文件,内容如下

A(xi) 就是在这点处的 A 值,av_force 是 A 对 xi 的导数

2.FEP/TI2.FEP/TI2.FEP/TI2.FEP/TI因为 nonequilibrium work 内容较多,这一节先介绍 FEP 和 TI.

前面讲过,只是自由能的定义和处理方法不同,思想和和在 namd中的运行方式是相同的如果说 ABF 是对位置进行限制,那么 FEP和 TI 就是对状态进行限制 . FEP/TI 计算的是某个原子或基团逐渐

grow 和 vanish 过程中自由能的变化,在 user guide 中放在

alchemical free energy中进行介绍的。

FEP/TI 可以计算蛋白质 mutate 产生的自由能变,可以通过设计

热力学循环计算某两个状态间的能差,也可以,举个例子,在水中

的一个乙醇渐渐消失,在膜中另一个乙醇渐渐出现,计算乙醇在水

proc abf keyword value set ::ABF::keyword $keywordset ::ABF::value $value… …

# xi A(xi) av_force n_samples10.100 0.0000 0.9421 102610.300 -0.1954 1.0121 1398… …

22

Page 34: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1和膜中的自由能差。

使用一个≤1的参数 lambda λ来定义粒子存在的状态,0为初

始态 a,1为终态 b. 体系哈密顿量用公式表示

( ) ( ) ( ) ( ) ( )0, ; , , 1 ,b aH H H Hλ λ λ= + + −x x x xx x x xx x x xx x x xxp xp xp xpxp xp xp xpxp xp xp xpxp xp xp xpFEP 的自由能表达如下式

( ) ( ) a b a

1ln exp , ,b aA H Hβ

β→∆ = − − −⎡ ⎤⎣ ⎦x xx xx xx xx p x px p x px p x px p x p

TI 的自由能表达如图 3 中所示的形式

1

0

( , ; )HAλ

λλ

∂∆ =

∂∫ xxxxx px px px p

这里只是让大家看一下公式长得什么样子,计算时候用不到处理这

些。

同样使用 ABF-Mar2008 中的例子,就是那个甲烷从真空中到水

中的能变. 教程中设计了一个热力学循环,不细讲这个循环,总之

就是那个物理过程的自由能变等于水中出现一个甲烷的 alchemy过程的自由能变。

下面是 namd ug2.7 中的例子

fepFile ion.fepfepCol B指定哪些原子出现或消失,当为-1时原子逐渐消失,为 1时逐渐出

现,为 0时不变

lambda $Lambda0lambd2 [expr \$Lambda0 + \$dLambda]每次计算一个 window 内的能变,这个过程在一个循环中完成,相

当于取了从 0.0到 1.0 的每个小区间,每次 run 10000步,共 10万步

TI 的用法就出现在 ug下面,同 FEP 的用法何其相似来尔

fepOn OnfepFile ion.fepfepCol BfepOutfile ion.fepoutfepOutFreq 5fepEquilSteps 5000

set Lambda0 0.0set dLambda 0.1while $Lambda0 <= 1.0 lambda $Lambda0set Lambda0 \[expr \$Lambda0 + \$dLambda]lambda2 $Lambda0run 10000

thermInt OntiFile ion.alch.pdbtiCol BtiOutfile ion.ti.outtiOutFreq 5tiEquilSteps 5000

tiLambda 0run 10000tiLambda 0.00001run 10000tiLambda 0.0001run 10000tiLambda 0.001run 10000tiLambda 0.01run 10000set Lambda 0.1while $Lambda <= 0.9 tiLambda $Lambdarun 10000set Lambda [expr $Lambda + 0.1]

TI 只需要定义一个 tiLambda 即可,同FEP 有两个 lambda 不

两种方法都有一个问题就是当 lambda 接近 0或 1的时候,会

出现很大的斜率. 需要采用这种越来越精细的划分,对FEP 亦当如

此. 在 tutorial 中有一个 fep.tcl 文件,可以简化这种操作,作为

support information 刊出 , 用法大家可以参考 tutorial 中的 conf 文

件自己捉摸.计算蛋白质 mutate 过程时候,需要制作 dual 的 psf 文件,这

个在 psfgen 中处理不了.制作方法参考: Alchemical FEP Tutorial:http://www.ks.uiuc.edu/Research/namd/tutorial/fep/这里不做介绍

3.3.3.3. SMDSMDSMDSMD3.1.3.1.3.1.3.1. 先介绍一点SMDSMDSMDSMD 的基本概念

SMD其原理是在常规分子动力学方法中以类似于原子力显微

镜技术的方式引入外力,使得分子体系沿着特定的方向演化,从而

可以在较短模拟时间内模拟体系在某 一特定自由度上较大时间尺

度的变化,故称之为受控分子动力学。与常规分子动力学相比,SMD模拟方法的主要优点是,它可以在目前分子动力学纳秒模拟所需的

计算时间内,引发分子体系较大的构象变化,从而模拟体系的动态

变化过程。根据施加外力的不同方式,SMD模拟方法分为恒力和

恒速 SMD,他们分别对应于 AFM方法中测定断裂力和测定强制

寿命的实验方案。需要强调的是,一般说来,SMD模拟的目的并

不是精确计算施加的外力的大小,而是模拟体系在外力的引导 下

所产生的变化。由于 SMD模拟过程是外力引发的热力学不可逆过

程,所以一般只能提供定性的信息。当拖动的速度足够小,使得整

个过程可逆的时候,外力所做 的功即等于体系自由能的变化,但

是目前计算机的计算能力还难以模拟如此缓慢的拖动速度。 这个

技术的英文名称自身就极为混乱,很多人把所有这些受力模拟称为

"Steered MD simulation (SMD)"。这个称谓主要来自美国某位比较知

名教授,本人觉得莫名其妙,同时十分难翻译。已有的译法有受控

分子动力学,拉伸分子动力学,牵引分子动力 学……。另外的一

种称谓与 AFM 联系起来,分别称常速拉伸与常力拉伸为"Force-probe MD simulation (FPMD)" 和 "Force-clamp MD simulation(FCMD)"。这种跟模拟原理相结合的称为比较合理,可以翻译为 "力学探针分子动力学模拟"和"力学探钳分子动力学模拟"。也有人建

议称之为"AFM in silico", silico 是拉丁语, 意为"硅",因此一般写

成斜体,In silico 是指"在硅之中",也就是"进行于电脑中,或是经由

电脑模拟"之意,衍生自另外两个在生物学上常用的术语: in vivo及 in vitro。这个称谓尚未见中文译名。

3.2.3.2.3.2.3.2. SMDSMDSMDSMD 计算拉伸功

NAMD 中的 SMD仅仅能实现 cvSMD,cfSMD 可以通过 namd提供 constantForce 实现,SMD 中要指定拉伸的方向和速度,以及

拉伸时候的力常数。在stdout 中输出当前时刻的位置和拉伸点受力

的大小。

当拉伸时候,往往需要固定或限制另一部分原子,否则整条蛋

白质就会一起被拉跑了。这些操作参数较少,较为简单,不做介绍。

cfSMD 用处不大,Liu et al. J. Phys. Chem. B 110 (2006) 12789中有一个精妙例子,通过 cfSMD 拉伸在跨膜短杆菌肽 A 中 Na+ ,

使 Na+ 在通过这个通道时候在自由能的谷底持续停留而在峰处一

下子就跳过去了,可以快速估计粒子在管中的自由能变,但不能精

tiLambda 0.99run 10000tiLambda 0.999run 10000tiLambda 0.9999run 10000tiLambda 0.99999run 10000tiLambda 1run 10000

23

Page 35: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1确得到 profile。

在 10Ala 中采用了 tclBC的方式实现 cvSMD,为实现拉伸

10Ala 一端的 N,并限制 (constraint )另一端的 N原子,实现拉伸。

程序每隔一段时间往一个文本中输出当前时刻,针尖位置,和作用

在针尖上力等信息。拉伸方向为 z 的正方向,但肽链上两个施力点

并不平行于 z,拉伸时候会拉过去,不需要调整。SI 中有一个 smd.tcl文件,在conf 文件中放到 tclForcesScript 的后面. 这个代码很容易

读懂,建议大家读一下,有必要时可以更改里面的部分内容

tclBC较 tclForce 有很多优点,此处用 tclBC 可能更好一些 .教程中使用了 3种拉伸速度,拉伸 20A 总耗时分别为 20ps,2ns 和

200ns,第三种为可逆拉伸,第二种近似可逆拉伸,用于自由能计

算,第一种为不可逆拉伸。需要再修改 outputFreq,保证既能几下

足够多的数据,又不使文件太大 .当拉伸速度足够慢时候,拉伸力

所做的功就是体系的自由能变, 功的积分公式如下'

0( ) ( ')d '

tW t v f t t= ∫

在算法实现时候,可以把积分化为求和。

下面是 calcwork1.tcl 文件中的内容,程序在 source 这个脚本

前已定义了拉伸速度 v (A/dt),积分时间 dt (存储两组数据的间隔 ),以及各个存储时刻的针尖受力。

10Ala教程给出的各个 tcl 脚本都比较简单,但需要多个脚本

合作才能完成一项具体操作。通过运行这个脚本,可以计算单次模

拟过程中,针尖所做的功,根据热力学第二定律,W ≥ ΔA 仅

当完全可逆拉伸时候等号成立. 这一步详细脚本从略,但需要注意

v,dt 等参数,这个 v 同 smd.tcl 定义的 v 都是拉伸速度,但并不

一样

下面重磅推出本文的明星方程,JJJJarzynskiarzynskiarzynskiarzynski 方程

set w set fsum 0foreach ftemp $f set fsum \

[expr $fsum + $ftemp * $v * $dt]lappend w $fsum

热 II定律给出了拉伸功同自由能之间的不等式,仅仅能用来

估计自由能变的上限而 Jarzynski 方程给出了一个等式,能精确描

述自由能 profile, 也就是 PMF. S. Park, JCP, 119 (2003) 3559 中提出

了 J 方程的累级近似,并发现用 J 方程的二级近似比原方程更精确

些。10Ala 例子中就同时计算了 J 方程,一级和二级近似得到的 freeenergy profile,并同可逆拉伸功做了比较。

教程中,以 2 ns 的时间拉伸 10Ala 20A 的距离,平行 10个样(这里的<>才算真正意义上的系宗平均),得到的位置和力的文件

存储在一个文件中。本文单独存储 10个文件,这都是由 smd.tcl 生成的。

首先说一下各个量的单位,在这里的 smd.tcl 中,

set Tclfreq 50 ;# every 0.1ps

set v 0.00002 ;# A/timestep在计算 pmf 的 pmf.tcl 文件中

set T 0.6 ;# kT,T=300k, Kcal/molset dt 0.1 ;# 存储间隔,psset v 0.01 ;# 0.01A/dt当使用 calcwork2.tcl (功能同 calcwork1.tcl 几乎一样,只是能

计算多条轨迹 ) 计算出来各条轨迹的 w 后,就可以通过 J 方程计

算自由能了。那个方程也不深奥,也就仅仅是一个对 10 条轨迹的

平均问题,详细算法么,下面的代码就像流水账一样,比文字还好

24

Page 36: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

set Fexp Set F1 set F2

for set i 0 $i < 20001 incr i 1 set texp 0set t1 0set t2 0

foreach l [array names w] set e [lindex $w($l) $i]set texp [expr $texp + exp([expr - $e / $T]) ]set t1 [expr $t1 + $e]set t2 [expr $t2 + $e * $e]

lappend Fexp [expr - $T * log([expr $texp / 10])]lappend F1 [expr $t1 / 10]lappend F2 [expr $t1 / 10 - $t2 / 12 + $t1 * $t1 / 120 ]

后面几行中有除以 10 的代码,这个 10 是指

10条轨迹,那个 12 是什么呢在编程上这种来历不

明的数叫做幻数,是一种极坏的编程风格.但这里这

么写是提醒大家注意, 10Ala 教程中给出的是 10和 100 ,而不是 12 和 120认为这里写错了,给个

提示,那个 T=0.6,大家想一下,如果我错了还请

指正。

下面的 PMF 结果是我求得的,发现同 S. Park的结论有点差别,那位同学说二级近似更精确些,

我的结果好像是不近似更精确。毕竟人家 Jarzynski明明推出来一个等式。

附录附上一些代码, 部分内容同 10Ala教程中名同菜不同

calcwork2.tcl 计算各条轨迹的功

cumulants.tcl 计算 PMF

foreach l [array names f] set w($l) set fsum 0foreach ftemp $f($l)

set fsum [expr $fsum + $ftemp * $v * $dt]lappend w($l) $fsum

set Fexp set F1 set F2

for set i 0 $i < 20001 incr i 1 set texp 0set t1 0set t2 0

foreach l [array names w]

set e [lindex $w($l) $i]set texp [expr $texp + exp([expr - $e / $T]) ]set t1 [expr $t1 + $e]set t2 [expr $t2 + $e * $e]

lappend Fexp [expr - $T * log([expr $texp / 10])]lappend F1 [expr $t1 / 10]lappend F2 [expr $t1 / 10 - $t2 / 12 + $t1 * $t1 / 120 ]

set pmff [open pmf.out w]puts $pmff "#z Fexp F1 F2"set i 0while $i < 20001 set ci [expr 13 + $v * $i /10]set fei [lindex $Fexp $i]set f1i [lindex $F1 $i]set f2i [lindex $F2 $i]

25

Page 37: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

pmf.tcl 相当于 c语言中的 main

使用方法,vmd -dispdev text -e pmf.tcl结果在一个较 pmf.out 的文件中

puts $pmff "$ci\t$fei\t$f1i\t$f2i"incr i

source load-traj.tclset T 0.6set dt 0.1set v 0.01source calcwork2.tclsource cumulants.tclexit

26

Page 38: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

Communication

ATK 双极系统建模注意事项

freshgirl Microelectronics Center, School of EEE, Nanyang Technological University,

Nanyang Avenue, Singapore 639798, Republic of Singapore [email protected]

Atomistix ToolKit (ATK)是一个能模拟纳米结构体系和纳

米器件的电学性质和量子输运性质的第一性原理电子结构计算

程序[1]。但是双极系统建模往往是令人头疼的问题,很多情况

下,搭建双极系统几何优化不能够收敛。这里分享一点个人经

验以及 emuch 上的讨论结果,请大家斧正。 ATK 双极系统建模之所以收敛难,说到底是电极和中间反

应物的界面耦合问题。这个道理很简单,单独拿出来电极或者

中间反应物优化,都能成功,但是一旦将电极和中间反应物链

接到一起,反而就不成功了。所以个人愚见,ATK 双极系统建

模根据中间反应物不同分为三类: 1. 中间反应物是小分子,没有周期性结构; 2. 中间反应物是晶体,具有周期性结构; 3. 中间反应物是碳管或者石墨层,这里专门拿出来

另当别论。 对于第一类情况,处理好界面问题的关键是小分子和电极

链接位。建议采用编程的方法变换特殊位置,系统总能量最低

者即为优化结果。不建议采用 ATK 自带的几何优化模块。用下

面的 Au-thiolated borazine 举例来说明[2]。这里,Au 采用(111)晶向,Au 与 thiolated borazine 由 s 原子链接。和见图一,和

图二。 首先,Au (111)晶向有三个特殊点,见标号。1 号与 Au 原

子并排,2 号中间空位,3 号两 Au 原子成键一半位置。s 原子

的位置可以由这三个位置中产生。系统总能量最低者,则是最

佳选择位置。

图一:Au (111)晶面示意图。 其次,中间小分子 thiolated borazine,由于是一个二维平

面分子,这就牵扯到怎样的角度最佳,需要慢慢试直到最佳

角度出现。当然,如果有实验作证某种角度最佳,则可以直

接拿来使用。

图二:Au (111)方向与 thiolated borazine 双极系统示意图。

对于第二类情况,处理好界面问题的关键是电极与中间反

应晶体的晶格常数差距不大,见图三[3]。这类建模问题最头疼,

因为大多数情况下总会出现晶格常数不匹配,就需要靠牺牲晶

体性质来获得可靠的输运特性。建议使用 MS,VASP 等成熟的

软件进行几何优化后,再放入 ATK 只做输运计算。

图三:Ru(001)方向与 HfO2 双极系统示意图。 对于第三类情况,界面问题往往反而不太重要,反而是碳

管 /石墨层本身的建模问题凸显。 emuch曾有人讨论,引

用sunray55网友的回答如下[4]: 我都是这么建纳米材料的。其实很简单。 1)MS 首先要会用, 2)然后建一个 bulk 的 unitcell,(比如 ZnO) 3)按照你想要的晶相切割这个原包;(比如 111) 4)建成一个新的 cell; 5)把这个新的 cell 放大成 SUPERCELL;(比如 2x2x4) 6)切掉多余的部分; 7)就形成了想要的纳米线了(在 Z 方向有周期性) 8)如果不想要周期性,比如要放到 ATK 中,在 Z 方向再切割

一些就可以了。 可以参考 Wang Q et al. 2005-2006 发的两篇关于 GaN nanowire 掺杂的文章,分别在 PRL and nanoletters 上。 希望对你有帮助

参考: 1. zdhlover开

贴, http://emuch.net/bbs/viewthread.php?tid=1085068&fpage=1

2. P. Bai etc, WSEAS TRANSACTIONS ON

ELECTRONICS, Issue 1, Vol. 1, Jan .2004, pp45-48.

3. Mukhopadhyay etc, Department of Chemical

Engineering, Stanford University.

4. sunray55网友6楼回答,

http://emuch.net/bbs/viewthread.php?tid=1116966&fpag

e=1

2020202010101010,,,,

27

Page 39: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Article

关于关于关于关于A+BA+BA+BA+B生成生成生成生成ABABABAB的反应能和相互作用能的区别与计算方式的反应能和相互作用能的区别与计算方式的反应能和相互作用能的区别与计算方式的反应能和相互作用能的区别与计算方式的解释的解释的解释的解释yjcmwgkyjcmwgkyjcmwgkyjcmwgk

DepartmentDepartmentDepartmentDepartment ofofofof Chemistry,Chemistry,Chemistry,Chemistry, UniversityUniversityUniversityUniversityofofofof ScienceScienceScienceScience andandandand TechnologyTechnologyTechnologyTechnology BeijingBeijingBeijingBeijing,,,, BeijingBeijingBeijingBeijing 100083,100083,100083,100083, [email protected]@[email protected]@foxmail.com

(1)先对各个结构进行定义:

单独优化 A,得到的结构是 A1,其能量为 E(A1);单独优化 B,

得到的结构是 B1,其能量为 E(B1)。优化复合物 AB,得到的结构是 X,对 X 进行 BSSE 校正后,

得到其能量为 E(X)。(2)然后在结构 X中,抽取原先属于 A 的那些原子,计算单

点能,得到 E(A2);抽取原先属于 B的那些原子,计算单点能,

得到 E(B2)。(3)计算:

E(reaction)=E(X)-E(A1)-E(B1);E(interaction)=E(X)-E(A2)-E(B2);E(A 的变形)=E(A2)-E(A1);E(B的变形)=E(B2)-E(B1);E(reaction)=E(interaction)+E(A 的变形)+E(B的变形)(4)解释:

见图 1和图 2来解释这个问题。

图 1表示了反应前和反应后的能量变化过程。2号线代表 A分

子在反应过程中,由于结构的变化,造成的分子能量的升高,

也就是E(A 的变形);3号线代表 B分子在反应过程中,由于

结构的变化,造成的分子能量的升高,也就是E(B的变形)。1号线则是“2号线和 3 号线的累加”,也就是[E(A 的变形)+E(B的变形)],我们命名其为E(Y)。从1号线我们可以得出结

论:E(Y)永远是正值——毕竟,从一个能量最优的全局最小

点,无论向哪个方向偏移,都会造成能量升高。

图 1中的 4号线代表随着 A 和 B的相互靠拢,A 和 B之间产生

了相互作用,致使A和 B之间的总势能降低(在不考虑 A 和 B变形的前提下)。我们称它为E(Z)。很显然,E(Z)是负值(如

果 A 和 B之间以吸引力为主)或正值(如果 A 和 B之间以排

斥力为主)。如果E(Z)>0,那么我们就根本没有考虑的必要了

——因为他们根本不可能结合。因此,我们只考虑E(Z)<0的情况。如果E(Z)<0,那么,A 和 B之间能否结合,将取决于

E(Y)和|E(Z)|谁更大。如果E(Y)<|E(Z)|,也就是图 1中的 5号线表示的那样,整个体系的总势能下降,致使整个体系

稳定性增加,因此A 和 B可以结合为 AB。相反,如果E(Y)>|E(Z)|,则证明 A 和 B之间的吸引不足以克服 A 和 B变形所

带来的阻碍,A 和 B则无法结合为 AB。

问::::不知道作者根据什么得出的

E(interaction)=E(X)-E(A2)-E(B2)E(interaction)=E(X)-E(A2)-E(B2)E(interaction)=E(X)-E(A2)-E(B2)E(interaction)=E(X)-E(A2)-E(B2)?这个解释与维基百科上的解释相悖。

维基百科的解释如下:

InteractionInteractionInteractionInteraction energyenergyenergyenergy(FromFromFromFromWikipediaWikipediaWikipediaWikipedia)A straightforward approach for evaluating the interaction energy isto calculate the difference between the energies of isolated objectsand their assembly. In the case of two objects, A and B, theinteraction energy can be written as:Eint=E(A,B)-[E(A) +E(B)]where E(A) and E(B) are the energies of the isolated objects(monomers), and E(A,B) the energy of their interacting assembly(dimer).The supermolecular approach has an important disadvantage in thatthe final interaction energy is usually much smaller than the totalenergies from which it is calculated, and therefore contains a muchlarger relative uncertainty.答:维基百科似乎不是很科学,它也就比百度百科的“不严谨程

度”稍好一点而已维基百科的Eint并非对应于我所说的

E(interaction)维基百科的Eint事实上对应于我所说的

E(reaction)我严格区分了 interaction和 reaction,interaction仅仅

是 A 与 B的相互作用——这个相互作用完全独立于 A和 B的

变形所造成的能量变化。如果要考察 A 和 B的由于变形所造成

的能量变化,请看我的帖子中的E(A 的变形)和E(B的变

形)。维基百科中,他所谓的 interaction,并非只有A 与 B的相

互作用,而是包含着 A和 B的变形所造成的能量变化(这种能

量变化往往是不可忽视的)。所以,维基百科中所谓的Eint 远非真正的相互作用能。笼统考虑,在某些时候,并不是科学态

度(当然,我不是说全部)。我们应该把各个因素分开考虑,这

才有了我这里严格区分的E(interaction)、E(reaction)、

E(A 的变形)、E(B的变形)、E(X)、E(A1)、E(B1)、E(A2)、E(B2)、E(Y)、E(Z)。我之所以分成这么多项目,就是为了将各个因素

分开,而不是笼统的考虑它们做科研应该有自己的思想,而不

是人云亦云。别人说的话,是需要自己考虑一番才行的,而不

是全盘接受。我在 1楼发的帖子,很明显比维基百科上的说法

要深入一些,毕竟维基百科上的定义比较笼统,而我将这个反

应过程的两个因素(吸引和形变)分开来考虑。可能 robustljb 先

生发现维基百科上的符号Eint和我的符号E(interaction)在表面上是一致的,而没有深入考虑到维基百科上的符号Eint和我的符号E(reaction)才是本质上一致的。

图 1

图 2

28

Page 40: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Review

Materials Studio 中虚拟晶体近似的建模及应用

yyyyjmaxpaynejmaxpaynejmaxpaynejmaxpayneSchoolSchoolSchoolSchool ofofofof MaterialsMaterialsMaterialsMaterials ScienceScienceScienceScience andandandand Engineering,Engineering,Engineering,Engineering, NanyangNanyangNanyangNanyang TechnologicalTechnologicalTechnologicalTechnological University,University,University,University, Singapore,Singapore,Singapore,Singapore, 639798639798639798639798

[email protected]@[email protected]@163.com

iiiidentationdentationdentationdentationDepartmentDepartmentDepartmentDepartment ofofofof MaterialsMaterialsMaterialsMaterials ScienceScienceScienceScience andandandand Engineering,Engineering,Engineering,Engineering, ZhejiangZhejiangZhejiangZhejiang University,University,University,University, Hangzhou,Hangzhou,Hangzhou,Hangzhou, 310027310027310027310027

....

前言:

淡江大学物理系李明宪老师NCHCNCHCNCHCNCHC CASTEPCASTEPCASTEPCASTEP教材CASTEPCASTEPCASTEPCASTEP实战守则中曾提到 :对于相互取代的元素种类在化学行为上类似的特殊情况下,CASTEPCASTEPCASTEPCASTEP会提供一种虚拟晶体近似(VirtualVirtualVirtualVirtual CrystalCrystalCrystalCrystal ApproximationApproximationApproximationApproximation,VCAVCAVCAVCA)方法,使模型里的原子可以指定成如0.3A0.3A0.3A0.3A 元素+0.7B+0.7B+0.7B+0.7B元素的样子,从而以最小晶胞作为

计算的模型。

尝试始于对BaBaBaBa0.250.250.250.25SrSrSrSr0.750.750.750.75TiOTiOTiOTiO3333体系的建模,该体系属于无序结构:BaBaBaBa 和 SrSrSrSr分别以0.250.250.250.25和 0.750.750.750.75的几率随机占据钙钛矿结构ABOABOABOABO3333中的AAAA格点。而采用

通常的建造超晶胞再置换其中某些格点原子的方法构建的晶胞则是有序结构。查阅MSMSMSMS 在线说明书,偶然间发现MSMSMSMS可以实现这种无序体系的建模,而且已

经有相关研究人员利用VCAVCAVCAVCA方法做计算并发表论文。当然,李明宪老师在他的教程中曾经提到““““这种方法的精确度通常只适用于合金材料,故要小心使用””””。现以BaBaBaBa0.250.250.250.25SrSrSrSr0.750.750.750.75TiOTiOTiOTiO3333为例,把构建这种无序体系模型的步骤以及对电子结构的影响进行讨论,以供参考。

1.1.1.1. MSMSMSMS中中中中 VCAVCAVCAVCA方法简介方法简介方法简介方法简介

形如 Ba0.25Sr0.75TiO3体系,Ba和 Sr 各以 0.25和 0.75的几

率占据BaTiO3中的Ba所在格点,MS支持以一种mixture atoms的形式进行无序模型的建模,可以用 2种或 2种以上原子同时

占据某个位置的模式来描述这种无序体系,即,混合原子的波

函数是多种原子的波函数的线性组合。当然,这些占据同一位

置原子的浓度总和须等于 100%。

但是, Materials Studio 中所使用的虚拟晶体近似有如下

局限性:CASTEP 中的分子动力学算法不能在虚晶体系中实现,

布局分析、晶格振动特性(声子态密度等)、光学性能无法计算,

CASTEP 几何优化中的 Damped-MD算法无法实现。因而,在

选用虚晶近似的时候,要注意以上的局限性,并且要考虑所建

立模型是否具有物理意义,因为VCA 方法仅仅为处理无序系统

的一个简单平均近似,可以应用于研究整个体系的平均性质,

然而在处理长程有序和局域相互作用方面,这一方法是不适用

的。

2.2.2.2. 小木虫中有关小木虫中有关小木虫中有关小木虫中有关VCAVCAVCAVCA方法的精品讨论集合方法的精品讨论集合方法的精品讨论集合方法的精品讨论集合

通过对小木虫中已有 VCA 相关帖子的搜索,对其中的精

彩讨论部分总结如下,并且在这一基础上本文将进一步把 VCA近似的建模步骤及其对体系电子结构的影响进行系统的讨论,

希望能够对这一问题有一个全面的认识。

在[3]中,aylay08楼主提出了如下建模方式:

刚刚做了几组无序掺杂的晶体模型设置,发现无法用

Occupancy 来实现同一位置不同元素混合分布的要求。因为

Occupancy只是对于不同位置具体存在的元素有用。所以做无

序掺杂还只能用 Composition。【首先应该按照未掺杂的情况来

建立 3D 模型,之后选择所有要掺杂的元素: Edit→AtomSelection→选择元素,勾选 Add to the existing selection,点

Selection 。 全 部 选 上 。 调 出 Properties 对 话 框 ,

View→Explores→Properties Explores。在 Composition上双击,

再点 Edit,将未掺杂元素的 Composition修改成所要的组分百分

比,之后再 Add,选择掺杂元素,设置百分比,OK即可。】这

样的处理,感觉就是原来的原子都不动,只是你掺杂的位置成

分多了,而且在计算时,掺杂的位置仍然是按照一个原子来对

待,并不区分到底是哪一种元素,也就是无序了。但遗憾的是

在计算设置时,无法再选择 Population analysis,因为:Cannot runCASTEP for the given scope (disordered crystal). The followingfeatures are not supported:Population analysis。而且别的性能也

有很多不可以计算。对于自旋设置也有问题。因此在后续分析

的时候没有 population 分析就显得苍白了,而且单个原子的分

析也很难了,就因为无法分开掺杂位的相异原子。

之后 hopingzmn提供了一个很有价值的参考资料:

Material Studio中构建 BexZn (1-x)O 晶胞:

方法 1:【 file→import→metal oxide→ZnO,选择图中所有

Zn 原子,在 property 框中双击 composition,修改 Zn 原子的比

例,然后 add选择你需要添加的 Be,填上比例。】也可以选择

property 中的 ismixtureatom 来改写。Ps:这种方法为 disorder即无序状态以某种比例混合的合金,同理也可以处理无序的占

位问题。这种方法中要算的原子数是:Zn-2 个 Be-2个 O-2个,

共 6个。

方 法 2 :【 file→import→metal oxide→ZnO ,

→build→symmetry→make P1,→build→symmetry→supercell】通过下列计算,算出你的 supercell大小:晶胞个数×原晶胞中要

取代的原子数×掺杂原子的比例 = 整数 例如 Be1/8Zn7/8O,ZnO晶胞为 4个原子,其中 2个 Zn 原子即 N×2×0.125 = 整数,那

么 N 需要等于 4,才可得一个整数。那么你的 supercell可以选

择 2×2×1,此时要算的原子总数是 16,其中 Be为 1个,你需

要确定取代哪个 Zn。由于此时 supercell 结构中 Zn 的位置可能

是不同的,所以取代的位置应该有好几种,算出的结果可能也

是不同的,我想应该找出所有可能的结构,算出能量最低的一

种,然后再算其它的性质。

比较:方法1和方法 2 的结果显然是不同的,应该说方法

1中的是一个统计平均值,而方法 2中的是一种特殊的情况。

但对应的结构是最稳定的一种。

对于 hopingzmn所提出的方法,acridine进行了如下补充:

第一种是 virtual crystal method(翻译为"虚晶近似"),第二种是

Supercell method (SC)。前一种计算过程中,赝势是按照原子

比例权重计算得,比如“CxN1-x”原子就是按照 x比例混合 C和 N

29

[email protected][email protected][email protected]

本文

Page 41: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1的原子赝势;第二种就是直接取代原子了。单纯从电子结构的

计算精度看,第二种肯定是更准确的,但第二种改变原子配比

的可能性比较小,如要考虑更多的掺杂比例需要很大的超胞,

这个计算量是很大的。当然,在合金以及精度要求不是很高的

情况下,第一种方法也可以得到较好结果。可以参考一篇理论

高手M.L.Cohen的文章,同时使用了这两个方法研究力学性能

Nature, 399, 132。Cohen的文章中这这么说明的:对比了相同原

子配比下两种方法的计算结果,发现得到的趋势是相同的,因

此使用 VCA 得到的结果是可靠的,也就是说用两种方法相互验

证了一下。这是对两种方法很好的一个总结。

在[4]中, 专家及虫子们对合金计算中的 VCA 近似进行比

较细致的讨论,现总结如下:

首先,encke专家对 shelay的疑问进行了回答:在 0K,也

有大量的合金不处于完全有序状态。VCA 是算原子占有率或者

不同的原子在同类等效位上的随机占位,而这样的占位,即使

在 0K 下也存在。之后 yzluster专家做了如下回答和拓展:虚晶

近似这个概念已经出现很久了,几十年前就在多体理论中应用

研究无序体系,近些年来用到了 DFT中。这个方法本身就是很

粗糙的,可以认为是对无序体系的一种初级近似而已。结果未

必可靠(虽然有人这么做,也只是理论上的)。这个东西真正搞

的人不多。

VCA 在[4]中讨论也拓展到了一些对于第一性更加基本的

认识,在此就不详细列出,有兴趣的读者可以参考本文所提供

的链接。

最后,[5] 中的讨论对 VCA 的应用又有了相应的扩展,首

先 Sars518 对楼主所提出的问题进行了提示:无序系统中,

Coherent potential approximation(CPA) 处理长程有序有较好

的效果,SC 也可以,不过可能要比较大的超胞才行。之后

yzcluster专家对 VCA 方法进行了一定的理论提示:对于VCA,

可以从格林函数理论出发如何去处理和解释(比如引入 T矩阵

近似等)。 之后本文作者之一,yjmaxpayne根据[6]中所提供的

参考资料对无序建模进行了一定的阐述:固溶体的计算需要涉

及了各个成分下不同构型(超胞)的自由能对比。 结构是否是

能量最低,需要结合蒙特卡洛来进行随机采样分析,只有在大

量采样并且进行第一性原理优化计算后,才能大致确定那个成

分下的最可能的构型,但是这种方法太耗时。CPA对无序体系

是适用的,但是MS里面没有包括。VCA 主要是构建混合波函

数, 也就是把混合原子用之前原子的波函数的线性叠加形式给

表示出来。这种方法只能用于整个体系中平均体现的性质的计

算(类似于平均场),但是不能用于长程有序,以及局域相互作

用的计算。最后,linggang87 做了如下补充:如果是二元合金

VCA 计算,可看得出的晶格常数是否满足 Vegard定律,有的

文献中直接拿Vegard定律得到得晶格常数进行保持晶格常数不

变的 VCA 计算。个人认为可靠性需要部分试验值或 CPA等计

算值的检验。

综上讨论,虚晶近似的基本原理,建模方式已经有了一个

大致的框架,但是仍然缺乏系统的整合和讨论,在此,本文将

基于 MS 中无序体系的建模及计算,对VCA 方法进行一个系统的

讨论。

3.3.3.3. VCAVCAVCAVCA方法理论简介

VCA 方法的起源是紧束缚方法,其原理是用有效原子替换

晶格中原有的原子从而实现无序的效果。这一方法需要对赝势

进行平均化处理。比较流行平均化方法有两种,其一为 Ramer

和 Rappe 方法[7], 这一方法的特点可概述为对赝势的修改。其

二为 Bellaiche 和 Vanderbilt 方法[8], 这一方法可概述为对

DFT 软件的修改。第二种方法实际上是 MS 中 CASTEP 模块所使

用的方法,在此,本文将对这两种方法进行简单的介绍。

Ramer 和 Rappe 方法认为,传统的 ADVCA(均化去屏蔽势

VCA)中,首先是建立两个独立原子的赝势(标记为 和 )。ˆ APSV ˆ B

PSV之后这两个去屏蔽势的均化由如下式子提供:

(1)ˆ ˆ ˆ(1 )ADVCA A BPS PS PSV x V xV= - +

在这一方法中,为了能够将上述半局域的 VCA 势表达为非

局域形式,需要知道半局域的赝波函数。 之后,他们提出了

RRVCA 方法(Ramper and Rappe VCA),这一方法的核心在于将

虚拟原子的第 l个能态的本证值用如下式子表达:

(2)'(1 ) ( )AVE A Bl nl n lx xε ε ε= - +

这一方法的特点在于使用了 A 和 B原子中全价电子在 nl 和 n'l态的本证值。 且原子核的库仑势可由如下式子表达:

(3)rxZZxV

BAE

AAERRVCA

AE])1[(2ˆ +−−

=

而核的平均电子密度则由如下式子表达:

(4)(1 )RRVCA A B

core core corex xρ ρ ρ= - +

由(2)-(4)式,这一方法可概述为:有效原子的平均来自于全电子势及核电子密度的平均。 最后,虚拟原子的波函数满足如下

关系式:

(5)drrrxdrrrxdrrr

ccc r

Blnr

Anlr

RRVCAl

22

'2

22

2

)()()1()( ∫∫∫∞∞∞

+−= φφφ

其中 rc为价态的赝势核半径。

在第二种方法,即Bellaiche 和 Vanderbilt 方法中, 多

个原子通过“鬼魅原子”的形式实现对晶格中某个位置的多重

占据,在这一方法中,首先引入了 VCA 算符方程的概念,将位

于 I位置的各类合金元素平均效应表示为如下式子:

(6)( ') (1 ) ( ') ( ')I A B

PS PS PSV x V xV= - +r,r r,r r,rr,r r,r r,rr,r r,r r,rr,r r,r r,r

之后,整个系统的势可写为:

(7)),(),( αα

αα II

APA

I

Iext VwV RRRRr'r'r'r'RRRRrrrrr'r'r'r'rrrr −−=∑∑

其中, 为体系中某类原子的组分。 为了避免同一原子占位Iwα上不同“鬼魅原子”间的库仑相互作用, 需要修改 Ewald 能的

形式,在这一方法中,Ewald 能可以写为:

(8)α

αα vII

v zwz ∑=

30

Page 42: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1需要指出的是,这两种方法均有较好的表现,第二种方法的优

势在于:一,容易实现,仅仅需要根据(7)式和(8)式对程

序进行微笑的修改即可;二,仅需要建立一次赝势;三,不需

要建立虚拟原子。因而这一方法可视为微扰的局域响应的近似,

可以用于预测合金中的相对位移,也可以用于计算体系的有效

电荷以及介电响应。但是,这两种方法仍然不能对无序系统的

长程有序以及局域相互作用等进行描述,因而其限制也是很明

显的,在使用这一方法对体系性质进行计算的时候,需要对体

系本身的物理性质进行分析,最后再决定 VCA 方法是否能够用

于对体系的建模。CASTEP 中整合的 VCA 方法在[2]中 Disorder

in Solids 一章有记录。在这一章中,VCA 方法的局限及成功的

应用均有记录,并且提示在使用 VCA 进行计算的时候,需要检

验有限基组校正计算中输出文件中总能量的微分值,这一值需

要和不使用 VCA 时结构的能量微分值在同一数量级,否则所得

到的性质就是错误的。

4.4.4.4. MSMSMSMS中中中中VCAVCAVCAVCA方法建模的步骤方法建模的步骤方法建模的步骤方法建模的步骤

以 Ba0.25Sr0.75TiO3建模为例,先按通常的方法建立 BaTiO3

晶胞【 Build→Crystals→Build Crystal→Enter group 中输入

BaTiO3空间群编号 221→点击 Lattice Parameters 选项,输入点

阵常 数 4.010→ 点击 对 话 框 上 的 Build ; Build→AddAtoms→ ,在周期表中选中 Ba 元素,之后点

击 OK→在 a、b、c后对应的框中分别输入 Ba的 a、b、c轴坐

标 0.0,0.0,0.0,之后点击 Add→以类似的方法分别 AddTi and OAtoms,】再点“View”→“Explorers”→“Properties Explorer”,

保证 Properties 工具栏出现,如图1所示(左下角粉色框所示即

为 Properties 工具栏)。

图 1 钙钛矿结构的 BaTiO3模型

随后用鼠标选中晶胞中的 Ba原子(如果觉得模型中的表

现方式不太容易看清楚,可以在工作区点击右键 →displaystyle→Ball and Stick,OK, 把原子以及键的显示方式变为球棍

模型),则 Properties 工具栏中出现如图 2左下角粉色框图所示

内容,鼠标双击“IsMixtureAtom”,弹出 Edit Mixture Atom 对

话框,在该对话框中即可调整BaTiO3晶胞中Ba位置的组成【点

击 Edit,弹出 Edit Mixture Component 对话框→将 Composition处的 100.00改为 25,OK→Add, →元素周

期表中选择 Sr 元素,OK→将 Composition 处的 0.00改为 75,OK→点击 Edit Mixture Atom对话框上的 OK,建模完成。】

图 2 Ba0.25Sr0.75TiO3体系的建模

31

Page 43: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 14.4.4.4. VCAVCAVCAVCA方法应用实例方法应用实例方法应用实例方法应用实例

-20

-10

0

10

20

RGMR

Ener

gy/e

V

X-60 -50 -40 -30 -20 -10 0 10 200123456789

101112

DO

S

Energy/eV

s orbital p orbital d orbital total density of states

图 3 BaTiO3的能带结构和态密度图

-30

-20

-10

0

10

20

RGMR

Ener

gy/e

V

X-60 -50 -40 -30 -20 -10 0 10 200

5

10

15

20

25

DO

S

Energy/eV

s orbital p orbital d orbital total density of states

图 4 Ba0.25Sr0.75TiO3的能带结构和态密度图

VCA 近似对体系物理性质的影响的计算所采用的方法为

Materials Studio中的 CASTEP 模块。本文定性的计算并且对比

了 BaTiO3和 Ba0.25Sr0.75TiO3的电子结构(能带结构和分波态密

度),所用泛函为局域密度近似(LDA)中的 CA-PZ泛函,赝

势的选用为超软势(USPP),其余参数:截断能:Ecut=300eV,

K-点设置:6×6×6,快速傅立叶变换网格精度(FFT):20×20×20;首先分别对 BaTiO3和 Ba0.25Sr0.75TiO3体系进行几何优化

(包括晶格优化)至软件默认的 Medium 精度,之后在此精度

下对两个体系的能带结构和电子态密度分别进行了计算。

BaTiO3 和 Ba0.25Sr0.75TiO3 优化后的晶格常数分别是 3.954 和

3.632Å, 导致这一结果的原因可归结于 Sr+离子半径小于 Ba+离子,从而使得掺杂体系的晶格常数小于未掺杂前的系统。 电

子结构的计算结果见图 3和图 4。 通过对比图 3和图 4, 可以

发现体系的电子结构在通过 VCA 掺杂近似后, 发生了很大的

变化,Γ点和 R两点之间的间接能隙因为体系掺杂的缘故,相

比未掺杂前体系而变小,导致这一变化的原因可认为是晶胞尺

寸的变化以及 Sr 离子较 Ba离子更高的电子亲和能。

-30 -20 -10 0 100.00.51.01.52.02.53.03.54.04.55.05.56.06.57.0

DO

S

Energy/eV

s orbital p orbital d orbital

-30 -20 -10 0 100

5

10

15

20

25

DO

S

Energy/eV

s orbital p orbital d orbital

图 5 Ba(左)和 Ba0.25Sr0.75(右)原子的分波态密度图

32

Page 44: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1VCA 近似的影响还可以直接通过对计算所得结构中原子

的分波态密度来进行分析。由图 5所得, 当纯的 Ba原子被替

换为 Ba0.25Sr0.75的虚拟原子的时候, 原子的分波态密度发生了

巨大的变化,之前由 Ba中 p轨道主导的态密度变为了 Sr 及 Ba中 s 轨道主导的情况。同时,纯 Ba情况下位于~ -25eV 左右位

置的 S 峰由于 VCA 的缘故,在近似后移动到了位于~ -33eV 的

位置, 这也直接表明图 4中 DOS的变化主要同虚拟原子的性

质有关。 综上,VCA 近似的效果在多种原子中某种原子占主

导地位的时候,使得虚拟原子的电子结构接近于占主导地位的

原子,并且体系性质体现为多种原子的平均效应。

5.5.5.5. 结论结论结论结论

本文总结了小木虫论坛中关于虚晶近似在无序体系中的应

用,并且简介了文献中记载的有关虚晶近似的基本理论框架。

在此基础上,总结了 Materials Studio中虚晶近似的建模过程,

并且使用 CASTEP 进行了简单的电子结构计算。 结果表明,

虚晶近似在Materials Studio中体现为虚拟原子中组分的平均效

应, 并且整体性质偏向虚拟原子中占主导的组分。 MS中的

虚晶近似是一个有效的研究无序系统的工具,但是由于虚晶近

似本身存在的缺陷(仅能用于体系中平均体现的性质的计算),

需要对所建模型以及计算结果有十分清晰的分析,多方面检验

以保证结果的合理性。

参考资料:

[1] 李明宪 . CASTEP/Materials Studio计算化学高级训练课程(PDF版本)89页。

[2] Materials Studio帮助文件。

[3] aylayl08楼主,无序掺杂晶体的 CASTEP 计算设置及讨论,

http://emuch.net/bbs/viewthread.php?tid=853118&view=old[4] Shelay楼主, 合金的计算问题,http://emuch.net/bbs/viewthread.php?tid=1531244[5] iamkz楼主,无序固溶体建模及优化问题,

http://emuch.net/bbs/viewthread.php?tid=1638126[6] Scott P.Beckman,Alloy theory methods,http://sbeckman.net/~scott/projects/alloys/alloyoverview.pdf[7] Nicholas J. Ramer and Andrew M. Rappe, Virtual-crystalapproximation that works: Locating a compositional phaseboundary in PbZr (1-x)TixO3, Phys. Rev. B, 62, R743, 2000。[8] L. Bellaiche andDavid Vanderbilt,Virtual crystal approximationrevisited: Application to dielectric and piezoelectric properties ofperovskites, Phys. Rev. B, 61, 7877, 2000。

33

Page 45: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

Review Article

量子化学的图形化表述

周光耀(zhou2009zhou2009zhou2009zhou2009)[email protected]@[email protected]@live.cn

前言:

当我由以前多年算半经验量子化学程序作应用,转向昔日曾认为高不可攀的gaussiangaussiangaussiangaussian 时,下载了几本手册,在小木虫论坛注册,开始学用gaussiangaussiangaussiangaussian 03030303了。首先将小木虫论坛从头到尾扫了一遍,得到了基础知识,他人的求助不也是我可能会遇到的问题吗?

但我深感如今的量子化学计算,输出大量的数据,特别是MOMOMOMO 中的基组众多,面对这成千上万的数据,人们常会感到茫然、不得要领,常常只好根本不

去看它,可惜了这最有用的第一手原生态信息!必须将这些数据图形化,以便于我们识别、应用。人们对一目了然的图形感知比较敏感,些微的差异就会发

现。当我们看了图形之后,有了总体的概念,然后再从图形去查找MOMOMOMO系数及相位,这时MOMOMOMO 反倒能看明了,反过来又可以更好地指认图形。

当我在考虑如何学用量化图形时,除了彷徨在大家已经在使用的GaussviewGaussviewGaussviewGaussview、MoldenMoldenMoldenMolden等外,幸运地见到GsGridGsGridGsGridGsGrid,并得到GsGridGsGridGsGridGsGrid的原创者SoberevaSoberevaSoberevaSobereva 博

士每问必答的电邮指导,走通了Gaussian-Gsgrid-SigmaplotGaussian-Gsgrid-SigmaplotGaussian-Gsgrid-SigmaplotGaussian-Gsgrid-Sigmaplot的路。因此本文说的图形化,也专指这条路线。

于是我便单刀直入,主要攻量化图形及其应用,以量化图形作为可视观察方法,来考察一些量化应用的基础问题,因为我也深感量化应用的基础研究还

作得不够。这样便算了一些小分子,用图形(特别是电子密度差ΔρΔρΔρΔρ)来试着考察一些量化应用的基础问题。

我本是从事合成实验的,从用量化到喜欢量化,关注量化应用。我是个自由人,没有课题、出论文的压力,““““量化应用基础研究””””也是我自命的、自认的。

所以我的工作可以自由地贴出来。正象我在关于二聚水氢键帖子中说的:““““如其说是研究了一下氢键,不如说是意在试一下量化图形如何应用。””””这一组帖子大体都是这样的,在于试着用量化图形。

当然,也必须有新的视角、概念和想法,人云亦云有什么意思!且试着说一说传统、正统量化较少涉及的内容。

现在,把几个内容相近的帖子放在一起,成了此篇。

1.1.1.1.作为基础的概念作为基础的概念作为基础的概念作为基础的概念

这一组帖子企图在量子化学 G03计算的基础上,用量子化学

图形的方法,分子中原子的视角、特别是电负性的视角,进行

量子化学应用基础研究。因是小分子,此后的帖子都采用 6-311++G**。为此,需要在本帖中先提出一些基本概念,作为基

础,以备后面帖子所用。还有一些概念,则在随后的帖子中提

出。

Parr等人提出:在密度泛函理论,电负性是体系电子化学势

的负值。我认为同样应该有:在MO理论,电负性χ是体系电子

能级ε的负值。

这样定义,便将量子化学MO理论与经验的电负性概念联系

起来了。

能级ε是从轨道上面拿走一个电子所要付出的能量,电负性χ则是该轨道吸引电子的能力。可见,这是一个客观事实的两个

相反的视角、度量。电负性这个视角,可以让我们深入考察分

子中原子的电负性,这接近化学实践的认知习惯,它本来就是

人们在化学实践中感知的一种客观存在。何况由于 MO是

LCAO,使得 MO与 AO 有着天然的联系,基组是更多的 AO线性组合,更精细、更精确而已。

不同电负性的原子组成分子时,原子通过得失部分电子调整

着电子对核的屏蔽、从而调整着自己的电负性,或者说调整着

自己的能级。

这样,电负性、能级又与电子的集居、流动联系起来了。分

子中电子的集居、流动,主要是由电负性、能级所驱动的。

在分子中,电负性大的原子得到部分电子、对核的屏蔽增强,

使得电负性降低,能级升高,电负性小的原子失去部分电子、

屏蔽减弱,使得电负性升高,能级降低,从而达到电负性均衡、

能级均衡,不再有电子流动。

这就是电负性均衡原理企图概括的内容,它实际上是能量最

低原理的一种具体表现形式。

同时,电子还会往键中间移动,也会影响分子中原子的电负

性,下面的帖子将会专门谈到。

这里有一个关键环节是如何看待量化计算中的基组,需要多

说几句,但进一步的深入探讨还要在随后的帖子中。

从物理的角度看量化,或许不那么注意计算过程的实际意

义,如基组的采用,多是注重结果,如计算出的能量、能级。

但从化学的角度看量化,总希望计算过程、中间结果都是化

学信息的一种反映,可以在化学实体中找到结构和性能与之对

应。科学实践告诉我们,有一些重大的发现,就是先在数学关

系演算中找到变化规律,然后才在物理、化学中找到实体对应

的。更何况量化本就是在企图计算、描写化学实体的。

我们打从一开始学习化学,就知道了原子轨道 AO,知道原

子形成分子时,AO会杂化去参与形成分子轨道MO。这样MO与 AO就有了天然的联系,可以从 AO的电负性或能级推测MO的性质,反之应也然。

但随着量子化学从头算的日益向精确计算发展,简单的 AO杂化已经远远不够用了,要用更多的 AO作为基组来线性组合

形成分子轨道。于是经典的 AO杂化概念逐渐被淡化了。

同时,由于现在基组那么多,不再具有 AO杂化那样简单直

观的想象,人们常常将 AO基组与 MO的天然联系也淡化了,

不大深究 AO基组在怎样支持着MO,或者反过来说怎样从MO分解为基组 AO,来考察分子中的原子。甚至觉得基组与 AO渐

行渐远了,只是计算需要没有真实 AO意义的数学表达式而已。

实际上,精确计算的量化表明,即使是计算一个 H 原子,它

也不是简单的取一个 1S就可以了,而是要采用 6-311++G**基组,实际计算采用了 1s(0.24)、2s(0.51)、3s(0.38),才使计算的

轨道能量(也即总能量)与实测值精确相符。说明正是这样一

个基组才能承载、描写一个 H原子的波函数和电子结构,这个

基组才是 H 原子能级或电负性的实际载体。

同样,计算一个H2分子,它也不是简单地各取一个 1S 就可

以了,而是要采用 6-311++G**基组,实际计算二 H 各自采用了

1s(0.19)、2s(0.29)、3s(0.14)、4s(-0.004)、5px(-0.023),才使计

算的轨道能量、总能量与实测值精确相符。说明正是这样一个

基组才能承载、描写一个 H2分子的波函数和电子结构,这个基

组才是 H2分子能级或电负性的实际载体。

基组可以说是一个广义的 AO杂化。正是这广义的 AO杂化

天衣无缝地形成了 MO。现在问题是如何反过来,从这无缝天

衣MO,考察它的领、襟、袖,考察分子中的原子。

由分配系数的广义 AO杂化形成了MO,进一步将它平方得

到电子密度ρ,这应都是可信的量化第一手、原生态数据。

这样,我们通过χ=-ε将二者联系起来了,它们都是 MO的数

值量度,只是视角不同而已。并进一步与电子密度ρ建立联系,

2020202010101010,,,,

34

Page 46: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

电子密度ρ正是MO的物理意义、物理实体。

而MO、ρ都是可以通过计算得到各空间格点数值的,并可

以用这些数值作图来描述,表达MO、ρ,乃至Δρ,以便我们可

以形象、直观地看到它们,考察他们的性质及变化。

2.2.2.2.共价键与分子中原子电负性共价键与分子中原子电负性共价键与分子中原子电负性共价键与分子中原子电负性

在前帖曾经认为:在MO理论,电负性χ是体系电子能级ε的负值。

在分子中,电负性大的原子得到部分电子、电子对核的屏蔽

增强,使得电负性降低,能级升高,电负性小的原子失去部分

电子、屏蔽减弱,使得电负性升高,能级降低,从而达到电负

性均衡、能级均衡,不再有电子流动。

电负性不同的原子或基团 A、B之间成键时,会发生部分电

子 q转移,致使原有电负性χ变成分子中的χ*,根据文献一般近

似地认为:

χ* =(1+q)χ————(1)ε* =(1+q)ε————(2)但如果就这样转移电子、实现电负性均衡形成共价健,分子

的均衡电负性应在成键的两个原子的中间,即二者电负性的均

值,也即形成的能级在二者之间,这与经验、实验所知道的值

不符,实际上成键之后的能级要比二者原来的能级都要低得多,

也即电负性都高得多。

为了研究这个问题,首先选择一个没有电子转移的简单例子

进行计算,H2是很理想的例子。

2.12.12.12.1同核双原子或同基团形成的共价键同核双原子或同基团形成的共价键同核双原子或同基团形成的共价键同核双原子或同基团形成的共价键

如今的量化计算,会输出大量的数据,面对这成千上万的数

据,我们常会感到茫然、不得要领。必须将这些数据图形化,

人们对一目了然的图形感知比较敏感,些微的差异就会发现。

对 H2的计算,从图形看:有独立 H 原子 AO的电子密度 ρ图,定位在 H2坐标的两个独立 H原子 AO 的电子密度ρ的叠加

图,H2的MO图、电子密度ρ图,以及 H2的电子密度差Δρ图。

对这些图,都可以取 H2所在的 XY平面、Z=0,作等值线,

这是最有代表性的截面。

它是一个数字序列嵌套等值面的截面。如果用等值面表示,

我们只能看到一个囫囵的球形,看不到内部细节。

上面图一“Contour Graph H2”展示的是Δρ图,它是 H2分子与

两个独立 H 原子电子密度差。它充分展示了 H 原子形成 H2分

子前后的电子密度变化。实线为正值,代表ρ值增加的等值线,

最外等值线为 0.008,往内等值线每线递增 0.008。虚线为负值,

代表ρ值减少的等值线,最外等值线为-0.002,往内等值线递增-0.002。

从Δρ图我们可以看到 , H 原子形成 H2分子时,电子中移至成

键原子的之间,这早已是人所共知的了。现在我们的视角转向

分子中的原子,由于电子中移,造成了 H 原子有较大的电子缺

失、余下的电子还向 H 原子核紧缩,使分子中 H 的电负性大大

提高,虽然没有电子在原子之间转移,H 原子也并没有保有它

作为孤立原子时的电负性。这种分子中成键原子的电子大大缺

2020202010101010,,,,

35

Page 47: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1失,是一个普遍规律,是共价键的主要特征,是原子成键后其

能级大大下降的根本原因。

现在,我们不仅从计算得到了能级下降的数据,而且通过Δρ图真切地看到了原子成键后形成的能级大大下降的实体形象、

具体的物理机制。

这种电子往键中间聚集形成对二核的屏蔽,还会减小原子核

之间的排斥力,使体系的总体能量降低。

这时 H2的电子密度ρ分布图(注意不是指Δρ),便是化学键

的具体形象,平常被简化地用一条连线表示。

这化学键的结合能,就是这个化学键所处的能量与将这个键

打开成键原子、被还原成孤立原子所具有的能量之差。这也是

我们进行计算作Δρ的依据。

我们也作了 H2分子反键MO的Δρ图(从略),与成键相反,

键间电子大量缺失,H原子电子密度极大膨胀,电负性极度降

低,已不是吸引电子、而是排斥电子了。

这个 H2分子的MO的能级ε或电负性χ,它的实体还是成键

的 H 原子在那里支撑着,是分子中原子的电负性构成了统一的

MO电负性χ,因此我们认为此时分子中 H 原子的电负性,也就

是该MO电负性χ,也就是该MO能级ε的负值。

如果取计算得到的独立 H 原子的能级ε为-0.49982,H2分子

的能级ε*为-0.59605,去掉负号就是χ和χ*,将它们代入式(1),

就可以粗略地计算出由χ变至χ*,H 因电子中移的电子减少量的

数量级:q =χ*/χ-1=+0.1925。电子在原子之间转移、向键间中移,都同样造成分子中原子

的电子缺失,都同样改变着分子中原子的实际电负性。

可以举出很多这种因为成键双方电负性相等没有电子转移

的σ键的Δρ,比如 CH3- CH3,作出它的图来:“Contour Graph CH3-CH3”。(见图二)

从 CH3-CH3的σ键的Δρ可以清楚地看到,与 H2一样,电子

发生中移,并使成键的二 C发生较大的电子缺失。这种电子缺

失使二 C的电负性大大提高、能级大大降低。

图中,虽然还有两个 C-H 键也在此平面上,因为是将 CH3-CH3与两个-CH3的ρ相差的,C-H基本上被抵消掉了,只见新形

成的 C-C的σ键的电子净变化,这正是我们要考察的。

此外,我们还可以看看分子中π键电子变化的情况,也先选

择一个没有电子转移的例子进行计算,CH2=CH2是较理想的。

设 CH2=CH2所在的平面为 xy,由于轨道对称性,π是一个独

立的MO,可以作出它的两个 C的 Pz轨道融合成的MO的电子

密度ρ,并选择 xz 平面(y=0)作为截面,可作出电子密度ρ的等值线图。另外,对于分子片 CH2,可取在 CH2=CH2中的构型

坐标进行计算,令它的多重度为 3,它有两个单电子轨道,其

中一个 Pz就是将要形成π轨道的。作这样两个 CH2的 Pz的电子

密度ρ,并让它们分别定格在 CH2=CH2的坐标位置,也都选择 xz平面(y=0)作为截面。用 CH2=CH2的ρ减去两个 CH2的ρ就得

到π电子形成前后的Δρ,并作出电子密度 ρ的等值线图来:

“Contour Graph CH2=CH2”。(见图三)

从这个Δρ图可以看到,与上面 H2的σ键一样,π键电子也中

移至成键原子的之间。我们的视角再转向分子中的原子,由于

电子中移,造成了两个 C原子较大的电子缺失,使两个 C的电

负性大大提高。这种分子中原子电子的大大缺失,是一个普遍

现象,π键也不例外,是原子成键后其能级大大下降的原因。

2.22.22.22.2异核双原子或不同基团形成的共价键异核双原子或不同基团形成的共价键异核双原子或不同基团形成的共价键异核双原子或不同基团形成的共价键

下面我们再以 HF分子为例,看看形成分子时,伴随着有电

子在原子之间转移的情况。

“Contour Graph HF”(见图四)是据 HF分子第 3个MO即σ键作的电子密度差Δρ图。F 在 X、Y 轴的 0点等值线密集处看

不见。实线、虚线最外等值线为±0.015,往内等值线递增±0.015。从MO系数和Δρ图看,这个σ键可以分析为三个内含:原子

以基组形式参与成键、电子在不同电负性原子之间转移、电子

向键中间移动(为了与原子间“转移”区别本文称之为“中移”)。

第一、原子以基组形式参与成键,这基组或者可以看作是广

义的杂化。

对于成键来说,基组是为了均衡不同原子能级或电负性的差

距、弥合 AO 的波形的不吻合,以便融合成平滑、完整、统一

的MO,应对键间电子向键轴的聚集、收缩。

对非键来说,如孤对电子 pi,基组为了适应下层σ键电子增

多、pi能级被大大抬升,以及可能的反馈,需要膨胀极化、弥

散变形。

对于吸引转移过来的电子,基组还会“妥善安排”。基组不仅是计算需要的一组数学表达式,当它们分配了系

数、也即安排了电子,它就形成了一个新的广义杂化的空间 AO或MO,是具有能级值或说是电负性的,它是电子的载体、生

存空间,是因电子而客观存在着的。

第二、电子在不同电负性原子之间转移。

从 HF分子Δρ图可以清楚地看到,H 缺失了大量的电子,导

致电负性升高;F 增加了大量的电子,导致电负性降低,直至

二者电负性相等、均衡。

有趣的是,通常说 sp杂化,用增大的一瓣去成键以增大重

叠能力。但在 HF中,MO的基组中 s、p却是反位相地杂化,

即 HF 以缩小的一瓣去成键,而用增大的一瓣去装转移过来的

过多电子,这转移电子妥善安排在离键远的外面集结。

第三、电子向键中间中移。

从 HF分子Δρ图看,在H 和 F 之间也有明显的电子中移,这

与 H2分子的情形完全一样,它同样会造成 H 和 F 的电子因中

移而缺失,这从键中间电子增加、两边同样有月形的电子减少

可以看出来。只要成键,这种电子中移而使成键双方缺失电子

是普遍存在的。只是这种电子中移与电子转移叠加在一起,H更加缺失电子了,而 F 的因中移造成的电子缺失被过多的转移

电子增加掩盖了。但 F 也有虚线在表征电子的缺失,即使在 F核处的密集墨块,如果放大来看,有一部分是密集的虚线构成

的,即电子缺失。当然 F 的中虚,一方面是由于电子中移,另

一方面是由于大量的电子转移过来,造成电负性降低,电子层

膨胀引起的。

同样,这种电子往键中间聚集、形成对二核的屏蔽,会减小

原子核之间的排斥力,有利于降低体系的总体能量。

这个化学键的结合能,就是这化学键所处的能量与将这个键

打开成键双方被还原成孤立原子(或基团)所具有的能量之差。

所谓还原,即从分子中的基组还原为单一的基态原子轨道(或

基团的基组)、撤消电子的中移、返还转移的电子。这也是我们

作Δρ进行计算的依据。

可以举出很多这种因为成键双方电负性不相等有电子转移

的σ键的Δρ,比如 CH3- OH,作出它的图来:“Contour Graph CH3-OH”。(见图五)

从 CH3- OH 的σ键的Δρ可以清楚地看到,与 HF一样,电子

发生中移,并使成键的 O、C 发生较大的电子缺失。这种电子

缺失使 O、C的电负性大大提高、能级大大降低。

图中,虽然还有 O-H 、C-H键也在此平面上,因为是将 CH3-OH与-CH3和- OH的ρ相差的,O-H 、C-H 基本上被抵消掉了,

只见新形成的 C-O 的σ键电子净变化,这正是我们要考察的。

我们还可以看看分子中π键电子有电子转移的情况,甲醛

CH2=O是较理想的例子。

设 O=CH2所在的平面为 xy,由于轨道对称性,π是一个独立

的MO,可以作出它的 O、C的 Pz轨道融合成的MO的电子密

度ρ,并选择 xz 平面(y=0)作为截面作出电子密度ρ的等值线

图。另外,对于分子片 O和 CH2,可取在 O=CH2中的构型坐标

进行计算,令它们的多重度各自为 3,它们分别有两个单电子

轨道,其中一个 Pz就是将要形成π轨道的。作这样 O 和 CH2的

Pz的电子密度ρ,并让它们分别定格在 O=CH2的坐标位置,也

都选择 xz平面( y=0)作为截面。用 O=CH2的π的ρ减去 O 和 CH2

的ρ就得到π键形成前后的Δρ,并作出电子密度差Δρ的等值线图

来:“Contour Graph O=CH2”。(见图六)

从这个Δρ图可以看到,与上面 CH2=CH2的π键一样,π键电

子首先也中移至成键原子的之间。我们的视角再次转向分子中

2020202010101010,,,,

36

Page 48: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1的原子,由于电子中移,造成了 O 和 C原子较大的电子缺失,

使 O 和 C的电负性大大提高。在π轨道,由于成键原子的电负

性不同,也有电子转移,并且 O 的这种电子转移与电子缺失叠

加在一起,C更加缺失电子了,而 O 的因中移造成的电子缺失

被过多的转移电子增加掩盖了。但O 也还有点虚线在表征电子

的缺失,它表明了由于电子转移到 O,电负性有所降低,即膨

胀了,中虚了。计算出孤立 O 的单电子 Pz能级为-0.17924,CH2

的单电子 Pz 能级为-0.07316,它们形成统一的 MO的能级为 -0.54692。由这些数据,就可以知道电子会转移、会中移。

2.32.32.32.3 小结小结小结小结

上述例子是具有普遍意义的。

现在通过量化计算,应用形象可视的量化图形方法,电负性

的视角,怎样来看共价键呢?

总的来说,在形成共价键时,原子以基组形式参与成键、电

子在不同电负性原子之间转移、电子向键中间移动(中移)。

当电负性不同原子之间成键时,电子发生转移,从而使双方

电负性发生升降,直至电负性相等、均衡,从而融合成新的、

统一的MO。与此同时,还发生了电子中移,成键双方吸引着共同的电子

从而也粘合在一起了。特别值得注意的是,电子中移导致成键

双方原子产生较大的电子缺失,使成键双方原子的电负性大大

提高,使形成的整个MO能级大大下降、电负性大大提高。换

句话说,电子因受双方共同吸引,那吸引力大大加强了。

在一个MO中,组成MO的原子(以基组形式广义杂化 AO)

电负性是相等的、均衡的。

这一切:均衡不同原子能级或电负性的差距,应对键间电子

向键轴的聚集、收缩,弥合 AO不吻合的波形,从而使 AO 融

合成平滑、完整、统一的 MO,都是通过精心选择、分配基组

系数来完成的。

3.3.3.3.关于分子中原子电负性与电荷关于分子中原子电负性与电荷关于分子中原子电负性与电荷关于分子中原子电负性与电荷

3.13.13.13.1分子中原子的净电荷问题分子中原子的净电荷问题分子中原子的净电荷问题分子中原子的净电荷问题

多少年来,人们总是想探讨分子中原子的性质,特别是分子

中原子的净电荷,提出了各种计算方法,并进行了不断地改进,

然而至今都还不能令人满意。

实际上,量化计算输出的 Mulliken atomic charges 常常是不

可用的。

其净电荷有时与实验的预期相差太远,甚至相反,许多净电

荷异常到不可思议的地步,使人们对量化计算出的电荷失去信

心,以至认为电荷这个东西本来就没什么实质的物理意义,不

可靠,对电荷不能过于认真,从而不愿用电荷、谈电荷,以致

对网上讨论电荷的帖子也经常不置一顾。

这种对分子中原子电荷把握不住的状态,与计算量子化学的

发展不平衡有关。

量化计算程序以 gaussian为代表,它在量化计算方法方面真

是日益完善、面面俱到、应有尽有、方便易行。然而在具体的

量化应用方面却不那么细致、合用,不敢恭维。量化应用方面

的数据输出,从几十年前半经验计算程序的早年开始,集居数

分析、净电荷、键序,至今还是照搬,并没有什么根本性的改

进和突破。然而这里的问题很多,使得人们不敢相信电荷,特

别是净电荷。

这在计算量子化学发展的历程中,应是必由之路,当然必须

首先解决计算方法的方方面面问题,而且这样的问题还在层出

不穷,吸引了众多的计算精英去解决、发展它。相比之下,量

化应用的基础研究反倒相形见拙了,出身数学、物理的计算精

英们也未必来熟悉量化应用、作量化应用。

这样一来,新走进量化的人们,便面对、接受这样一个现实:

高度精细发展的计算与相形见拙的应用(如净电荷)。甚至形成

一种思想定势,认定电荷是离谱不可信的,在这方面的努力是

白费劲。对电荷的信任已经如此不堪,更不用说电荷密度差了。

还由此甚至追溯到基组,认为基组也不过是计算需要的一个数

学取值、自洽过程,不必去追究它的实际意义,不再去联想杂

化,基组那么多很难去作直观的杂化联想了。

在量化计算结果输出中,MO和能量是最根本和原始的,可

信的。实际上在分子中,电子才是最能动最活跃的因素,电子

密度,正是从波函数的平方来,是波函数的物理意义。它也是

量化计算最基本、原生态的可信分子信息。

也许我们现在还不能得到分中原子电荷的较合理、合用的确

切数据,但实验已经证明分中原子电荷的量值是定量客观存在

的。

如在核磁共振 NMR中,原子核外电子云的分布状况和附近

化学键称为该原子核的化学环境,由于化学环境影响导致的核

磁共振信号频率位置的变化就是该原子核的化学位移。虽然这

化学位移是核的,但它却主要是由于原子核外电子云屏蔽的影

响形成的,化学位移既是恒定的、可以精确实验定量的,也反

过来表明核外电子云的量值也必是精确存在的,不是任意的不

可捉摸的。(由于 NMR是从原子外部探测原子核的,是核外电

子的总合在起作用,反而恰好回避了区分各种电子的问题。)

gaussian不是也在计算 NMR吗?并且可以与实验值相比较!

可见 gaussian对原子周围电荷的计算基本上是可信、可用的。

问题出在那里?

实践经验使我们逐渐认识到 Mulliken atomic charges 的根本

缺点在于:

1、人为地均分了重叠密度,对象体积大小相差很大的原子

(如 Cl与 H)之间成键,很不合理。

2、分子有σ、π、pi(孤对电子)、δ等各层轨道,分别有自

己的电子流动,流动方向也不尽相同。Mulliken atomic charges将各种电荷笼统地归结在一个原子上,头发胡子一把抓,自然

就出了问题,使精确的量化计算在电荷问题上处于目前这种尴

尬境地。

可以确定的是,分子中电子的聚集、流动,还是完全按照我

们对原子电负性的认识的。只是在分子中,原子σ、π、pi电负

性不是一成不变的、而是发生了变化的,我们要考察、把握这

种变化。

真能对σ、π、pi、δ等各种电子分别进行考察甚至在量进行

核算吗?下面我们将逐步举例探讨、分析这个问题

3.23.23.23.2分子中原子或基团电负性的推算分子中原子或基团电负性的推算分子中原子或基团电负性的推算分子中原子或基团电负性的推算

在前文曾经认为:在 MO理论,电负性χ是原子 AO或分子

MO能级ε的负值。

电负性不同的原子或基团 A、B之间成键时,会发生部分电

荷 q转移,致使原有电负性χ变成分子中的χ*,一般认为:

χ* =(1+q)χ(也即:ε* =(1+q)ε)————(1)根据电负性均衡原理,成键双方的电负性是相等的:

(1+qA)χA=(1+qB)χB————(2)χB=(1+qA)χA /(1+qB)————(3)于是,如果设某一个原子的电负性已确定,并设定它为基准

原子,如H,让它去与各种原子或基团成键,并进行量化计算,

由 H 上的净电荷 q,就可以据(3)式计算各种原子或基团的电

负性。这时,H 就象一个基团电负性的测量器。

如例如 HF 分子,如果 A 是 H,它的 Pauling电负性值通常

认定为 2.1,gaussian 03计算得到的转移电荷量是 0.302,则算

出 F 的电负性为 3.9,基本与公认值相符。但是由 Muuliken 集

居数分析得到的 q 并不总是这么好用,因为它均分电子的重叠

部分并不总是那么合理,这种推算方法并不具有普遍意义,这

里只是在举例表明一种数量级而已。为了方便地求得可资比较

的电负性相对大小的序列参考值,半经验量化计算如 CNDO,

它只考虑价电子、忽略微分重叠、AO 单一、净电荷明确,还

是可以用的。

文献认为电负性均衡原理,是分子中一个健两边的原子或基

团的电负性是均衡的、相等的。并由此提出了一个推算基团电

负性的公式,作为对这种见解的验证。即对分子 R-H,经过量

子化学程序计算,由H 上的净电荷 q的大小,推算-R的基团电

2020202010101010,,,,

37

Page 49: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1负性。当时用 CNDO/2计算出的各种基团电负性,通常与公认

的文献值符合得很好。但是也有少量分子,计算出来 H 的净电

荷 q的大小,出现异常情况,如在CH2O、HCOOH 中,CNDO/2计算出的来与 C相连的 H 的净电荷 q竟为负值:CH2O 中,H的净电荷为-0.01126。-CHO、-COOH的基团电负性竟比 H 还小,

这与实际的化学经验相反,显然不合理。

3.33.33.33.3孤对电子反馈孤对电子反馈孤对电子反馈孤对电子反馈

上面例子中 H 的净电荷 Q 为负值,现在用 gaussian 03精确

计算,H 的净电荷 Q虽然不再为负值,但是也过于小了,求出

来的-CHO、-COOH电负性也太小,仍不合理。

我们遍查这些分子的计算(半经验、从头算)结果,发现这

些分子 H 的净电荷 Q 其实有两个成分:一是由σ键诱导引起的

电子转移 q,另一则是由 O的孤对电子反馈到 H 上的,这是两

种不同性质、不同层次的电荷,叠加在一起了。

通常讲的基团电负性,应是由σ键诱导电子能力的度量。原

来,在上面这些分子中,电负性较高的 O,通过σ键诱导过来部

分电子,对有效核电荷的屏蔽加强,使核对孤对电子 pi吸引能

力减小、电负性降低、能级升高,而分子中的 H,因失去部分

电子电负性增加,电子向核中心收缩,以至孤对电子在轨道对

称性允许的条件下,要向 H上面的空间转移电子,达到能量降

低、并达到空间的电负性均衡。一方面是σ层次的均衡,另一方

面是 pi层次的均衡。二者电子流动方向相反!

通过 gaussian 03 计算,从 pi独处的 MO可以找出它来,

“Contour Graph CH2O”就是这 pi的电子密度的反馈图像。(见图

七)

孤立的 O 原子的 pi能级为-0.61376,在 CH2O 中,由于σ键诱导过来了部分电子,该 pi能级反馈之后还上升至-0.44682。

至于 H的σ键诱导净电荷 q的推算,为了与以前电负性计算

的序列一致,便于比较,在Density中各 AO单一易于指认,还

是用 CNDO(gaussian 03中的)计算的,并以 CH2O 为例。在

计算结果 Total SCF Density中,H 的电子量(1.01126)已经是

一个综合的量,只能从 O原子的孤对电子(pi)的电荷数值来

分析。pi电子本应为 2,但现在只有 1.9284,少的电子量 0.0716被认为主要是反馈到 2个 H 上了,H 被诱导失去电子后的实有

电子,应是密度矩阵的 H的综合电子量扣除反馈过来的量,即

是 0.9755,这样,H的σ键诱导净电荷 q应为+0.02454。计算的

-CHO这类基团电负性就合理了、入列了。

这里,并不是要提出一个推算基团电负性的方法,因为现在

量化计算能够很容易地得到分子的活生生的形象和性质了。而

是通过这种计算,可以来验证将电负性均衡原理理解为“分子中

一个键两边的原子或基团电负性是相等的”这种论断,以及考察

分子中原子的电负性。

对一个电负性较大的原子来说,这种下层通过σ键诱导过来

部分电子,使上层孤对电子能级升高、电负性降低、能级分化,

是普遍存在的。我们还可以找一些孤对电子能级升高而轨道正

交不发生反馈的作为例子来考察,如 HF、H2O 这样的分子。

F原子的 pi能级为-0.69909,而在 HF中,该 pi能级上升至-0.65072。

O 原子的 pi能级为-0.61376,而在 H2O 中,该 pi能级上升

至-0.50850。以至 O 原子的 pi要向与之接近的分子低能垒处转

移部分电子,形成所谓氢键。

3.43.43.43.4概念的进一步深入概念的进一步深入概念的进一步深入概念的进一步深入

我们计算、考察了双原子分子、多原子分子,认为原子在分

子中通过电子转移、中移调整了自己的电负性,对分子的一个

MO来说,它的能级ε或电负性χ不是抽象的,是有实体承载的,

正是各个原子具体电负性贡献的统一结果,形成了一个共同的ε或χ。因此在这里提出:

在分子的一个MO中,各个原子的电负性是相等的、均衡的,

它的值就是这MO的电负性。这是在 MO理论中电负性均衡原

理的概括表述。

当然,这里逻辑地包含一些更为具体的内容:

所说的分子中原子的电负性,是指原子参与组成该轨道的

(基组的、广义杂化的)电负性;

分子的各种轨道,包括 σ、π、pi、δ等各层轨道,都各自实

现着电负性均衡,包含简并轨道;

如果某两个原子在一个或多个MO中之间都显现成键,那它

们的电负性是分

别相等的;

处在不同 MO的原子电负性自

然是不同的。如在

H1COOH2 中,共

有 12 个 MO,其

中成 C-H1键的 H1

在 MO7,成 O-H2

键的 H2 在 MO8,表明 H1、H2在分

子中电负性是完

全不同的。因此不

能笼统地说分子

中各原子的电负

性都是相同的。

在密度泛函理

论也有相应的内容:电负性均衡原理认为, 在形成分子时, 由于

各原子间的电子转移和重新分布 , 调整后的各原子的有效电负

性最终达到一致, 都等于分子的总体电负性χ:χ a=χb=χc=…=χ这样,我们对分子中原子,除了注意净电荷外,还有一个量

值得把握,那就是分子中原子的电负性,它就是该原子所在的

MO的电负性或说是能级负值,当然它是由参与成键的基组、

电子转移、中移形成的。但它已是一个综合的确定值,不象净

电荷那样成份复杂难以把握。

我们也许不习惯接受分子中原子的电负性就是该原子所在

的MO的电负性这种说法,但是如果说分子的一个 MO中原子

的电负性有各种各样的值则是更难想象的。

3.53.53.53.5净电荷净电荷净电荷净电荷qqqq与电子密度差与电子密度差与电子密度差与电子密度差ΔρΔρΔρΔρ分子中原子既然会因电负性大小不同而发生电子流动,想把

握电子流动后原子的实际电荷自然会油然而生。于是就产生了

“净电荷”这个概念。如果说在计算结果“Total SCF Density”中一

个原子的计算电子量比该原子孤立时的电子量增加了额外的电

子量 q,我们就说该原子在分子中的净电荷为-q,如果计算电子

量比该原子孤立时的电子量减少了额外的电子量 q,我们就说

该原子在分子中的净电荷为+q。这就是 Mulliken atomic charges。

2020202010101010,,,,

38

Page 50: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

由此可见,Total SCF Density只是提供了原子以及原子之间

的电子集居数值(半经验是 AO、从头算是基组,作为电子承

载体),而净电荷作为差值实是经过人的思维加工的科学抽象,

它只标出净变化,使这净变化脱颖而出,使变化更鲜明。

净电荷本来应是一种科学抽象,然而上面说过,由于电子流

动的复杂性,净电荷经常会显得太笼统了,与实验预期并不符

合,并不合用,还必须细分。

电子(electron)与电荷(charge),它们在许多场合本是同

义词。但电荷又有所延伸,它可以是有正有负的,特别是“净电

荷”这样的概念,分出了“正电荷”、“负电荷”。我们如果仅看分子轨道图、电子密度图,比如 HF分子的σ

键的分子轨道(图八)“Contour Graph HF MO3”和相应的电子

密度(图九)“Contour Graph HFMO3-ρ”,它们是据 HF分子第

3个MO即σ键作出的,MO3-ρ只是该轨道电荷在空间分布的真

实写照,没有人为的划分和失误。但它们那么浑圆、憨厚、质

朴,只是一片云。

在量化图形中,电子密度差Δρ值得注意。它其实是传统的原

子净电荷概念的扩大和空间化,它直接从MO衍生而来,真实

地、科学抽象地表现了电荷在分子空间分布的净变化,并将它

展示出来,不再只将净电荷人为地局限、归并、划分在某个原

子上。

特别是我们常常需要考察分子成键的单个特定的MO(或者

孤对电子 MO等),电子密度差Δρ也能作出它们在分子中的电

子净变化,不致将各种电子混为一谈。

但是一旦作出了电子密度差Δρ的图形 “Contour Graph HFMO3-Δρ”, 见图四,成键原子前后变化、分子之间络合、氢健、

吸附等,电子增减的净变化,被鲜明地、细微地突出了,可以

发现许多新东西、意想不到的东西,从而引人入思。

在图“Contour Graph HFMO3-Δρ”中,并对照 MO系数来看,我们在前帖已经较详细地分析过了,这个σ键可以分析为三个内

含:原子以基组形式参与成键、电子在不同电负性原子之间转

移、电子向键中间移动(“中移”)。

3.63.63.63.6 σσσσ、、、、ππππ、、、、pipipipi、、、、δδδδ等各层轨道的关系等各层轨道的关系等各层轨道的关系等各层轨道的关系

象原子有 s、p、d等各层轨道一样,分子有σ、π、pi(孤对

电子)、δ等各层轨道。通常下层(如σ)电子的增减,会影响其

上的MO(如π、pi)的电负性,而反过来上层 MO电子变化通

常不会影响下层。因为这种影响是电子对核的屏蔽,自然会内

层电子影响外层。

比如我们可以作出 CH2=CH2的σ和π的电子密度图形来作一

个直观的考察。本来可以对 CH2=CH2的ρ平面作一个穿过σ和π的截面,就可以得到σ和π电子密度图,但这样σ和π电子密度在

绘图时会叠加在一起,不能直观地区分σ和π电子的存在空间。

实际上σ和π电子的MO是正交的,不会融合。于是我们需要

分开作出 σ和π的电子密度,为了

比较方便,将它

们放在 一张 图

中 : “ContourGraph CH2=CH2SG+PI”。(见图

十)图中,σρ为红色等值线,起

始线取值为 0.3,

它靠近σ键轴,密

集。然而 πρ黑色

等值线,起始线

取值为 0.03,它

远离 σ键轴,弥

散。当然,等值

线的取值是人为

选定的,此图只能作为一幅示意图来看。

这图想说明两层意思:

一方面,大致地说,它表明σ电子确实在π电子的内层,对π电子起着屏蔽核电荷的作用。π电子确实在σ电子的外层,不对σ电子起着屏蔽核电荷的作用。当然还会有一定的穿透效应,但

相对较小。

另一方面,σ电子虽然由于电子转移或中移使 C的σ电负性发

生了很大的变化,但毕竟这些变化都是在π电子的内层,总的屏

蔽作用应仍然没有原则性的变化。

3.73.73.73.7正确应用电荷的对策正确应用电荷的对策正确应用电荷的对策正确应用电荷的对策

计算得到的MO以及表达它的 cube 图形是可信的。cube 的空间格点值是MO在该点的系数的具体数值,对这格点值进行

平方,(如果这个 MO上占有两个电子还需要乘以 2), 就得到

了空间格点电子密度数值,它是电子在任一空间格点出现的几

率。

这样得到的电子密度本也是可信、可用的,问题出在人为地

对电子密度ρ的划分和对不同电子的不加区分。解决了划分和区

分的问题,当然电荷就基本正确了。

原子在形成分子时,采用了复杂的基组、发生了电子转移、

中移,何况还有σ、π、pi、δ等在分子中电子流动的方向不尽相

同,分子中电荷问题是非常复杂的。简单、粗暴地将电荷划分

到原子上被实践证明是不可取的,不如承认这一切,如实合盘

托出,用空间图形来展示电子密度ρ的分布。

ρ和Δρ,以及对其作图,因是电子的空间分布如实写照,不

存在人为划分的失误问题。

如果将σ、π、pi、δ等各种电子分别作ρ和Δρ、作图,也就解

决了区分的问题。

于是,我们需要分别考察 σ、π、pi、δ等各层轨道。对于典

型的小分子,由于MO对称性不同、正交,它们往往有各自的

MO。并可以作出它们的MO图、某MO的电子密度ρ图和某种

键的电子密度差Δρ图,以便可以直观考察它们的性质。

当要了解诱导效应等时,考察σ型的MO。当要了解共轭效

应等时,则考察π型的MO。当要了解 PI电子反馈、氢键等时,

则考察 pi型的MO。只是不能笼统去看净电荷。

在谈到电荷应用的对策时,不得不谈一下作分子模拟一个比

较容易忽视的问题。

面对我们要计算的分子,我们常常是不管这个分子有多大、

考察研究什么课题,都将这个分子完整地进行计算才放心了,

认为这是分子模拟必须的。这样一来,分子如此之大,如何看

MO?如何看电子密度分布?作图都看不清、道不明。就只能看

能量了。这其实也是阻碍我们观察电荷的一个原因。

实际上对于某些课题,如研究反应中心的活性、分子中基团

的性质、氢键、催化、吸附、应用基础研究等等,我们可以取

一个包含上述内容的较大一点的分子片,选择适当的封头(如

H、CH3之类),来进行算,然后进一步选择一个有代表性的截

面作图来看。如一个高分子,如果不截取一个适当的链段(封

头)来算,如何进行?一本有机化学,对有机化合物的分类就

是按官能团进行的,官能团就是分子性质的核心。

特别重要的是适当的分子片提供给我们能看得清、道得明的

量化信息,如 MO、电子密度分布,要比一个完整的大分子提

供的此类信息要明晰、易于为我们识别接受。难怪在 gaussian 03程序所附的算例中,近百次以 CH2O为例,对它的计算,精确、

全面地提供了它的MO、电子密度分布和能量信息,这里σ、π、pi电子都有了,而且我们可以明明白白地看到。如果在一个较

大分子中包含-CHO 基团,这基团将淹没在大量信息中,我们

将什么也看不见。

其实,我们如果拿一个较大分子去计算,它也只是一种客观

化学实体的分子模拟而已。打一个粗略的比方来说,如果说这

种分子模拟离客观化学实际尚有 10步之遥的话,取一个适当的

分子片来作分子模拟,可能又远离了一步,可是却换来了可用

的信息量,从而更有利于我们去把握MO和电子密度。

2020202010101010,,,,

39

Page 51: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

4.4.4.4.从量子化学图形解读二聚水氢键从量子化学图形解读二聚水氢键从量子化学图形解读二聚水氢键从量子化学图形解读二聚水氢键

这里的工作,只是用量化图形初步观察了一下二聚水氢键,

如其说是研究了一下氢键,不如说是意在试一下量化图形如何

应用。

对(H2O)2和两个 H2O 分别进行了计算,使用 gaussian 03量子化学程序,采用 HF方法,6-311++d**基组。用 GsGrid 程序

取得截面数据,用 Sigmaplot程序作图,插图坐标单位为Å。gaussian 03子目录 tests中的 test083就是一个二聚水的算例,

现在进行了优化,计算了单点能,进入 Gaussview 中显示如图

十一的构型。

4.14.14.14.1量子化学计算结果的分析量子化学计算结果的分析量子化学计算结果的分析量子化学计算结果的分析

1、从这个二聚水的优化结构(图十一)看,是左边水

分子(下称水-1)的O 原子 pi(孤对电子)作为电子给体,

右边水分子(下称水-2)作为电子受体,形成氢键。本文

都是通过水-2分子平面、包含水-1的 O 原子作的截面图。

O……H—O 的 Y=0,在X 轴上的坐标点依次大约是 0、2、3Å。

计算的二聚水氢键键能为 20.12 kJ•mol-1,O……H—O长 3.001 Å。

计算的二聚水有十个MO,其MO10是水-2的 O 原子

pi(孤对电子)。

图十二是MO9,它是水-1的 O 原子 pi延伸成为了氢

键轨道。实线、虚线最外等值线为 ±0.02,往内等值线递

增±0.02。图中清楚地表明了,水 -1 的 pi有一点转移到水 -2的 H—O

上了,且相位相符。

2、为什么水-1的 pi会在水分子之间形成电子转移呢?它的

内因是什么呢?

象原子有 s、p、d等各层轨道一样,分子有σ、π、pi、δ等各

层轨道。

通常下层(如σ)电子的增减,会影响其上的MO(如π、pi)的能级的升降。

而且在分子中,

或者象现在涉及

到的二聚水络合

物,原子、基团、

络合物中的分子,

会通过改变其上

的电子集聚量,来

改变、调整着自己

的能级高低。

对于水、二聚水

这样的小分子体

系,我们很容易找

到 pi所在的AO或

MO的能级。

对一个孤立的

基态 O 原子(多重度为 3),计算得到它的 pi能级为-0.61367。然而,在水分子中,由于两个σ键 H-O向 O 转移了较多电子,

致使电子对核的屏蔽增强,对其上层 pi的吸引力减弱,导致水

分子的 pi能级升高至-0.51095。Pi的这种能级升高,导致 pi在分子内(如 CH2O 中)、分子

间,要向低能处移动一点电子、降低能量、达到新的平衡。在

二聚水中,pi能级又稍降至-0.53429。3、现在从外因看一下这能级大大升高的 pi电子转移的现实性。

可以观察氢键络合物生成前单体水 -1 的 O 原子的 pi 即HOMO,与氢键络合物生成前另一单体水 -2的 LUMO进行比

较,因为正是这个 HOMO的电子要有一点流向 LUMO。作为水-1的 pi的 HOMO,它的相位自然是典型的P 型轨道,

有正负对称的两瓣。见图十三。

水-2的 LUMO怎样形成一个与 pi对称性相同的轨道而起作

用呢?

图十四是 LUMO,从它的基组看,这时是 H-O 中的原子各

出一个 S 型轨道,O 是 5S,H 是 4S,且一正一负,构成一个相

位与 P 型轨道相似的 LUMO,从而实现 HOMO与 LUMO的融

合,实现电子 pi少量转移,降低能量,形成氢键。

图十三是处于二聚水坐标位置的独立计算的水-1的HOMO,

实线、虚线最外等值线为±0.04,往内等值线递增±0.04。图十四

是处于二聚水坐标位置的独立的水 -2的 LUMO。实线为正值,

代表MO正的部分的等值线,最外等值线为 0.02,往内等值线

每线递增 0.02。虚线为负值,代表MO负的部分的等值线,最

外等值线为-0.035。对照 HOMO与 LUMO,它们的对称性是相符的,是有转移

电子的可能性的。

4、然而,单体水-1的 pi即 HOMO能级为-0.51095,而水-2的LUMO能级为 0.04366,怎么能说电子流向低处呢?

要知道,虽然这个 LUMO称为空轨道,但它的能级值,却

是设想占有一个电子时计算出的能级值,由于它是一个反键轨

道,如果真占有电子是会拉开 H-O键的。

因此我们应该这样来想象:H-O 作为一个σ键能级是很低的,

其上电子紧缩,它周边的电负性是高的,LUMO在没有电子时

是紧贴在 σ键外围空间的,电负性也是高的,比水 -1的 pi即HOMO电负性还高。当 HOMO流出电子能级降低,LUMO得

到电子能级升高,直至达到能级均衡,融合成统一的 MO。能

级的高低,电负性的高低,是驱动电子流动的动力,直到能级

均衡。

这里不妨估算一下。如果我们认为一个MO上电子的增、减

会导致该MO能级升、降。如果 HOMO原来能级为ε,改变了

电子量 q之后能级为ε*,即是MO9的能级。根据文献一般近似

地认为:

ε*=(1+q)εq=ε*/ε – 1这时,HOMO的ε为-0.51095,ε*为-0.53429q=+0.045680e这就是 HOMO与 LUMO之间转移的电子量,HOMO失去

电子 q为正,LUMO得到电子 q为负。由此反推 LUMO在没有

2020202010101010,,,,

40

Page 52: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1电子占有时的能级ε为:

ε=ε*/(1 - q)= - 0.55986 (a.u.)这个能级比 HOMO的能级-0.51905要低。

电子流动之后,HOMO与 LUMO成为统一的MO9,能级统

一成ε*,即-0.53429。

4.24.24.24.2从分子静电势来分析二聚水问题从分子静电势来分析二聚水问题从分子静电势来分析二聚水问题从分子静电势来分析二聚水问题

从静电势的定义我们知道,空间某点的静电势是指从无穷远

处移动单位正电荷至该点时所需做的功。水的静电势图表明:

O 原子周围的静电势为负值,即正电荷与其有较强的相互作用,

容易与之靠近;相反,电子则容易与静电势等值线正值密集处

的 H、O靠拢。

作水-1的分子静电势如图十五。实线为正值,代表静电势正

的部分的等值线,最外等值线为 0.5,往内等值线每线递增 0.5。虚线为负值,代表静电势负的部分的等值线,最外等值线为 -0.04,往内等值线每线递增-0.04。

作水-2的分子静电势如图十六。实线为正值,代表静电势正

的部分的等值线,最外等值线为 0.5,往内等值线每线递增 0.5。虚线为负值,代表静电势负的部分的等值线,最外等值线为 -0.04,往内等值线每线递增-0.04。

也分别让二水处于二聚水的坐标位置,以便于对照来看。

我们可以看到水-1的 pi处的静电势为负值,蓬松发散,具

有强亲核性。水-2的 H-O键处静电势为密集的正值,具有强亲

电性。

当然不是将电子吸引到 H-O 键上来,而是在 H-O 键之外的

空间,形成一个新的轨道,它是 pi轨道的延伸。静电势正是在

描写这种空间。这个 LUMO基组中 O 是 5s、H是 4s,MO9的基组主量子数较高也都表明了这一点。

还可

以作 一

个二 聚

水的 静

电势 图

来对 照

着看(图

十七)。

实线 为

正值,代

表静 电

势正 的

部分 的

等值线,

最外 等

值线为

0.1,往内

等值 线

每线递增 0.1。虚线为负值,代表静电势负的部分的等值线,最

外等值线为-0.05,往内等值线每线递增-0.05。水-1 的 pi处的静电势的蓬松负值没有了,电子转移了,导

致双方的静电势基本上也是均衡的。

从静电势看,由于水-2的 H—O 的外围增加了一点电子,使

得它的静电势等值线微微内移、紧缩了一点。

4.34.34.34.3二聚水的电子密度差二聚水的电子密度差二聚水的电子密度差二聚水的电子密度差ΔρΔρΔρΔρ二聚水的氢键的形成主要是水-1的 O原子 pi延伸成为了二

聚水轨道MO9,由于无论是在水分子或者二聚水分子,MO相

互之间由于对称性不同、正交,pi和MO9都是独立作为一个MO而存在的。因此二聚水的Δρ,主要应是 MO9的ρ与水-1的 pi的ρ之差,见图十八。它展示了电子的转移情况,就是水-1的 pi的电子净减少了,电子跑到水-2的 H—O那一边了,这里是电

子净增加,这反映了氢键的根本内容。似乎这样的图不作也会

自然想象得到。这种电子转移,仍然保留着它作为 p 型轨道的

形象,只是现在是电子,没有了波函数的相位。

二聚水的Δρ还有另外一种作法。即计算了二聚水整体的ρ后,

再分别计算两个水分子整体的ρ,让这两个水分子的坐标分别定

格在二聚水中的坐标位置,然后作二聚水的ρ与两个水分子的ρ之差。见图十九“(H2O)2Δρ”。

这个图早在数月前就作出了,此图很费解,每每只是调出来

凝视一番。后来一个网友求助氢键使键的极化增强,才有现在

的理解。

我们在考虑二聚水形成氢键时,自然主要考虑

的是电子转移所反映的氢键的根本内容。然而另一

方面,这二水的靠近、特别是水-1是以孤对电子去

靠近,形成氢键,二水分子之间又是有着较大的斥

力的。目前这种优化出的构型,正是形成氢键的作

用力与分子之间排斥力的平衡。这排斥力不仅决定

了二聚水分子的构型,而且还调整了电子排布,这

电子排布的调整,完全被图“(H2O)2 Δρ”如实地拍

摄下来了。

现在的Δρ,自然应该包含形成氢键时的电子转

移,但它叠加在现在的Δρ之中了,而且由于转移

量毕竟较小,它现在不再是主角了,甚至被掩盖了。

主角现在变成了因排斥力引起的电子排布变化。对

这些变化,我们所关心的主要还是构成氢键的

O……H—O 这条线。

随着水 -1 以孤对电子为前锋去靠近水 -2,…H—O的电子受到较大的斥力,使得这个 H—O 键的极化

加强了。从计算结果看,这个 H 在氢键前孤立水分子中集居数

为:1s 0.27039、2s 0.38426;氢键后相应的这个 H集居数为:1s0.44432、2s 0.07500。前后减少了 0.04533个电子。氢键形成时

我们在上面推算本来转移过来 0.045680电子,现在H 的电子不

升反降,可见斥力之大。

现在的Δρ图,H处有大的电子缺失,往 O 那边偏移了,可

能又受到水-2孤对电子的斥力,电子被挤压在 H—O 之间。这

种挤压的结果,使键间电子的斥力增强了,H—O 反倒被拉长

了一点

集居数分配数据一方面表明形成氢键后 H 的电子集居数减

少了, H—O 极化程度加强了,另一方面表明H 的电子向内层

(1s)收缩了,失了电子当然会收缩。

这两种Δρ,前一种只展现了形成氢键时的电子净转移,后一

种因是基于全分子的密度则展现了二水接近时的斥力使各部分

以及电子分布的相应的调整变化,却也很妙!

上面这种图景,比简单的经验想象把 H 作为电子受体(或说

质子给体)要复杂得多,真实得多。

4.44.44.44.4 gaussiangaussiangaussiangaussian计算和量化图形告诉了我们什么呢?计算和量化图形告诉了我们什么呢?计算和量化图形告诉了我们什么呢?计算和量化图形告诉了我们什么呢?

1、当两个水分子接近时,一个水处于HOMO的 pi(孤对电

子),有少量电子流向另一个水的能级较低的空 LUMO,使

2020202010101010,,,,

41

Page 53: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

LUMO与 HOMO 能级发生一升与一降,融合成了一个统一均

衡的新轨道,使能级下降了,从而形成了氢键。同时这种接近

引起的斥力,使二聚水各部分以及电子分布作了相应的调整,

形成了平衡、稳定的空间和电子构型。

2、LUMO与 HOMO的相位符合是形成氢键的可能性,能级

相差是电子流动的驱动力。

从图形看,独立水分子 LUMO是它的固有性质,是占有电

子时的反键轨道,其形象更加发散、分离,基组的轨道主量子

数也较高,是要拉开这个键的。

但是一旦受到 HOMO的影响,且只有少量电子流过来真正

占据时,它的形象才更接近 HOMO、变成现实,基组的轨道主

量子数也没有那么高。

对于计算出来的 LUMO,名为空轨道,实是假定占有一个电

子时的情形,不能直接得到它在只有少量电子占据时的情形,

这时,只能在它所新形成的MO9中才能看到少量电子占据时的

情形,看基组或者图形。

3、仔细观察MO9(图十二)虽然这左右两边在对称性上是

相符的,可是却发现在氢键上的 O……H原子之间的相位却是

相反的,即转移电子并不在原子之间聚集,而是在 O……H 原

子之间有节面,即不构成共价键的性质,仅是静电引力性质的,

这与历来认为氢键是静电引力相符。从另外作的一些 PI电子这

类转移看,如在甲醛 CH2O 中 O 的 PI电子反馈到 CH2上,相

位也是相反的。

PI电子保留着它不参与成键的“孤对”、非键电子的本性。只

是转移到低处降低了能量而已。

4、再仔细观察 MO9上面曾估算电子转移量才 0.045680e,不到 5%,可是却发现图形(图十八)从外表看竞与左边的图形

在大小上差得并不是太多,从等值线可见右边的图形有极大的

膨胀、弥散。从 MO9的基组看,水-2的 H 基组采用 2S、3S、4S,O采用了 3P、4P,是相符的。

可见这转移电子不仅没有聚集在 H—O 上空之间,不构成一

点共价性质,而且在 H—O 之上有很大的延展,是 H—O上空

的一片浮云。这转移电子与 H—O 仍然只存在着静电引力的关

系。

还由于这转移电子在 H—O 有反键性质,在二聚水中,计算

数据表明,这个 H—O 键反倒被拉长了一点点,电子转移量也

才一点点。

5.Pauling5.Pauling5.Pauling5.Pauling电负性的本质电负性的本质电负性的本质电负性的本质

5.15.15.15.1电负性概念电负性概念电负性概念电负性概念

在我最近这一组帖子中,认为:在 MO理论,电负性χ是体

系电子能级ε的负值。

在分子中,电负性大的原子得到部分电子、对核的屏蔽增强,

使得电负性降低,能级升高,电负性小的原子

失去部分电子、屏蔽减弱,使得电负性升高,

能级降低,从而达到电负性均衡、能级均衡,

不再有电子流动。

并进一步提出:在分子的一个 MO中,参

与组成MO的各个原子(基组杂化形式)的电

负性是相等的、均衡的,它的值就是这MO的

电负性。这就是在MO理论中电负性均衡原理

的概括表述。

上面的电负性概念,原本是从 Pauling电负

性发展而来的,然而与 Pauling电负性又有所

不同。

5.25.25.25.2 PaulingPaulingPaulingPauling电负性标度电负性标度电负性标度电负性标度

Pauling电负性概念起先只是针对原子的,

后来合理地发展到分子中基团了,这对当年量

子化学萌芽状态、没有方便的量子化学计算,

是有重要意义的。

通常,教科书上定义说:“电负性是原子在分子中吸引成键

电子的能力。”其实,这句话并不能从字面上简单去理解,因为经过电子转

移,原子在分子中吸引成键电子的能力是相等的。同一个原子

或基团,它在与各种不同电负性的原子或基团成键时,电子转

移量会不同,但都会实现电负性均衡。因此,分子中原子或基

团的电负性,它是一个随与之成键原子电负性大小、电荷转移

量的大小而变化的,不会是一个常量,何况还伴随着电子中移

带来的电负性变化。

要使这种在分子中成键原子或基团电负性是一个便于在分

子中应用的常量、成为原子或基团的固有的性质,必须设想成

键原子或基团在分子中相互摄动而没有电荷转移的情形,这时

的吸引成键电子的能力,这时的电负性,当然这是一种科学抽

象,这就是 Pauling电负性标度。但它又决不是孤立原子的轨道

电负性,因为现在是分子中的原子,它的成键轨道是基组杂化

了的、电子中移使电负性大大提高了的,成键的三个内含中仍

保留了两项,只是设想返还了转移的电子。

Pauling电负性的经验式,本就是从相关键的实验测定的结

合能拟出的,它必然是会包含成键的三个内含的。不仅如此,

因是结合能,还会包含原子核之间的排斥能,现在又多出了一

项。Pauling电负性的经验式,虽然是从结合能而来,却抓住了

成键双方电负性之差所起的作用,与双方成键键能 EAB和 EAA、

EBB 的均方根之差的关系,包含了电负性的核心:成键轨道的基

组杂化和电子中移在结合能的内容,得到了分子中原子或基团

设想在没有电子转移的电负性,它是一个无量纲的可比较相对

大小的数字,历史已经证明这样作基本上是成功的。

由此可见,Pauling电负性标度实际上是一种科学抽象,与

本文所讲的分子中原子或基团实际具有的可以变化的具体电负

性还是有所不同的,上面帖子说的电负性概念已经超脱了

Pauling电负性标度概念而更加广泛了,它就是某种化学实体吸

引电子的能力,它包含 Pauling电负性标度这种科学抽象形式。

因此,Pauling电负性标度值,是不能直接由量化计算出来

的,但可通过量化计算的电荷转移量,反推出来。但电荷受基

组影响大,电子转移、中移又交织在一起,经验表明也许半经

验量化计算的反倒方便可用一点。

当然,由于现在量化计算已经很方便地得到分子的性质,得

到各种更为精确的MO和电子结构,分子乃至它的变化可以活

生生地展现在我们面前,再不需要经验的电负性来指导化学实

践了,经验的电负性概念只是需要在量子化学中找到根据和深

化,演绎而下的量子化学与经验归纳而上的电负性需要相互结

合,相互丰富而在新时代向前发展。

2020202010101010,,,,

42

Page 54: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Article

电子密度差Δρ深入计算一例:HCl

[email protected]@[email protected]@live.cn

我们知道,波(状态)函数和几率,是作为量子力学第一

个基本假设(公理)提出来的。

在量子化学,ρ=Ψ*Ψ,它天才地沟通了电子的波粒二象。

然而通常比较忽视作为粒子性的 ρ,这主要是因为计算得到的

“净电荷”以及其他电荷都有人为处理的失误,与经验、实验相

距甚远,使人们对电荷失去信心,从而不理会电荷,这也累及

到ρ。其实ρ从Ψ的平方而来,它也与Ψ一样,是从量子化学得到

的最原始、原生态数据,它本身是有来历、可信的。

这里的初步工作,是想从ρ出发,从新的视角和方法,认

识电子在形成化学键时的变化。

我在上一篇帖子《电子密度ρ和密度差Δρ》说,在 GsGrid中,对成键前后的几个 ρ进行三维空间格点相减,从而得到Δρ的 cube 新文件。再次进入 GsGrid,就会自动对Δρ的 cube进行

三维空间格点体积微元中的电子的正值部分和负值部分分别进

行加和,这样一来,Δρ不仅是一幅直观的图象,而且有了电子

净增(正值)、净减(负值)的具体数值,又精确定量了。

这样,对H2的Δρ进行计算,得到Δρ的电荷在键中间的(下

称“中移”)净增加值为 0.251229,在二 H 电荷净减少值共为

0.250936。对二聚水电子转移Δρ进行计算,转移量为:水-1孤对电子

处(净减少)-0.39139,水-2的 H—O 处电子净增加为 0.39128。然而,象上面单纯的电子向键中间移动、单纯的电子在分

子之间转移,毕竟是少数,大量的情形是电负性不同的原子之

间成键,同时伴随着电子的中移和转移,它们在Δρ是重叠的,

要想方设法理清这种重叠,判明电子中移和转移的确切量。

这需要算很多分子来进行分析考察,现在先拿一个 HCl的计算例,说明这种计算的基本思路、过程。

关于ClClClCl的 C03C03C03C03计算

Cl由于有一个单电子,计算时可用 ROHF或者 HF 方法。

用 ROHF方法算,单电子能级(-0.19956)在两个孤对电

子简并能级之上,比 H 的轨道能级(-0.49982)还高出很多。

用 HF方法算,总能量比 ROHF低,单电子能级( -0.57891)在两个孤对电子简并能级之下,也在 H的轨道能级之下,故本

计算取了 HF方法计算。

选择Δρ进行计算考察,因为它是原子或基团形成分子前后

的电子密度差,反映了成键前后电子的净变化。

选择 HCl这类分子,因为它形成σ键的MO单一,可以认

为是 Cl 的单电子轨道与 H的轨道衍生而来,Δρ只需要用相关

的轨道,情况单一明确,而其它轨道都不会有电子得失上的变

化。

图一便是这样作出来的Δρ的一个有代表性的截面。我们可

以清楚地看到,成键后电子发生了什么样的净变化。总的看来,

电子大量地由 H 转移的 Cl上了,H、Cl之间也有中移电子。

为了分析Δρ所展示的电荷,从图一看,从左到右,依次是

正(增加)、负(减少)、正 (中移)、负(转移与中移叠加)四个

部分,首先就要将这四个部分分别算出相应的电荷量来。

在空间找到的电子量,本是指这样一个积分的结果:∫∫∫ρ(r)dxdydz ,其中 r是坐标矢量。在 gsgrid 中计算时,由于 cube的格点已是离散化的,就成了∑[x]∑[y]∑[z] ρ(x,y,z) dxdydz,令

dxdydz=dv,即 dv是空间微元,也就成了∑[x]∑[y]∑[z] ρ(x,y,z)dv。所以格点文件中每个位置的 ρ(x,y,z)乘以空间微元 dv的积的加

和就应当归一或归 N,即 1或者 N个电子。

从 cube 文件的构成,或者更直接由 GsGrid为每个格点配

齐三维坐标计算的实际运作来看,它是从空间格点的起始点开

始,每变一个 x的步长,y、z就轮回一遍,三维坐标格点也正

是这样排列的。因此我们只要以 x坐标为准,在 x轴上选一个

值 a,对三维坐标格点的从起始点开始一直到 x坐标值为 a,对

ρ进行加和,再乘以空间微元 dv,就得到这一段空间的电荷量。

于是从图一我们找到正、负、正、负之间的 x轴的分界点,分

段求和,就可以计算这四段的电荷量。

当然为了划分更加严格分明,实际的具体操作是将 GsGrid的三维坐标格点文件在 Excel 中打开,并将这个ρ值列进一步分

为正值、负值各一列。并对正值、负值各作出相应的截面图,

见图二、图三。在图二、图三上分别找到两个正值和两个负值

的分界点。然后对两个正值分别加和,两个负值分别加和,再

乘以空间微元 dv,得到各自的电荷量。由于计算都是采用的原

子单位,ρ是 bolr^3中出现的电子量,空间微元 dv也是以 bolr^3为单位的,GsGrid会自动输出 dv的大小。

由上面所讲可以看出,由于三维坐标格点文件只是以 x坐标为基准在变化的,相应的三维坐标格点也正是这样排列的,

并且无论分子的实际坐标取向如何。如果分子取向不是现在的x轴方向,而是 y轴方向,我们将完全不能由划分 x轴的区间来

划分计算空间,而且又不能去划分 y轴。

这在作Δρ的截面图时,本没有什么问题,只需要作图时交

43

Page 55: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1换一下坐标,图形就会旋转 90度,按我们的习惯来展示图形。

但这样作完全不能改变三维坐标格点以 x 坐标为准变化的排

列。

而且实际计算还真的出了这个问题!

当我们用 G03计算 Cl原子时,我们需要用的那个单电子

波函数,它竞是个 Py,F原子的单电子波函数也是个 Py,O 原

子有两个单电子,竞是个 Py、Pz!在 G03中,我们目前还找不到什么指令或方法让单个原子

的波函数改变取向。如果我们按照 Cl原子单电子波函数 Py取向安排 HCl分子,它将是 y轴方向的,上面的划分 x轴的区间

的方法就完全行不通了。在 Excel 中作改变将会太复杂。

幸好 multiwfn 1.1新增加了这个功能,将波函数 Py取向改

为 Px!具体作法是:

1、在用 G03计算 Cl 原子时,增加关键词 output=wfn 输

出波函数,在输入的分子信息之后空一行,写上输出的波函数

名称和路径,如:D:\Cl.wfn。此时不再用关键词 cube计算格点文件,因为这时得到的

单电子波函数是 Py。运行 multiwfn,读入 Cl.wfn,按程序使用说明书操作,将

选定的波函数 Py取向改成 Px。在功能选择菜单上选择选改波函数的功能 6,再选次级功

能 2,输入分子轨道号码,比如 Cl单占据轨道就是 7。这时出

现该波函数的展开系数都在 Py上,并且可以看到基函数 Py对应的序号和应交换的相邻 Px的序号,反复选择交换功能 7,写

下要对应交换的 Py序号和 Px序号,用“,”号分隔。直到所有

交换进行完毕,选择功能 8,自动将改好的文件存为 new.wfn。视基组大小,只须改变几个基函数即成。

再次运行 multiwfn,读入 new.wfn,按程序使用说明书操

作,就可计算 Cl 单占据轨道的电子密度三维格点文件(Cl.cub),

此时取向已经是 Px,它的格式与 G03的 cube 文件完全一样。

2、同样对 HCl、H 按作Δρ的要求进行 G03计算,也用

output=wfn得到波函数,同样进入 multiwfn做成电子密度三维

格点文件(HCl.cub、H.cub)。3、运行 GsGrid,将电子密度三维格点文件 HCl.cub分别

减去 Cl.cub、H.cub,就得到 HClΔρ的三维格点文件HCl-DD.cub。4、运行GsGrid,读入HCl-DD.cub,取xy截面,得到HCl-

DD-xy.txt,它可以在 sigmaplot中直接打开,作出等值线图形。

可以观察 HCl的Δρ。如果Δρ图形正确,将HCl-DD-xy.txt在 Excel 中打开,将Δρ

值的列分成正值列和负值列。一方面可以用它们作一个Δρ的虚

实线图作为插图。另一方面可以分别作出正值线图(图二)和

负值线图(图三),找到计算ρ值和的分界点的值。HCl的Δρ正值线的分界点值确定为 x=0.4,负值线分界点值确定为 x=0.89。

5、运行 GsGrid,读入 HCl-DD.cub,选择功能 1,就为每

个格点配齐三维坐标了,它是一个文本文件如记为 HCl-DD-xyz.t xt。

同时 GsGrid会自动对给出 dv的值为:0.0014577,计算Δρ的正值加和和负值加和值,以及乘以 dv后的正值(电子净增加

总量)、负值(电子净减少总量)。我们还需要将这两个总量进

一步分开。

6、将 HCl-DD-xyz.txt 在 Excel 中打开,如果是 80×80×80的格点数,在 Excel 达到 512000行!前三列为 xyz坐标,第四

列为Δρ的值。进一步将第四列分为第五列(正值列)和第六列

(负值列)。

点选正值列第一个值,看着 x轴的值下拉滚动条到 x=0.4的最后一行,点击选中,点击菜单上的∑进行这一段Δρ值的加

和,再乘以 dv,得到电子量为:0.4960点选正值列 x=0.4 的最后一行,拉滚动条到此列末尾,点

击选中,点击菜单上的∑进行这一段Δρ值的加和,再乘以 dv,得到电子量为:0.0229

再,点选负值列第一个值,看着 x轴的值下拉滚动条到

x=0.89 的最后一行,点击选中,点击菜单上的∑进行这一段Δρ

值的加和,再乘以 dv,得到电子量为:-0.2170点选负值列 x=0.89 的最后一行,拉滚动条到此列末尾,点

击选中,点击菜单上的∑进行这一段Δρ值的加和,再乘以 dv,得到电子量为:-0.2960

这样,图一所呈现的从左到右正、负、正、负的四个值都

分别求出了。

由此,初步计算 HCl的转移电子为:0.2845。用同样的方法,初步计算 HF的转移电子为:0.3664。推算转移电子的方法这里没有讲,目前还没有确定下来。

附录:关于multiwfnmultiwfnmultiwfnmultiwfn 1.11.11.11.1Multiwfn1.1相较 1.0版功能有了重大扩充,尤其在作图方

面。请在 multiwfn主页下载

http://sobereva.2024mb.com/multiwfn.htmmultiwfn利用 PROAIM 波函数文件(.wfn),可以计算空间

中任意点的分子轨道波函数值、电子密度、电子密度梯度、拉

普拉斯值、自旋密度以及静电势,可以输出并直接图形化显示

在某直线和某平面上的这些属性,可以生成这些属性的高斯格

点文件并显示等值面,可以对高斯基函数进行交换并保存至新

波函数文件。multiwfn使电子密度在分子中分布的分析做到点、

线、面、体四位一体,既可分析其本质(波函数),也可以分析

其延伸出的性质(电子密度、梯度、曲率)。

此软件最重要的用途是方便地做多种类型的平面图,包括

填色图、等值线图、地形图(可以附加填色和投影效果)、梯度

线图。此方面可以完全代替难用的Molden,也能够代替收费的

AIM2000。尽管做平面图也可以先用高斯计算格点文件,然后

用我的 gsgrid软件提取平面数据,再用 sigmaplot等软件作图,

但明显比直接使用 multiwfn复杂并且费时。如果对本程序作图

效果不满意,也可以将输出的直线、平面数据再放到专业软件

里作图。

44

Page 56: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

Communication

巧用 ME软件的 bdl 文件建立多分子模型

HuiqingHuiqingHuiqingHuiqing LanLanLanLan

School of Mechanical, Electronic and Control Engineer ing, Beijing Jiaotong University, Beijing 100044,China

[email protected]@[email protected]@gmail. comcomcomcom

Materials Explorer(以下简称ME)软件是由日本 FUJITSU公司开发的一种高效的商业化的多用途分子动力学(MD)软件

包,适用于Windows操作系统的个人计算机和 Linux系统的集

群式计算机。ME软件功能非常强大,可以用来研究有机物、

高聚物、生物大分子、金属、陶瓷材料、半导体等晶体、非晶

体、溶液,流体,液体和气体相变、膨胀、压缩系数、抗张强

度、缺陷等。大家可以到宏剑公司的相关网页 [1]去下载具体介

绍。

利用该软件中Modeling下的 Create MD cell功能可以生成

一些常见类型的金属、聚合物和液晶分子构型,但是如果用户

模拟的模型如果由两种或两种以上不同类型的分子组成,还包

括界面等问题的话,想生成分子模型就比较困难了。ME软件

不支持与MS(Materials Studio)之间的导入导出,这是ME的一个很大缺点。尽管该软件在 File 下有 Import 功能,可以输入

MDLMolfile和 Chemical Sample File,但是很多用户反映输入

mol 文件后,不能正确显示。因此,限制了该软件的广泛使用。

本文介绍一个办法,可以通过构建 Unit cell file(*.bdl)文件来建

立含复数分子的模型。这里以ME软件 5.0版本进行详细说明。

首先介绍 Unit cell file的数据结构,以及各行各列代表的意

义。下面是一个简单的分子模拟的 bdl文件,里面包括了 3个水分子和 2个甲醛分子。其中水分子采用全原子(All Atom)

模型,而甲醛分子中甲基采用联合原子(UnitedAtom)模型[2]。

下面按各项目进行说明:

行 列 说明

1 1-6 未使用

10-17 格子单位(Unit cell)常数 a(单位:Å)

20-27 格子单位常数 b (单位:Å)30-37 格子单位常数 c (单位:Å)

2 1-6 未使用

10-17 格子单位常数α (单位:度)

20-27 格子单位常数β (单位:度)

30-37 格子单位常数γ (单位:度)

3 1-6 未使用

10-11 分子类型

15 文件格式的识别号

当为 2时:读入 5行以后 72-79列的原

子量

无识别号时:不读入 72-79列的数据,

自动设定原子量

4 1-6 未使用

10-25 分子名(注 2)42-45 分子数

48-50 该分子内的原子数

53-55 该分子内的结合数(注 3)5 1-6 未使用

10-13 原子名(=元素符号+类型)(注 4)15-22 原子所带电荷量(单位:基本电荷

e=1.60217733e-19 [C])24-38 在格子单位坐标中的 X 分量(注 5)40-54 在格子单位坐标中的 Y 分量(注 5)

2020202010101010,,,,

45

Page 57: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

(注 1)这里所说的格子单位并不只限于基本晶格晶胞(最小

重复结构),而最好为由许多最小重复结构组成的胞元。

(注 2)分子名不能为空白。

(注 3)一个分子内的结合数表示为一个分子内存在的结合总

数,不包括联合原子的结合数。

(注 4)原子名使用元素符号和原子类型共同来识别。因此,

对于同一种元素来说,原子类型不同时表示方法不同。将元素

符号(2位文字)+原子类型(2位文字)组成的 4位文字定义

为原子名。元素符号靠左对齐表示。(元素符号如果仅为 1位文

字,则第 2位文字处为空白)

原子类型的第一位文字处(原子名的第 3位文字处)表示

的含义如下:

原子类型的第二位文字处(原子名的第 4位文字处)表示

的含义如下:

原子名的示例:

(注 5)格子单位坐标是指采用格子单位进行归一化后的坐标

系(0≤坐标值≤1)。

格子单位坐标(X, Y, Z)和实际坐标(x, y, z)的关系为:格子单

位的 a轴、b轴、c 轴的各个矢量分别和(a1, a2, a3),(b1, b2, b3),(c1, c2, c3)相乘,如下所示:

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎛=

⎟⎟⎟

⎜⎜⎜

ZYX

c3b3a3c2b2a2c1b1a1

zyx

(注 6)原子识别代号是指:对应 5行后一个分子内已定义坐

标的各个原子,从1开始的顺序号码(1~一个分子内的原子数)

(注 7)原子对的结合类型是 2位文字组成(当只有 1位文字

时左对齐),表示的意义如下:

56-70 在格子单位坐标中的 Z分量(注 5)72-79 原子量(如果 3行 15列不等于 2时,忽

略)

n ~ 1-6 未使用

10-14 结合原子对的第一个原子的原子识别代

号(注 6)20-24 结合原子对的第二个原子的原子识别代

号(注 6)30-31 原子对的结合类型(注 7)

文字 含义

空白 无共价结合

(氢原子即使包含共价结合时也为空白)

1 最大结合数为单键

2 最大结合数为双键

3 最大结合数为三键

R 含共轭结合

文字 含义

1~4 为了处理联合原子设定的参数,为联合原子

中含有的氢原子数(只适用 CHn,NHn(n为整数))

空白 非联合原子

原子名 含义

Ar 单原子氩

C 12 sp3碳原子—包含两个氢原子的原子团

CH2C R1 苯环中的 sp2碳原子—包含一个氢原子的

原子团 CH

按照上面的 bdl 文件在ME5.0中最后生成的模型见下图 1所示。

图 1 分子模型 1(紫色球为氧,白色小球为氢,灰色大球为甲基)

学会看懂上面的 bdl 文件,掌握了 ME对输入文件的格式

要求后,你就能试着编写你需要建立分子模拟的 bdl 文件了。

编写程序可以用Fortran或C++,下面图 2是我使用C++编写 bdl文件后,生成两个类金刚石薄膜中含油润滑的模拟模型。

图 2 分子模型 2(紫色球为碳,白色小球为氢,灰色大球为甲基)

如果大家在具体使用过程中遇到不明白的问题,

欢迎交流谈论。

文献:

[1]http://www.hongcam.com.cn/backback/html/me.pdf[2] ME5 user guide, FUJITUS Company, 2008

文字 含义 例

1 单键结合 CH4中的碳-氢结合

2 双键结合 CH2=CH2中的碳-碳结合

3 三键结合 C2H2中的碳-碳结合

AR 苯环的碳-碳结合

C6H6中的碳-碳结合

R 苯环外的共

轭结构中关

的结合

Ph-CH=CH2中侧链上的碳 -碳单键

结合以及双键结合

PL 硝基构成的

氮-氧结合

Ph-NO2中的氮-氧结合

2020202010101010,,,,

46

Page 58: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Communication

如何在 Materials Studio 的 Dmol3模块中对体系施加约束——

固定原子坐标,原子间距离、角度及二面角

JoannaoucJoannaoucJoannaoucJoannaouc

[email protected]@[email protected]@gmail.com

由于各种各样的原因我们在做结构优化任务的时候通常需要固定所研究系统的某些几何参量;比如模拟固体表面时需要固定下部的几层原子等。

MaterialsMaterialsMaterialsMaterials StudioStudioStudioStudio的Dmol3Dmol3Dmol3Dmol3 模块可以在计算过程中对以下的量施加约束(constrainsconstrainsconstrainsconstrains):1.1.1.1.单个原子的笛卡尔坐标或其 x,y,zx,y,zx,y,zx,y,z分量(即我们常说的固定原子坐

标);2.2.2.2.两原子间的距离,三个原子形成的角度,或者四个原子形成的扭转角(二面角)。该模块不支持在运算中固定原子内坐标。

对体系施加约束有以下两种方法:一种是在图形界面下进行选择和编辑,另外一种是在*.input*.input*.input*.input文件中插入相应的命令。下面以周期性氮化硼(BNBNBNBN)为例

首先介绍图形界面下的每一种约束的施加方法,然后阐明其在*.input*.input*.input*.input文件中对应的命令行。默认所有的计算都将在 standalonestandalonestandalonestandalone模式中进行。软件版本为

MS4.4MS4.4MS4.4MS4.4。

1111固定原子坐标

打开需要编辑的体系,高亮需要固定坐标的原子;在本例中选

择了四个硼原子(氮:蓝色原子;硼:粉红色原子)

1. 点击菜单栏中的Modify → Constraints

2. 在弹出的 Edit Constraints 对话框中点击 atom选项卡,

再勾选 Fix Cartesian position3. 选择 Dmol3的 Calculation 选项

4. 在弹出的 DMol3Calculation对话框中调整好自己需要

的参数,点击 Files…

5. 在弹出的 Dmol3 Job Files 对话框中点击 Save Files

6. 点击打开相应的 input 文件

7. 在 input 文件中可以找到如下几行信息:其中第一列为

原子序号,其余几列为需要被固定的坐标

8. 如果只希望固定原子的某些坐标,可以在 EditConstraints 对话框中点选相应的坐标项;本例中选择

固定原子的 x和 z坐标

9. 产生的 input 文件中相应行如下

2222 固定距离、角度、二面角。这里以固定某三个原子之间

的角度为例

1. 在工具栏中选择Measure/Change → Angle

2. 选择需要固定的角度;在这里选择了分布在不同原胞

中的 N 原子。使用工具栏中的选择工具 高亮该角

度。

47

Page 59: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

3. 点击菜单栏中的Modify → Constraints,在弹出的 EditConstraints 对话框中点击Measurement选项卡,再勾

选 Fix angle

4. 参照上例的 4-8步打开相应的 input 文件,可找到如下

信息:

其格式为 i ia ib ic j ja jb jc k ka kb kc l la lb lc value意义如下:

a. i j k l分别对应于生成的*.car文件中的原子序号

i. i j 0 0表示固定两原子间距离

ii. i j k 0表示固定三原子间形成的夹角

iii. i j k l表示固定四原子间形成的二面角

b. ia ib ic 为 i原子所处的原胞序号

c. value为该距离/角度/二面角被固定的数值,该项

可留白,并不影响运算结果。

5. 若体系为非周期性,则相应的信息行为

这里不包括原胞的信息

6. 若希望优化后该值变化为指定数值,则对应命令行需

要做两处更改,如下图所示

d. 在 Opt_constraint后添加_unsate. 将 value更改为优化完成后需要达到的数值

3333 固定晶格常数

DMol3默认在优化过程中晶格常数是不发生变化即固定

的;如果在优化原子位置的同时也优化晶格常数,可以进

行如下的操作:

1. 在 DMol3 Calculation对话框的 Task下拉框中选择

Geometry Optimization,然后点击下拉框旁边的

More…按钮。图示请参照案例一第 5步。

2. 在弹出的 DMol3 Geometry Optimization 对话框中点选Optimize Cell

3. 保存任务后在*.input 文件中会出现如下命令行:

表示同时进行晶格常数和原子坐标的优化

本篇通讯总结了如何对所模拟的体系施加各种约束。但是

约束施加前后体系在优化过程中发生的变化,以及能量等

性质和施加的约束之间的关系需要每位读者根据自己的体

系进行研究。

48

Page 60: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Article

酞菁及其衍生物作为太阳能电池敏化材料的应用

yjcmwgkyjcmwgkyjcmwgkyjcmwgk

DepartmentDepartmentDepartmentDepartment ofofofof Chemistry,Chemistry,Chemistry,Chemistry,UniversityUniversityUniversityUniversity ofofofof ScienceScienceScienceScience andandandand TechnologyTechnologyTechnologyTechnology BeijingBeijingBeijingBeijingBeijingBeijingBeijingBeijing 100083,100083,100083,100083, ChinaChinaChinaChina

前言:酞菁是广受关注的一类新型功能材料。本文介绍了酞菁的化学修饰级燃料敏化太阳能电池的基本原理,对修饰后的酞菁在燃料敏化太阳能电池的

基本原理,对修饰后的酞菁在染料敏话太阳能电池中的应用进行了综述。

1907年,Braun 等人在乙醇中加热邻氰基苯甲酰胺 ,得到了

微量的蓝色物质,后来证实是酞菁.在 30年代早,Linstead 及其合

作者合成了多种酞菁 ,Robertson 教授利用单晶 X 射线分析法测

定了酞菁的结构.酞菁具有一个二维共轭的大环结构 ,共有 18个π电子.其分子结构式见图 1

酞菁是一种良好的吸光材料 ,吸收光谱研究表明酞菁有两

个吸收带 :可见光区的 600-800nm(Q-band)和近紫外区的 300-400nm(B-band);其固态颜色依据中心原子,周边苯环上的取代基,晶型,颗粒大小不同 ,可在深蓝色到绿色之间变化 .酞菁化合物具

有良好的热稳定性,在空气中加热到 400-500无明显分解.通过

化学修饰可以得到很多种类的酞菁化合物 ,表现出独特的性能

与功用 ,酞菁的基础和应用研究受到广泛关注 .除了作为染料与

色素 ,酞菁化合物已发展成为一类新型功能材料 ,应用领域涉及

光电导材料,液晶 ,电致变色,气体检测,癌症动力学疗法等新兴科

技领域 .近年来 ,酞菁在染料敏化纳米太阳能电池中的应用也引

起了研究工作者的浓厚兴趣.

染料敏化太阳能电池 (DSSC)是一种新近发展的光电能量

转换装置 ,被认为是最有可能取代传统硅太阳能电池的新型太

阳能电池 ,其核心是吸附了敏化染料层的多孔纳米晶半导体 (一般为 TiO2)薄膜组成的光电极 .当敏化染料分子吸收光子后,电子

跃迁到激发态 ,然后电子从敏化染料激发态注入到 TiO2导带中,电子最后经过对电极和电解质体系 (通常是 Iˉ/I3ˉ体系)还给氧化

态染料,完成一个内循环,其工作原理如图 2

若采用不同金属元素的盐或在反应原料的苯环上连接不

同性质 ,不同数量的取代基团 ,就可以得到不同种类的酞菁类化

合物 .酞菁的化学修饰是指通过化学方法在不破坏酞菁大环结

构的基础上 ,引入其他基团以调整酞菁某些性质的方法 .主要集

中在两个方面 :改变中心配位原子和改变周边苯环上取代基的

性质,位置和数量 .此外,若中心配位金属原子还有空轨道 ,则可以

在中心配位原子上接上轴向配位基团 .酞菁进行化学修饰 ,性能

得到调节,可以满足不同领域的需要。

1.通过中心配位原子修饰的酞菁应用于 DSSC改变中心配位原子 ,主要改变能带结构和电子迁移率 .不同

金属酞菁有不同的晶体结构和不同的孔穴浓度[14],将直接影响

到酞菁的电化学性质 ,从而影响其作为敏化染料的效能 .在这些

不同的影响因素中,最重要的是能级分布及激发态寿命.2.通过周边苯环取代基修饰的酞菁应用于 DSSC在周边苯环上进行取代后 ,可以改善其溶解性 ,并根据取代

基的电子效应 ,可对能级分布进行微调 ,对吸收光谱进行微调 .由于取代基种类繁多 ,通过这种修饰可以得到性质各异的酞菁化

合物,适用性强,在酞菁的分子设计中得到了广泛的应用.3.通过轴向配位基团修饰的酞菁应用于 DSSC酞菁的中心原子还有空轨道时 ,可以和一些配体形成轴向

配合物.轴向配体将阻碍酞菁芳环间的π-π相互作用,使分子的聚

集层度受到影响 ,这也将直接影响到其作为敏化染料的太阳能

电池的效率 .在文献中 ,也在酞菁溶液中加入了 4-叔丁基吡啶来

和金属酞菁配位 ,这也是获得高效率的原因之一 .Gr tzel 等选取

Ru为中心金属 ,通过轴向配体 3,4-二羧基吡啶将生色团酞菁环

连接到 TiO2表面,在近红外区域得到了高达 60%的 IPCE.有人研究了酞菁类化合物定能成为一种优良高效的敏化

染料.从以下几方面可望使酞菁在 DSSC 中得到实际应用:⑴迄今为止 ,作为敏化染料研究的一般是无金属酞菁或第

三周期过渡金属原子配位酞菁 ,而稀土酞菁未见这方面报导 .稀土三明治型酞菁有许多特殊的光电性质 ,可能会带来意想不到

的效果;⑵酞菁本身就是半导体 ,电导较高 .而酞菁分子聚集后形成

的一维有序堆积结构有定向的导电性 .可以利用这一特性 ,建立

电子定向传输通道 ,减小光生载流子复合几率 ,同时可大大提高

吸光率;⑶通过化学修饰在酞菁环上连接上基团作为能量 "天线",

扩大对太阳光谱的响应范围.使得"天线"的吸收范围主要在 400-600nm波段,并且在吸收能量后能传递给酞菁环.

⑷寻找合适的电子给体取代基团 ,使其氧化电位低于酞菁

环.激发态酞菁在将电子注入到 TiO2导带后,电子给体取代基能

将电子转移到氧化态酞菁环 ,堵塞电子返回通道 ,减少原位复合 ,加上酞菁本身较快的电子注入,提高效率;

⑸Meyer认为下一代 DSSC 的一个重要目标就是发展敏化

染料与 TiO2表面键合的新方式 .可以如文献发展酞菁环键合到

49

Page 61: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1TiO2 表面的新方式 ,如通过中心金属原子直接和 TiO2 发生作

用:TiO2 +MPc←→[TiO2••••••MPc].

参考文献[1]Haisch P, Winter G, Hanack M, et al. Soluble Alkyl- and Alkoxy-

Substituted Titaniumoxo Phthalocyanines: Synthesis and Photoconductivity[J].Adv.Mater.,1997,9(4):316-321.

[2]Ban K, Nishizawa K, Ohta K, et al. Discotic liquid crystals of transtionmetal complexes 29: mesomorphism and charge transport properties ofalkylthiosubstituted phthalocyanine rare-earth metal sandwich complexes[J]. J.Mater. Chem.,2001,11:321-331.

[3]Riou M, Clarisse C. The Rare earth Substitution Effect on theElectrochemistry of Diphthalocyanine Films in Contact with an Acidic aqueousmedium[J]. J. Electroanal. Chem., 1998,249:181-190.

[4]Ding X, Shen S, Zhou Q, et al. The synthesis of asymmetricallysubstituted amphiphilicphthalocyanines and their gas-sensing properties[J]. Dyesand Pigments,1999,40:187-191.

[5]Hu M, Brasseur N, Yildiz S, et al. Hydroxyphthalocyanines as PotentialPhotodynamicAgents for Cancer Therapy[J]. J. Med. Chem.,1998,41:1789-1802.

[6]O'Regan B, Gr tzel M. A Low-cost, high-efficiency solar cell based ondye-sensitized colloidal TiO2 films[J]. Nature,1991,353:737-739.

[7]Nazeeruddin M K, Kay A, Renouard, S M, et al. Conversion of light toelectricity by cis-X2bis(2,2'-bipyridyl-4,4'-dicarboxylate)ruthenium(II) charge-transfer sensitizers (X = Cl-, Br-, I-, CN-, and SCN-) on nanocrystalline titaniumdioxide electrodes[J ]. J. Am. Chem. Soc.,1993,115:6382-6390.

[8]Hageldt A, Gr tzel M. Light-Induce Redox Reactions in Nanocryst allineSystems[J]. Chem.Rev.,1995,95:49-68.

[9]Nazeeruddin Md K, Pechy P, Renouard T, et al. Engineering of EfficientPanchromatic Sensitizers for Nanocryst alline TiO2-Based Solar Cells[J]. J. Am.Chem. Soc., 2001,123(8):1613-1624.

[10]He J-A, Mosurkal R, Samuelson L A, et al. Dye-sensiti zed Solar CellFabricated by Electrostatic Layer-by-Layer Assembly of Amphoteric TiO2Nanoparticl es[J]. Langmuir, 2003,19:2169-2174.

[11]Gr tzel M. Photoelectrochemical cells[J], Nature, 2001,414,338-344.[12]Kay A, Gr tzel M. Low cost photovoltaic modules based on dye

sensitized nanocrystalline titanium dioxide and carbon powder[J ]. Solar EnergyMater.& Solar Cells, 1996,44(1),99-117.

[13]苏树兵 , 宋世庚 , 郑应智. NPC 电池染料敏化剂的研究进展 [J]. 电

子元件与材料, 2002,21:23-26.[14]Willis M R. Mol. Phthocyanine and Its Polymers[J]. Cryst. Liq. Cryst.,

1989,117:217-234.[15]Calvin D J, Fan F F, Bard A J. Semiconductor Electrodes 26. Spectral

Sensitization of theSemiconductors Phthalocyanine[J]. J. Am. Chem. Sco., 1980,102(8):2592-

2598.[16]Alain G, Fan F F, Bard A J. Semiconductor Electrodes 30. Spectral

Sensitization of the Seniconductors n-TiO2 and n-WO3 with MetalPhthalocyanines[J]. J. Am.Chem. Sco., 1980,102(16),5137-5148.

[17]Deng H, Mao H, Lu Z, et al. Aggregation and the photoelectric behaviorof tetrasulfonated phthalocyanine adsorbed on a TiO2 microporous electrode[J]. J.Photochem. & Photobio.A:Chem.,1996,99:71-74.

[18]黄剑东 ,张永凡 ,李俊篯 . 酞菁配合物的从头计算研究 [J]. 结构化

学,2002,21:214-217.

50

Page 62: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

Review Article

自由能的分子动力学计算(一)块体材料

wenhuawenhuawenhuawenhua luo,luo,luo,luo, lei0736lei0736lei0736lei0736湖南大学物理与微电子科学学院

[email protected]@[email protected]@163.comlei0736lei0736lei0736lei0736@@@@yahoo.comyahoo.comyahoo.comyahoo.com.cn.cn.cn.cn

摘要:

根据热力学理论,只要能够获得材料的吉布斯自由能函数,材料的许多热力学性质都可以在此基础上得到。例如材料的熔化温度可以从自由能关于温度

的函数关系中获得。因为当温度低于熔点时,晶态结构有较低的自由能,因而是稳定相;而当温度高于熔点时,液态结构有较低的自由能,晶体开始熔化。

由自由能曲线的交点即可确定材料的熔点。另外,物体的热容量可以从吉布斯自由能函数关于温度的二次导数中求得,甚至材料的相图也是通过求其两相的

吉布斯自由能曲线的公切线得到。吉布斯自由能函数所具备的这种特殊性能在纳米材料的研究中同样成立。只是在纳米尺度,表面原子对纳米材料的热力学

性能的影响已经不可忽略,纳米材料的吉布斯自由能函数就不可能像常规块体材料一样能够从实验测量中获得,必须借助于理论计算的方法。本文采用转换哈密顿方法计算了宏观块体材料的吉布斯自由能。介绍了爱因斯坦温度的确定方法;结果表明:如果在模拟中样品包含的原子数足够大,则自由能在两坐标

系下计算的结果相同。确定了铅和银的爱因斯坦温度分别为 52525252KKKK 和 120K120K120K120K。这为固体自由能的准确计算提供了保证。构建了用于液体自由能计算的“排斥系

统”从而使得应用MAEAMMAEAMMAEAMMAEAM势计算液体的自由能成为可能。为了提高计算精度和缩短计算过程,对于排斥气体的自由膨胀过程,根据物质状态方程引入预

放因子,从而提高了计算效率。在自由能计算的基础上,进一步计算了宏观块体材料的热力学性质。对熔点,固体热容量和熵的计算结果与实验结果吻合相

当好,对液体热容量的计算与实验结果基本符合。

1.引言

在热力学理论中,根据系统在不同的外界条件可能发生的

变化,引入了两种自由能函数。第一种称为亥姆霍兹自由能 F,

定义如下:

(1)TSUF −=其中 U,T 和 S 分别为系统的内能,温度和熵。根据热力

学原理可知,在等温等容条件下,系统中发生的不可逆过程总

是朝着亥姆霍兹自由能减少的方向进行。即在等温等容条件下,

系统到达平衡态时,亥姆霍兹自由能取最小值。第二种自由能

函数称为吉布斯自由能 G,定义为:

(2)TSHpVTSUG −=+−=其中 H,p和 V 分别为系统的热焓,压强和体积。在等温

等压条件下,系统中发生的不可逆过程总是朝着吉布斯自由能

减少的方向进行,当系统达到平衡时,吉布斯自由能必定达到

最小值。依据这个性质可以确定系统是否达到平衡态以及到达

平衡态系统所具有的一系列热力学性质。根据上面的定义,显

然有 G=F+pV。由于我们关注的系统外界条件都是在一个大气

压下,pV相对于 U,H,G和 F 每个量而言可忽略不计,从而

吉布斯自由能和亥姆霍兹自由能相等,系统的内能和热焓相等。

因此在后面的讨论中,我们将不区分它们。

在实验技术方面,化学反应的自由能变可通过巧妙的电化

学方法直接测定,因为它是反应物和产物的生成焓之差。目前

并不存在着直接测量系统自由能的方法。自由能的实验测量必

须通过方程(2)间接实施。过程如下,首先通过测量物体的热容

量 Cp,可以获得物体的热焓方面的信息,或者直接测量物体的

热焓随温度的变化关系,然后由下式计算物体的熵:

(3)∫=−B

AAB TQdSS

其中 Q 表示热量。把物体的热焓和熵代入到方程(2)中,即

可得到物体的吉布斯自由能。由此可知,物体的吉布斯自由能

是基于物体的热容量或热焓的测量基础之上,随着温度的增加,

其测量精度将受到高温辐射的影响。

在低温情况下,固态自由能的理论计算值可以由准谐近似

方法获得。在准谐近似方案中,体系的相互作用能由能量关于

原子平衡位置的二次展开来代替,这样,系统等价于简谐振子

集合,对角化相应的动力学矩阵可得到简谐振动频率,即声子

谱。在块体系统中,动力学矩阵是 3×3级的;在平板系统中,

动力学矩阵是 3l×3l级的,l 是平板系统包含的原子层数。晶格

常数为 a的晶体的自由能函数由下式表示:

(4))4

)(sinh2()(),(

,0 ∑+=

jk B

jB Tk

khInTkaETaF

π

ω

表达式中的 E0(a)完整晶格的能量,h为普朗克常量,ωj(k)为振子频率。求和遍及所有声子极化方向和布里渊区的波矢方

向。计算声子谱的程序参见 Daw和 Hatcher的论文。方程(4)将自由能表示为晶格常数和温度的函数,通过求解零压强下和具

体温度下方程(4)关于晶格常数的极小值即可得到系统在平衡态

的自由能。Foiles 和 Adams 采用方程(4)计算了铜、银、金、镍、

铂和钯六个面心立方晶格结构金属的固态自由能。虽然 Foiles等的计算结果在低温下与实验数据吻合很好,但接近金属的熔

化温度时,结果与实验数据有一定差距。并且,液体的自由能

也不能用方程(4)计算。

于是,为了获得温度下固体和液体的自由能,有人想到了

分子模拟技术。然而由于几个方面的原因,使得自由能的计算

相当困难。首先是由于自由能不是原子坐标和速度的显函数,

因而不能通过对原子坐标和速度的简单平均获得;其次是自由

能的计算通常要分几步才能完成,这使得其计算相对复杂一些。

这在许多文献中已有论述。Frenkel 等人率先提出了转换哈密顿

法或耦合参数热力学积分法,该方法的基本思想是人为地将固

体原子之间的相互作用势可逆地转变成谐振子集合。也就是将

原子间的真实相互作用逐渐关断,同时打开谐振子耦合。如果

这种耦合足够强,则固体的行为像爱因斯坦晶体,其自由能可

精确地计算出来。完成从真实系统到爱因斯坦晶体转换所需要

的功即为真实系统和爱因斯坦晶体之间的自由能差。Frenkel 等采用该方法计算了硬体球固体的自由能。随后Mei等用该方法

结合嵌入原子势计算了铝的自由能;Arregui等用这种方法计算

了金和镍的自由能。与实验数据的比较显示,金的情况较好,

而镍的结果与实验有较大的差异,这或许与镍的磁性有关。除

了转换哈密顿法之外,计算固体自由能的分子模拟技术还有

Valleau等提出的能量采样技术,Fernenberg和 Swendsen 建议的

多直方图法,Bennett 开发的接收率法以及 Torrie和 Valleau设计的伞形抽样等方法

对于液相,自由能的计算则要困难一些。Foiles 和 Adams在巨正则系综中采用蒙特卡罗技术(MC)模拟计算了几种典型

面心立方晶格结构金属的液相自由能。而由Widom提出的计算

液相自由能的方法是一个两步过程:第一步是计算液相和一特

殊参考流体的自由能。特殊参考流体的原子间的相互作用是纯

排斥型的;第二步是让参考流体在原子间的排斥作用力下自由

膨胀到理想气体状态,而理想气体的自由能能够精确计算。两

个过程所需要的功即为液体和理想气体的自由能差。Broughton

2020202010101010,,,,

51

Page 63: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1和 Li 用这种方法计算了液态硅的自由能;而 Mei,Arregui和Lopasso等却分别计算了液态铝,金,镍,铁和铜的自由能。

Arregui等还计算了简单合金 Au-Ni的相图,而Lopasso等则计

算了复杂合金 Fe-Cu的相图。

2. 方法与模型

2.12.12.12.1 相互作用势相互作用势相互作用势相互作用势

随着计算材料科学逐渐成为研究凝聚态物质领域中的一种

标准手段,对原子之间相互作用准确性的要求显得日益迫切。

模拟结果能否精确再现材料的基本性能且具有预测性在很大程

度上取决于原子之间相互作用的可靠性。目前描述原子相互作

用的最佳方案是量子力学理论。然而,基于电子尺度的量子力

学理论虽然精度高,但计算量大。这相对于许多要求能再现材

料基本性质的模拟研究所需要的原子数目来说是远远不够的。

寻求一种相对简单而又足够真实的原子相互作用模型就显得非

常重要。

历史上均匀结构的能量已经通过对势模型或两体势模型予

以解决。两体势模型在很多情况下是有用的,然而当材料的局

域环境明显不同于均匀块体材料时,如表面,颗粒边界,内孔

和断裂过程等,应用两体势模型将会遇到很大的问题。

Daw和Baskes在密度泛函理论的基础上提出了一种替代两

体势模型的方案,他们称这种方案为嵌入原子方法(EAM)。

我们知道金属键结合的基本特点是电子的“共有化”,也就是说,

在结合成晶体时,原来属于各原子的价电子不再束缚在原子上,

而转变为在整个晶体内运动。因为局域电子密度依赖于原子的

局域分布,金属键强烈依赖于一个原子附近的原子密度。嵌入

原子方法理论就是企图模拟这种依赖于局域环境的相互作用的

模型。

本文采用的势是基于 EAM模型的 MAEAM势,通过引入

能量修正项,重构两体势,提出新的截尾方式和复杂晶体结构

的计算方法从而系统的研究金属与合金的基本物性、晶体缺陷、

热物性;该方法已成功的应用于一系列块体,表面,纳米体系。

2.22.22.22.2 耦合参数积分方法耦合参数积分方法耦合参数积分方法耦合参数积分方法

在计算材料的热力学性质时,自由能的计算是不可避免的

步骤。例如,如果希望了解在给定温度及密度情形下,两相(分

别用α,β表示)中的哪一相是稳定的,则只需简单地比较各相

的自由能 Fα及 Fβ的值。看来,似乎最明确要做的只是简单地通

过计算机模拟来测定 Fα及 Fβ。但在分子动力学模拟中,要直接

计算自由能(或熵)是不可能的。这是因为熵 S、自由能 F 及

其相关量并非体系相空间坐标函数的简单平均,而是与受体系

影响的相空间的体积直接相关。例如,在经典统计力学中,亥

姆霍兹自由能 F 与正则配分函数Ω(N,V,T)有如下直接关系:

(5)

ln ( , , )

exp[ ( , )]ln

!

B

N N N N

B dN

F k T N V T

U p r d p drk T

= − Ω

= −Λ

∫r r r r

其中 d为体系的维数, Λ是德布罗意波长,V 是系统的体

积,N 是系统包含的原子数目,U是系统的能量,kB是玻尔兹

曼常数,T 代表温度,β=1/kBT。显然,Ω(N,V,T)不是对

相空间的正则平均形式。这就是为什么不能通过模拟来直接得

到 F,S,和G 的原因。这些量称之为直接与相空间体积有关的

热力学量。

不能在模拟中直接得到这些热力学量并不奇怪。在现实中,

这些量也不能直接从实验中测得。所以,当考虑求解这些量的

数值方法时,可参照现实中是如何解决这一问题的。实验中一

般通过确定自由能的某一导数,如关于体积 V或温度T的导数,

来间接得到这些量。在给定的温度及密度下,为了计算体系的

自由能,可以在 V—T图上找到一条可逆路径,即将所考察体

系与已知自由能的体系相连接构成一条路径。再通过热力学积

分法,简单地计算出 F 的变化。然而,已知某一物质的自由能

的热力学状态相当少。其一为理想气体相;另一是低温下的谐

振晶体相。其中一个著名的计算例子就是通过对状态方程的积

分来求得液体的自由能。在这种情况下,其参考态是理想气体。

计算机模拟时,情形与其十分相似。例如,为了计算稠密

液体的自由能,可以与很稀薄的气相构建一条可逆路径。然而,

并非真正需要与理想气体相联结,但至少是一足够稀薄的状态

以保证通过取压缩因子 pV/(NkBT)的维里展开的前两项,或

通过其它计算化学势的方法准确地计算出化学势。对于固体,

理想气体作为参考态显然不太有效,必须另找办法。

在模拟中,并不局限于使用一条物理的热力学积分路径,

即实验中能遵循的路径,而是可以使用势能函数中的所有参数

作为热力学变量。Frenkel 等人提出了耦合参数积分方法或转换

哈密顿方法来计算两个状态间的自由能差。该方法的标准应用

涉及到计算沿连接感兴趣的系统和参考系统的可逆路径的功。

即通过一个参数 λ将两个系统耦合起来,例如 U(λ)=(1-λ)

W+λU,这里 U代表实际系统的能量(在我们的研究中它代表

MAEAM),W代表参考系统的哈密顿。改变λ(1→0)将改变

复合系统的哈密顿,从而构成一条连接W和 U 的通路。该通路

必须可逆,没有任何相变发生。沿可逆路径广义力∂ U(λ)/∂λ做的功就是两系统的自由能差。这个过程可证明如下:

设复合体系的配分函数Ω(N,V,T,λ)为

(6)∫ −Λ

=Ω NN rdUN

TVNr

)](exp[!

1),,,( 3 λβλ

亥姆霍兹自由能 F(λ)对λ的导数,可写为系综平均的形式,

通过对它的积分,可以得到感兴趣的系统 U 和参考系统W的自

由能差

(7)λλλλλ

λ

λ

λdUFF ∫

=

= ∂∂

==−=1

0

)()0()1(

不像自由能,该结果的重要性在于,它将两个系统的自由

能的差异表示为系综平均,而系综平均可以通过模拟直接得到。

一般只要 U(λ)可微,且满足边界条件U(λ=0)=W和 U(λ=1)=U,总可以对任意函数 U(λ)进行热力学积分。

2.32.32.32.3 固体自由能的计算固体自由能的计算固体自由能的计算固体自由能的计算

2.3.12.3.12.3.12.3.1 爱因斯坦晶体的自由能爱因斯坦晶体的自由能爱因斯坦晶体的自由能爱因斯坦晶体的自由能

对于固体,其自由能计算所需要的参考系统是爱因斯坦晶

体,为了计算爱因斯坦晶体的自由能,我们先写出一个原子的

配分函数:

(8)∫∫ −=Ω∞

∞− VUdxpd

h)exp(1

133

31 β

这里积分是在相空间进行,即对坐标和动量积分。U1是一

个原子的能量,常数 h3代表每个状态的相体积,它在经典力学

里是一任意值,在量子力学里代表普朗克常量。

有了配分函数,所有的热力学量都可以由此导出。例如亥

姆霍兹自由能 F 可表示为:

(9)Ω−= ln1β

F

能量可表示为:

(10)TTFTE

∂∂

−=)/(2

下面我们分两种情况计算爱因斯坦晶体的自由能。第一种

情况是不限定系统质心的运动,也即系统在绝对坐标系中运动。

对于质量为 m,频率为 ω的爱因斯坦晶体,其 哈密顿为

U1=p2/2m++++mω2r2/2,代入方程(6)并积分得

(11)

3/ 2 3/ 2 3/ 21 3 2

3 3

1 2 2( ) ( )

1 1( ) ( )E

mh m

TT

πβ β ω

βω

Ω =

= =h

其中 TE是爱因斯坦温度,可以表示为 TE=ћω/kB 。

2020202010101010,,,,

52

Page 64: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1由于爱因斯坦晶体中的原子定域在其平衡位置附近作微振

动,因此,这些原子是可区分的,即爱因斯坦晶体可以看作由

定域粒子组成,根据统计力学,定域系统的配分函数可表示为

一个谐振子的配分函数的乘积。由式 (9)和(10)可得到爱因斯坦

晶体的总自由能,每个振子的自由能和系统的能量:

(12))ln(3E

BSol

TTTNkF −=

(13))ln(3E

BSolW T

TTkf −=

(14)TNkE B3=第二种情况是限定系统质心的运动,也即系统在相对于质

心的坐标系中运动,这在很多情况下会遇到。由于系统动量守

恒,因此有:

, (15)01

=∑=

N

iir 0

1

=∑=

N

iip

这种约束对配分函数的影响可推导如下:

2 2 23( 1)

1 1

1 1

1 exp[ ( / 2 / 2)]

( ) ( )

NN

i i iNi i

N N

i ii i

drdp p m m rh

r p

β ω

δ δ

−= =

= =

Ω = ∏ − +

• (16)

∑∫

∑ ∑

r r r r

r r

这里相体积表示为 h3(N-1) 而不是 h3N,是由于质心固定,相

当于只有(N-1)个原子在运动,从而系统的自由度必然减小。

在上式中代入 δ函数的傅里叶变换即可得到质心坐标系下爱因

斯坦晶体的总自由能,每个振子的自由能和系统的能量如下:

(17)]ln)[ln(3)ln(3 NTT

TkTT

TNkFE

BE

BSolCM ++−=

(18)]ln)[ln(3

)ln(3 NTT

NTk

TTTkf

E

B

EB

SolW ++−=

(19)TkNE B)1(3 −=2.3.22.3.22.3.22.3.2 任意温度下固体的自由能任意温度下固体的自由能任意温度下固体的自由能任意温度下固体的自由能

为了方便起见,我们考察零压下的每个原子的吉布斯自由

能 g(T,P=0)。由热力学关系:

(20))0,()0,()0,( =−=== PTTsPTuPTg其中 u(T,P=0)和 s(T,P=0)是每个原子的内能和熵。

由吉布斯自由能关于温度的偏导数关系式:

(21)0)0,()0,( =∂

=∂−== PT

PTgPTs

将方程(21)代入到方程 (20)可得到吉布斯自由能关于温度

的微分方程,求解该微分方程可获得固体和液体都成立的吉布

斯自由能表达式:

(22)])0,()0,([)0,(0

20

0 ττ

τ dPuTPTgTPTg

T

T∫=

−=

==

方程(22)是系统的自由能关于温度的一个基本方程。它将自

由能对温度的依赖关系转化为内能对温度的依赖关系,而内能

对温度的依赖关系可以通过分子动力学模拟获得。然而,为了

利用方程(22)求解任意温度下固体的自由能,还必须知道系统在

参考温度 T0下的吉布斯自由能,这可以用耦合参数积分方法求

得,即:

(23)100 )()0,( gTgPTg w ∆+==

(24)λλλ λλ

dWUN

dHN

g ∫∫ −=∂∂

=∆1

0

1

0111

参考系统选为爱因斯坦晶体。爱因斯坦晶体在温度T0下的

自由能 gw(T0)可以通过(13)和(18)式求得,<···>λ 表示对恒温

恒体积系综求平均。式(24)中λ的变化过程,实际上是逐步关断

原子和它邻近原子的相互作用,同时增强爱因斯坦振子强度的

过程。

2.4 液体自由能的计算

2.4.12.4.12.4.12.4.1 理想气体的自由能理想气体的自由能理想气体的自由能理想气体的自由能

在绝对坐标系下,理想气体中质量为 m的一个原子的哈密

顿为 U1=p2/2m,将它代入到一个原子的配分函数的表达式中可

得:

(25)

32/3

2

2/32/33

23

31

)2(

)2()2

exp(

Λ==

=−=Ω ∫V

hTmk

V

mhV

mppd

hV

Bπβ

πβ

相应地,体积为 V,原子数为N 的理想气体的配分函数为

(26)!3 N

VN

N

Λ=Ω

由式(26)可得到绝对坐标系下理想气体的总自由能,每个原

子的自由能和系统的能量:

(27)]1)[ln()( 3 −Λ= ρρ TNkF Bgas

(28)]1)[ln()( 3 −Λ= ρρ Tkf Bgas

(29)TNkE B23

=

对于相对坐标系下理想气体的配分函数为

23( 1) 1 1 1 1

33( 1) 3

1 1

2

1 1 1

213 /2

3( 1) 3

1exp[ /2 ] ( ) ( )

!1 1 ( )

! (2 )

exp[ /2 ( )]

1 2( ) exp(

! (2 )

N N NN

i i i i iN i i i i

NN

p i iNi i

N NN

i i p ii i i

NpN

pN

drdp p m r pN h

d k dr rN h

dp p m ik p

mk NV mdk

N h

β δ δ

δπ

β

ππ β

− = = = =

−= =

= = =

Ω = ∏ −

= ∏

× ∏ − +

= −

∑ ∑ ∑∫

∑∫ ∫

∑ ∑∫

r r r r r

r r

rr r r

r

13( 1) /2 3/2

2

13 3/2

)2

2 1( ) ( )

!1

( )!

NNB

N

mk TVN h NV

N N

β

π−−

=

= (30)Λ

由方程(30)可得到相对坐标系下理想气体的总自由能,每个原子

的自由能和系统的能量:

(31)]ln25

)[ln(]1)[ln()( 33 NkTTNkF BgasCM −Λ−−Λ= ρρρ

(32)]ln25)[ln()()( 3 N

NTkff Bgasgas

CM −Λ−= ρρρ

(33)TkNE B)1(23

−=

由式(18)和(32)可知,当模拟中系统所包含的原子数很大

时,第二项很小,也就是说质心运动的影响可忽略。

2.4.22.4.22.4.22.4.2 任意温度下液体的自由能任意温度下液体的自由能任意温度下液体的自由能任意温度下液体的自由能

对于液体,我们选择与 EAM 系统有同样温度和体积的理

想气体W作为参考态。但是,我们不能直接应用式(5)求液体在

某一参考温度下的自由能,这是因为应用该式的前提条件是积

2020202010101010,,,,

53

Page 65: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1分路径要求可逆,即没有相变发生。这个问题在固体中不存在,

因为从 EAM系统到爱因斯坦晶体的转换,原子都限定在其晶

格点附近运动,固体的结构没有改变,只是原子间的相互作用

发生了变化。而从液体到理想气体,系统经历了一个相变过程。

因此从 EAM系统到理想气体要经过一个过渡状态以避免系统

在积分过程中原子重叠。也就是说计算液体的自由能要分两步

完成,即液体→过渡系统→理想气体。首先,我们应用式(5)计算 EAM 系统与“排斥系统”之间的自由能差。所谓的“排斥

系统”是指系统中的原子之间的相互作用是纯排斥型的,它不

同于 EAM 势的近距离排斥和远距离吸引型。

0.8 0.9 1.0 1.1 1.2

0.0

0.5

1.0

0.8 1.0 1.2-0.1

0.0

0.1

0.2

0.3

0.4

Pa

ir P

ote

ntia

l an

d R

ep

uls

ive

Po

ten

tial (

ev)

φ(r)+| φm i n |

WL φ(r )

A g

r/r1

φ ( r)W L

φ( r)+ | φ( r )min

|

P b

图 1 对势和排斥对势与原子相对距离的关系

Sturgeon和 Laid提出将Mei-Davenport的EAM势分为排斥

项和吸引项之和,用其排斥项构建“排斥系统”。Arregui等认

为由液体向“排斥系统”的转换取决排斥势的强度,“排斥系统”

的排斥作用不能太强以避免样品结晶或原子发生重叠,同时也

能提高转换哈密顿积分的精度。他们取 Foiles 等的 EAM 势的排

斥项的 0.1倍来构建“排斥系统”。结合 Arregui 和 Sturgeon 等

的方法和我们小组的MAEAM势,我们的“排斥系统”构建如

下:

(34)⎩⎨⎧

>≤+

=0/00/|]|)([1.0 min

drddrdr

WL φφφφ

其中φ(r)是MAEAM的对势部分,φmin表示对势的极小值。

图 1 给出了 WL,φ(r) 和φ(r)+|φmin| 随相对距离 r/r1的变化关系。

由液体到“排斥系统”的转换与固体的情况一样,是通过改变λ来完成的。即将λ由 1变为 0。在这个过程中,体积和温度保持

不变,压强为 0。自由能差由式(5)计算。

第二步是由“排斥系统”到理想气体的转换过程,步骤如

下:首先原子在排斥力的作用下从初始体积 V0和初始密度 ρ0膨胀到稀薄理想气体状态。这个过程中系统对外做功;然后再

把体积为相当大和密度接近零的稀薄理想气体压缩到初始体积

V0和初始密度ρ0的状态。这个过程中外界对系统做功。两部分

功之和就等于“排斥系统”与理想气体之间的自由能差∆G2,即:

Solid gs(T0) ∆g1 gws a2(×10-8) a1(×10-4) a0Pb -2.1524 -2.0180 -0.1344 12.0855 1.8063 -2.0232Ag -3.0029 -2.9318 -0.0711 4.7345 2.21 -2.9395

Liquid gl(T0) ∆g1 ∆g2 gwl a2(×10-8) a1(×10-4) a0Pb -3.2166 -1.6412 0.1608 -1.7362 -3.3415 4.0486 -2.0345Ag -4.5987 -2.2718 0.2732 -2.6001 -6.4377 3.7148 -2.9286

(35)

0

0

0

0

0 0

0

2

00

2

020 0

0 00

( )

1( )

[ ( 1) ]

V

r iV

V

r

r

rB

B

G p dV p dV

NkTNp d dVV

pN d N kT d

p dNk Tk T

ρ

ρ ρ

ρ

ρρ

ρ ρρ ρ

ρρ ρ

∆ = −

= − +

= +

= −

∫ ∫

∫ ∫

∫ ∫

∫其中 pr和 pi 分别为“排斥系统”与理想气体的压强。每

个原子的自由能差为:

(36)])1([ 0

00

02 ρρ

ρρ d

Tkp

TkgB

rB −=∆ ∫

综合两个过程,我们就得到了在某一参考温度 T0下一个液

体原子的自由能:

(37)),()( 00210 ρTgggTg gasL +∆+∆=其中∆g1由(24)式计算,ggas(T0,ρ0)由(28)或(32)式决定。有

了参考温度 T0下液体的自由能,就可利用(32)计算任意温度下

液体的自由能。

3. 计算结果

3.13.13.13.1 固体和和液体的内能固体和和液体的内能固体和和液体的内能固体和和液体的内能

根据 Arregui等的研究,自由能计算的精度决定性地依赖于

样品的大小。不同尺寸的样品将给出不同的内能值。样品尺寸

的大小是自由能计算中的主要误差之一。在他们关于 Au-Ni相图的研究中,由于受到计算能力的限制,只有 256个原子的样

品被用于研究。而在我们关于铅和银的熔点研究中,2048个原

子的样品被用于模拟。这样多的原子数使得爱因斯坦晶体和理

想气体的自由能在绝对坐标系和相对坐标系中的数值几乎不

变,从而提高了自由能的计算精度。

内能随温度的变化由常温常压分子动力学(NPT)模拟获

得。在每一温度点,首先的 20000个时间步被用来平衡系统,

随后的 20000时间步被用于热力学量的统计平均。一个时间步

取为 2fs。在固体的情况下,样品从 300K 开始被连续加热直至

熔化,温度间隔为 50K;在液体的情况下,完整晶格样品被直

接放至高温熔化,为了消除残留的枝晶,最初的熔化温度要远

高于晶体的熔化温度。然后再连续降温冷却直至凝固,温度间

隔同样也取为 50K。内能的模拟结果用二次多项式拟合,然后代入式(22)中进行

积分,这样可得到固体和液体的自由能关于温度的解析函数如

下:

(38))]/1/1(

)/ln()([)/)(()(

00

010200

TTaTTaTTaTTTTgTg

−−+−−=

其中 ai(i =0,1,2)是多项式拟合系数。表1给出了铅和银的拟

合系数及与自由能计算相关的数据。

表 1 铅和银的自由能计算参数(eV/atom)

2020202010101010,,,,

54

Page 66: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1图 2显示了铅和银的内能在升温和降温过程随温度变化的

趋势。铅和银在升温过程中,其内能分别在 800K 和 1500K 经

历了突变;在降温过程中,内能分别在 400K和 900K 经历了突

变,但这些突变点并不代表它们的热力学熔化温度和凝固温度。

这是因为在模拟计算中采用了周期性边界条件。而周期性边界

条件并不能提供像表面和固液界面等异类形核点,周期性边界

条件导致块体材料铅和银的熔化温度分别高于它们的实验熔化

温度:601K 和 1234K。没有自由表面或缺陷的块体材料会严重

过热的现象在 Jin和 Lu的研究中也有论述。因此,为了确定块

体材料的熔点,我们必须另寻办法。目前,有两种方法能比较

准确地确定块体材料的熔点,一种是固—液共存方法。这种方

法的基本思想是将固体和液体放在一起,然后观察固液界面在

不同的温度下的运动规律,当试验温度高于熔点时,固液界面

会向固体侧运动;当试验温度低于熔点时,固液界面会向液体

侧运动;当试验温度等于熔点时,固液界面将保持不动。另外

一种方法就是后面要介绍的自由能方法。除了提供完整晶体会

过热这一信息外,图 2还显示固体熔化后与液体的内能几乎相

同,而液体凝固后与固体的内能也几乎相同,这与实验事实是

相同的,这说明了MAEAM能较好地反映原子之间的相互作用

随温度的变化规律。另外,固体和液体在熔点的内能差就是材

料的熔解热,对于银,计算的熔解热为 0.115eV/atom,这与实

验值 0.124eV/atom符合得很好。

0 500 1000 1500 2000 2500

-2.9

-2.8

-2.7

-2.6

-2.5

-2.4

-2.3

-2.2

-2.1

200 400 600 800 1000 1200 1400-2.0

-1.9

-1.8

-1.7

-1.6

-1.5

Inte

rnal

Ene

rgy

(ev/

atom

)

Temperature (K)

Cooling Heating

Ag

Heating Cooling

Pb

图 2 铅和银的内能随温度的变化

3.23.23.23.2 爱因斯坦温度爱因斯坦温度爱因斯坦温度爱因斯坦温度

为了得到 MAEAM固体与爱因斯坦晶体在温度 T0下的自

由能差∆g1,必须考虑如何确定爱因斯坦温度。如果连接初态和

未态的积分通路是可逆的,那么两个系统之间的自由能差只是

状态的函数。理论上,在所考虑的两个状态之间的所有λ—积分

通路都是可逆的。然而在实际中,选择一个适当的积分路径往

往要通过试错法来决定。这是由于有限的模拟时间不可能覆盖

整个相空间。为了减少数值误差,获得好的自由能计算结果,

Sturgeon 和 Laird认为合适的爱因斯坦温度应当能给出大小相

近的均方位移,即MAEAM固体(λ=1)和爱因斯坦晶体(λ=0)的原子均方位移应基本上相同。而 Broughton 和 Gilmer [103]建议合适的爱因斯坦振子强度应当能使MAEAM固体与爱因斯坦

晶体具有大致相同的热力学性质,也就是说合适的爱因斯坦振

子强度应当能使两种系统具有相似的径向分布函数。由于爱因

斯坦温度与爱因斯坦振子强度成正比例关系,所以上述两种观

点实际上是相同的。根据这两条判据,我们可获得 T0=300K 下,

铅和银的爱因斯坦温度分别为 52K和 120K。图 3显示了铅和

银的均方位移随耦合参数λ的变化情况。显然,两种金属的均方

位移基本上不随耦合参数变化。图 4 分别比较了铅和银的

MAEAM固体与爱因斯坦晶体的径向分布函数,非常相似的波

形及波峰位置说明爱因斯坦温度选择的准确性。

3.33.33.33.3 转换哈密顿积分的模拟结果转换哈密顿积分的模拟结果转换哈密顿积分的模拟结果转换哈密顿积分的模拟结果

固体银和铅的耦合参数积分或转换哈密顿积分∆g1均在

T0=300K 下计算,液体银的转换哈密顿积分∆g1在 T0=2150K下

计算,而液体铅的转换哈密顿积分在 T0=1350K 下计算。∆g1的计算在 NVT 系综中进行,样品在 T0的平均体积被用来产生一

个立方体。转换参数在 0和 1之间变化,变化间隔为 0.05。模

拟连续进行,即上一次模拟结束时的原子构形被用作下一次模

拟计算的初始原子构形。与内能的计算类似, 20000时间步被

用来平衡系统,随后 20000时间步被用于<U-W>的统计计算。21个模拟结果用六次多项式拟合,然后再代入式(24)作积分计算。

计算结果∆g1列于表 1 中。图 5给出了铅和银的转换哈密顿积分

中的被积函数的模拟结果。

0.0 0.2 0.4 0.6 0.8 1.0

2.00E-022

3.00E-022

4.00E-022

5.00E-022

6.00E-022

7.00E-022

1/NΣ

(ri-r

i0)2 (m

2 /ato

m)

λ

Pb Ag

图 3 铅和银原子的均方位移与参数λ的关系

0 2 4 6 80

20406080

100120140160180200220240

0 2 4 6 80

20406080

100120140160180200220240

RD

F

r (Å)

λ=1 λ=0

Ag

λ=1 λ=0

Pb

图 4铅和银的MAEAM固体与爱因斯坦

晶体的径向分布函数

图 5 显示不论是固体还是液体,其转换曲线斜率小于零,

即(∂F/∂λ)恒为递减函数。这一性质可以由Bogoliubov不等式

证明。它可以用于测试模拟结果的可靠性及准确性。根据

Arregui等的研究,对于固体,在靠近λ=1的区域,由于决定运

动方程的平均哈密顿接近于嵌入原子势 U,它与质心运动无关,

而另一个要进行平均运算的爱因斯坦晶体能量却对质心运动很

敏感,因而很难得到好的模拟精度。另外,由于爱因斯坦振子

相互独立地运动,它们不可能通过热交换达到热平衡,这时只

有复合哈密顿量中的λU能使系统达到平衡。因此,在靠近λ=0的区域,也很难获得好的模拟精度。在本文的研究中,作者发

2020202010101010,,,,

55

Page 67: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1现上述问题能通过扩大样品尺寸和提高模拟时间得以解决。理

论上说模拟盒子中包含的样品原子数越多越能反映实际情况,

然而样品原子数的选取受到计算资源的限制。根据Sturgeon 和

Laird的研究,在块体材料的自由能及熔化温度的模拟计算中,

2048个原子与 4000个原子的样品能提供的计算精度几乎相同。

因此,对于具有周期性边界条件的模拟盒 8a0×8a0×8a0,其中包

含的 2048个原子完全可以满足计算精度要求。

图 5 积分方程(24)中的被积函数的模拟结果

3.43.43.43.4 块体材料的熔点,热容和熵块体材料的熔点,热容和熵块体材料的熔点,热容和熵块体材料的熔点,热容和熵

由表 1和公式(38),可以得到固体和液体的自由能随温度变

化的曲线。图 6给出了银和铅的模拟结果以及相应的实验值。

根据热力学,当温度低于熔点时,固体的自由能要小于液体的

自由能,系统呈固态性质;当温度高于熔点时,液体的自由能

要大于固体的自由能,系统呈液态性质。固体和液体的自由能

曲线的交点即为材料的熔化温度。在熔点,固体和液体共存。

对于银,获得的熔点为 1243K,实验值为 1234K;对于铅,获

得的熔点为 606K,实验值为 601K。显然,模拟结果与实验值

好的吻合与自由能的准确计算分不开的。这同时也表明

MAEAM能够较好地再现材料的高温性质。然而,对于有些

EAM 势,情况并不总是这样。例如,Mei和 Davenport 采用固

体和液体自由能曲线交点方法确定铝的熔点为 800K,而其实验

值为 934K。为了改善这种状况,Sturgeon 和 Laird重新拟合了

Mei-Davenport势的参数,拟合目标除了 0 K下的结合能、空位

形成能和弹性常数等热力学性质外,还包括了材料的熔点。他

们的方法的理论依据是吉布斯—杜亥姆方程。在拟合材料的熔

点时,一个多目标函数被用来保证其它的热力学性质不致于受

太大的影响。采用这种方法可以获得与实验完全相同的熔点。

根据热力学基本关系式,系统的熵和热容量能由自由能的

表达式导出如下:

(39)0

0102

0

0

012

)()ln(2)(

Ta

aTaTTg

TTaTa

Tgs p ++−−+=

∂∂

−=

(40)122)( aTaTsTc pp +=

∂∂

=

图 6 固体和液体的自由能随温度变化曲线

图 7 铅的熵和热容量与温度的关系(星号代表实验值)

图 7给出了铅的熵和热容量的计算结果以及相应的实验

值。显然,熵的计算结果与实验值吻合得很好,而热容量的计

算结果与实验值的吻合程度要差一些,尤其是液体的热容量。

注意到这个差别是有趣的,因为与自由能和熵一样,系统的热

容量也只与内能拟合多项式系数 ai (i=1,2)相关。从图中可以看

到,液体热容量的计算值随温度的增加呈直线下降趋势,在沸

点处接近理想气体的热容量值。另一方面,液体热容量的实验

值几乎与温度无关。液体热容量随温度增加呈直线下降的趋势

也为 Sturgeon 等和 Arregui 等关于 Al, Au 和 Ni 的研究证实。

图 8显示了根据他们的二次多项式拟合系数 ai (i=0,1,2)所得到

的热容量随温度变化曲线图。为了便于比较,图中也给出了本

文关于 Pb的计算结果。

2020202010101010,,,,

56

Page 68: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

图 8 四种元素的热容量随温度的变化(星号代表 实

2020202010101010,,,,

57

Page 69: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Communication

谈谈 5d/6d5d/6d5d/6d5d/6d型 dddd轨道波函数与它们在高斯中的标识soberevasoberevasoberevasobereva

在含有 dddd轨道的体系的高斯输出文件中,有时会看到dddd轨道名以DDDD0,0,0,0, D+1,D+1,D+1,D+1, D-1,D-1,D-1,D-1, D+2,D+2,D+2,D+2, D-2D-2D-2D-2 标识,有人误以为那些轨道就是指复数型真实原子轨道,这是个严

重的误区,下面将对此进行讨论。

在高斯等量化程序中,对于非半经验方法用的都是

GTF(Gaussian type function)型实函数用来描述原子轨道,以解

决多双电子中心积分的麻烦,所以与复数型轨道完全无关。

最常用的高斯型函数是笛卡尔型高斯函数,通式为

N*x a*y^b*z c*exp(-q*r^2),N 为归一化常数,q为收缩系数,r为以此基函数所在原子为中心的坐标向量。

对于描述 d原子轨道,使用 d 型笛卡尔型 GTF作为基函

数,包含六种具体形式 :xx,yy,zz,xy,xz,yz。例如 xy型 GTF,其

通式中的 a=b=1,c=0。然而这 6种里面除了 xy、yz、xz以外

的其它三种笛卡尔型GTF并没有与真实的实形式的原子轨道有

直接的对应关系,波函数角度部分的行为明显不一致。

还有一种球谐型高斯函数,也叫原子轨道型高斯函数,通

式为 N*r^n*exp(-q*r^2)*Y(θ,φ),其中 Y(θ,φ)就是类氢原子

轨道的角度部分函数,与STO的区别是指数项的 r变为了 r^2。球谐型高斯函数与实型原子轨道角度部分行为一致,通过调整

收缩系数调整径向行为,就可以一一对应地近似描述实型原子

轨道。

笛卡尔型 GTF可以线性组合,使角度部分行为与球谐型

GTF一致(尽管组合后的函数形式与球谐型仍不同),以用于合

理描述原子轨道。对于 d型轨道转换比较简单:xy、y z、xz 这三种不变,其余三个变成了 x 2-y^2、3*z 2-r^2、r^2。(注:

r^2=x 2+y^2+z 2)。其中 xy、y z、xz、x 2-y^2、3*z 2-r^2这 5种就是组合出的球谐 GTF,而 r^2函数一般不用,它是一个球

形的内部含有多个节面的 s 型 GTF轨道。

在高斯中,如果用了 5d关键字,就会使用 xy、y z、xz、x 2-y^2、3*z 2-r^2这 5种轨道描述 d轨道。这时输出的 d轨道符

号会显示 D 0, D+1, D-1, D+2, D-2,但显然这决不是指这样由

GTF组合出来的波函数的角动量 z轴分量的本征值,也不是指

这 5 个轨道用来对应地近似描述 5个真实的复数型原子轨道。

这样的轨道符号没有意义,还会引起严重混淆,它仅仅是做个

标识罢了。

可以得到这样的对应关系:

作为基函数的 GTF 实型真实原子轨道符号 高斯中用了 5d 关键字后对 d 轨道的标识3*z 2-r^2 dz 2 d0Yz dyz d+1Xz dxz d-1x^2-y^2 dx^2-y^2 d+2Xy dxy d-2按官方的说法,d+1/d-1 对应 dxz/dyz,但此说法与 GaussView显示的结果不一致。

计算单个原子,在GaussView 里对照着MO形状与高斯输

出的轨道标识来检验(坐标轴的方向可能会变)。

高斯一般默认使用 6d关键字(在使用 gen 等关键字时往

往默认为 5d)。此时说明使用 xx、yy、zz、y z、yx、zx 这 6种笛卡尔型 GTF轨道,在输出的 d轨道符号中也对应地以 xx、yy、zz、y z、yx、zx 标识。在 d轨道基函数不分裂情况下,描述 d轨道的可独立变分的基函数就相对于 5d关键字时的 5个增加到

了 6个,可看到输出文件中 basis functions的数目对应地增加了。

但无论用 5d还是 6d,输出文件显示的原始基函数( primitivegaussians,即笛卡尔型 GTF)的数目都一样,这是因为 5d的 5个轨道仍需要有全部 6种笛卡尔型 d型 GTF才能组合出来。比

如对 5d中的 3*z 2-r^2来说,将其中 r^2展开,可写成 2*z 2-x 2-y^2,它就相当于 zz、xx、yy三种笛卡尔型 GTF系数为 2:-1:-1的组合,这个比值这是固定的,不会在计算过程中改变,某种

意义上也可看作是 CGTF(收缩型 GTF)。

6d型轨道好处是方便编程,直接对应笛卡尔型 GTF。缺

点很明显,由于缺乏与真实原子轨道的对应关系,结果不像用5d的结果那样方便分析。虽然这 6个笛卡尔型轨道不直接对应于

真实原子轨道,但在计算过程中经过变分,其结果同样会展现

出真实原子轨道的行为。这是因为以它们为基函数变分的结果,

等价于对它们线性变换后的基函数变分的结果。前面已提到,6个笛卡尔型 d型 GTF线性变换后的 6个函数其中的 5个就是对

应真实轨道的 5d型轨道,只不过多增加了一个 r^2轨道。换句

话说,使用 6d关键字,就是在 5d型的基函数基础上多添加了

一个内部含有节面的 s 型 GTF轨道,由于这个轨道与其它 s 轨道有很大重叠,会造成线性相关问题,所以并不会比 5d的结果

有多少改进。

7f与 10f 的关系与 5d 与 6d的关系类似,对于 g、h等更

高角动量函数也有如上讨论,笛卡尔型与球谐型 GTF转换关系

更为复杂。计算时若同时含有 d和 f轨,用 5d时应当结合 7f,用 6d时应当结合 10f。

58

Page 70: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

Communication

自由能计算—分子模拟中的挑战之一

yyyyzhhlq_1983zhhlq_1983zhhlq_1983zhhlq_1983

[email protected]@[email protected]@gmail.com

摘要:自由能常常被认为最重要的热力学量之一,可以分为HelmholtzHelmholtzHelmholtzHelmholtz自由能函数AAAA和GibbsGibbsGibbsGibbs自由能GGGG。前者对应着粒子数NNNN、温度TTTT以及体积VVVV恒定

的体系,后者对应着粒子数NNNN、温度TTTT以及压力 PPPP恒定的体系。不幸的是,在分子模拟中柔性分子或流体的自由能计算往往是非常困难的。在这篇文章中,

作者对其产生的原因进行了简单的分析。还望能对虫友有些许的帮助,就深感欣慰。

1.1.1.1.基本概念

学过热力学或物理化学的人应该知道,内能、压力以及热

容等称之为热力学“力学”(mechanical properties)性质。而“力

学”性质是可以从常规的蒙特卡罗(monte carlo, MC)或分子动

力学(molecular dynamics, MD)模拟中直接地统计得到。然而,

自由能、化学势和熵等热力学“热学”(thermal properties)性质

除非使用特别的技术,否则难于从常规模拟中准确得到。这种

区别主要是由于“力学”性质与配分函数的一阶导数相关,而

“热学”性质直接与配分函数本身直接相关。这样说还是比较

抽象,那么在正则系综下,我们以内能 U 和自由能 A 两种代

表性的热力学性质为例来阐述它们之间的区别。对于正则系

综,其配分函数 可以表述为:Q

(1)( )

∫ ∫ ⎥⎦

⎤⎢⎣

⎡ Η−=

Tkdd

hNQ

B

NNNN

N

rrrrpppprrrrpppp

,exp

1!1

3

式中, 为体系的粒子数, 为 Planck 常量, 为粒子动量,N h pppp为粒子空间位置, 为体系的 Hamiltonian量(也rrrr ( )NNH rrrrpppp ,

就是体系的总能量,等于动能和势能之和 )。内能 和自由能U与配分函数 分别有如下关系:A Q

(2)TQ

QTkU B

∂∂

=2

(3)QTkA B ln−=为了使我们更好关注于两者不同,在下面的公式推导中将

方程(1)中的一些常量忽略。

2.内能

结合方程(1)和(2),内能 可以表示为如下形式:U

(4)( ) ( )( )∫ ∫

−=

QTkH

HddU BNN

NNNN /,exp,

rrrrpppprrrrpppprrrrpppp

由于当 Hamiltonian 量 的热力学状态在模拟中出( )NNH rrrrpppp ,现的概率 为:( )NN rrrrpppp ,ρ

(5)( ) ( )( )Q

TkH BNN

NN /,exp,

rrrrpppprrrrpppp

−=ρ

那么,内能 最后表示为:U(6)( ) ( )∫ ∫= NNNNNN HddU rrrrpppprrrrpppprrrrpppp ,, ρ

我们可以发现:当 的值很高时,根据方程(5),( )NNH rrrrpppp ,该热力学状态出现的概率将会非常非常低。也就是说,该热力

学状态对于内能 的积分贡献可以忽略不计。无论是 MC中UMetropolis规则还是MD中的自然演变(解牛顿方程)都倾向于产

生低能量的热力学状态,而它们也正是对内能有着重要贡献热

力学状态,这也就是为什么内能 可以从分子模拟中直接地得U到的原因。

3.自由能

另一方面,为了更好地转化自由能 的表述形式,首先我A们构造一个等于 1的积分:

(7)( )

( ) ( )⎥⎦

⎤⎢⎣

⎡Η⎥⎦

⎤⎢⎣

⎡ Η−= ∫∫ TkTk

ddV B

NN

B

NNNN

N

rrrrpppprrrrpppprrrrpppp

,exp

,exp

81

将方程(7)代入方程(3)中,忽略常量,那么自由能 表示为:A

( ) ( )( )exp , /,ln exp

N NN NBN N

BB

H k THA k T d d

k T Q

⎛ ⎞⎛ ⎞ −⎜ ⎟⎜ ⎟=

⎜ ⎟⎜ ⎟⎝ ⎠⎝ ⎠∫∫

p rp rp rp rp rp rp rp rp rp rp rp r

结合方程(5)和上式,自由能 最后可以表述为:A(8)( )( ) ( )( )NN

BNNNN

B TkHddTkA rrrrpppprrrrpppprrrrpppp ,/,expln ρ∫ ∫=因此 , 如 方 程 (8) 中所 示 , 由 于 有 指 数 形 式 的

存在,使得高能量热力学状态(常规模( )( )TkH BNN /,exp rrrrpppp

拟中难于产生)对自由能 的积分贡献是相当大的。换句话说,A依据常规的MC和MD中获得构型样本是无法计算得到准确的

自由能值。

4.常用手段

因此,为了从模拟中获得准确的自由能值,MC和MD模

拟中常常需要结合特别的方法,如自由能微扰法 (free energyperturbation)、热力学积分法 (thermodynamic integration)以及缓

慢增长法(slow growth)等。无论是那一种方法,其本质都是更多

地产生了常规模拟难以获得的高能量热力学状态,从而更好地

覆盖自由能计算所需的构型样本空间。

2020202010101010,,,,

59

Page 71: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, Vol. 1, No. 1

Communication

做过渡态计算应该考虑的三件事

yjcmwgkyjcmwgkyjcmwgkyjcmwgk

DepartmentDepartmentDepartmentDepartment ofofofof Chemistry,Chemistry,Chemistry,Chemistry, ShandongShandongShandongShandongUniversityUniversityUniversityUniversity,,,, JinanJinanJinanJinan 250100250100250100250100,,,, ChinaChinaChinaChinaDepartmentDepartmentDepartmentDepartment ofofofof Chemistry,Chemistry,Chemistry,Chemistry, UniversityUniversityUniversityUniversityofofofof ScienceScienceScienceScience andandandand TechnologyTechnologyTechnologyTechnology BeijingBeijingBeijingBeijing,,,, BeijingBeijingBeijingBeijing 100083,100083,100083,100083, ChinaChinaChinaChina

[email protected]@[email protected]@foxmail.com

过渡态

的计算往往是

Gaussian计算

的难点之一,

我做过多次过

渡态的计算,

甚至有两个课

题就是专门研

究反应过程

的。所以给出

一点浅见,请

大家斧正。

过渡态

的计算不再是

黑匣子,需要

人的参与很

多。尤其是不

能像基态优化

那样“蛮干”

了。我认为这

是初学者算过

渡态很难成功

的原因之一。

个人建

议,在做过渡

态反应计算的

之前,应该确

认三件事情:

(1111)这个反

应是基元反

应吗?如果是,那这个反应会有几种可能的过渡态?如果不是,

我考虑到了所有可能的中间态和过渡态了吗?不论它是不是基

元反应,我考虑了它的全部可能的反应路径了吗?

(2222)进攻位点对不对?

(3333)进攻位点对了,那么我的进攻方向对不对?进攻分子和目

标分子的相对位置(角度、距离)对不对?

比如,我在教我的师弟师妹的时候,举了一个过渡态计算

的例子。过渡态的计算是很繁杂的。一个小小的 DA 反应,就

要计算这么多东西——考虑各种中间态和过渡态,考虑各种自

旋状态,考虑各种可能的进攻位点和进攻方向。见图。

初学者往往搞不懂过渡态和中间态的区别。我做一个很简

单的解释:

(1)过渡态有虚频,中间态没有虚频

(2)如果一个反应路径中有中间态,那这个反应路径一定不是

基元反应

(3)如果一个反应路径中只有一个过渡态,没有中间态,那这

个反应路径一定是基元反应

(4)过渡态是反应物,生成物和中间态的联结纽带。反应物,

生成物和中间态之间,必须由过渡态来连接

(请注意我在这个帖子中,严格区分了“反应”和“反应

路径”两个概念。一个反应可能有多个反应路径。比如在附件

中的 DA反应,我就设计了 3条反应路径,分别是:1-2-3-4-5,1-6-7-8-9-10-5,1-2-3-8-9-10-5)

每一个反应路径算完之后,都要给出 irc验证。当然如果

你能做刚性二维甚或刚性三维势能面扫描更好。如果你能算二

维柔性势能面扫描,我只能说您真有钱!总之,一切看你能使

用的计算资源。请注意,如果说 irc 计算量是 N,那么M 维柔

性势能面扫描所需的计算量是 N^M。

事实上 JACS1999,121,4816-4826和 JOC2004,69,3683-3692这两篇文章已经确定,附件中的 1-2-3-4-5这个反应路径是

最低能量反应路径,我只是拿 DA反应的计算做个例子。

2020202010101010,,,,

60

Page 72: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Communication

平面波计算方法中截断能、K 点、以及晶格参数的确定

csfncsfncsfncsfnAIST,AIST,AIST,AIST, 1-8-311-8-311-8-311-8-31 Midorigaoka,Midorigaoka,Midorigaoka,Midorigaoka, Ikeda,Ikeda,Ikeda,Ikeda, OsakaOsakaOsakaOsaka 563-8577,563-8577,563-8577,563-8577, JapanJapanJapanJapan

[email protected]@[email protected]@emuch.net

Block 定理

描述了在每一个 K点电子波函数可以

用离散的平面波扩

展。原则上讲,这

样的扩展需要无限

多个平面波,一般

通过设置截断能来

控制平面波的数

目。截断能的概念

如图 1所示,图中

圆的半径是与截断

能的平方根成比例

的。在计算中减小

截断能将会使计算

的总能偏离真实

值,增加截断能可

以纠正这一偏离。

如果平面波的数目

取少了,会导致计算总能的错误或者偏离真实值,而通过增加

截断能我们就能提高计算的精确性,但同时增加了计算量。原

则就是选取的截断能保证在设置的精度范围内计算能够收敛。

例如,在做相变的研究中,对不同结构进行计算比较它们的总

能。如果对同一种结构做结构优化,取过低的不同截断能得到

的总能是有差别的。因此,我们需要取适当的截断能,从而有

合适的平面波基作运算,得到比较准确的结果。

布里渊区的设置是通过 K 点的设置来反映的。在 K 点的

设置中,现在流行使用的是按Monkhorst-Pack表格在倒格矢空

间的划分。适当的选择 K 点对于达成精确度与效率的平衡是很

重要的。因此本文将以 Si 块体来做为示例,简单的讨论截断能,

K 点,以及晶格常数的确定。

1.1.1.1.截断能的确定

K 点未确定之前,为了保证计算的准确性,我们选取了比

较大的 8x8x8的 K网格进行计算,其他参数基本采用默认设置。

我们得到计算结果如图 2,纵轴为能量,横轴为晶格常数。图

中插图上的 200,250…等数字,表示以 50eV 为一间距,所取

的 200eV 到 400eV 截断能数值。从图 2,我们可以发现随着截

断能从 200eV 开始,到 400eV 结束,二次曲线逐步收敛,最后

几乎重合。从这个图我们可以得出,截断能取值为 280eV 基本

能保证收敛的准确性。更进一步的精确选取我们将在下面讨论。

2.2.2.2.晶格常数的确定

从图 2中的每一条二次曲线,我们都能通过拟合二次曲线

而得到它对应的横轴最小值,即每一个截断能对应的最佳晶格

常数。然后我们根据得到的晶格常数以及截断能,得到图 3.如果我们沿着图 3中曲线,做一条平行于横轴的切线,切线对应

的纵轴值为最佳晶格常数值约为 5.457Å。同时切线和图 3曲线

对应的切点横轴值,即为所取到的最佳晶格常数对应的最佳截

断能值,约为 300eV。3.3.3.3.KKKK点的确定

纵轴为能量,横轴为 K 网格,比如 2代表为 2x2x2,3代表为 3x3x3等网格。从图 2可以明显的看到,总能量随着K 点

逐步收敛。从这个图我们可以确定,选取 4x4x4的 K 网格已经

能保证本次计算的准确性。如果有充足的计算条件,可以取值

为 6x6x6以上的设置。

通过以上的简单讨论,我们能加深对 K点,截断能,以

及晶格常数的理解。其实很多计算参数都能通过我们自己的测

试计算得到一个最佳设置。希望每位做计算的朋友,如果你在

入门阶段,希望别急着想一步通过导师,师兄姐,或者其他先

辈就得到所要设置的计算参数。如果我们能够通过自己的系列

计算测试,就能有一个深刻的理解。

图 1 截断能示意图

图 2 不同截断能的晶格常数和能量

关系

图 3. 截断能和晶格常数关系

61

Page 73: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Review Article

过渡态、反应路径的计算方法及相关问题

SoberevaSoberevaSoberevaSobereva

DepartmentDepartmentDepartmentDepartment ofofofof Chemistry,Chemistry,Chemistry,Chemistry,UniversityUniversityUniversityUniversity ofofofof ScienceScienceScienceScience andandandand TechnologyTechnologyTechnologyTechnology BeijingBeijingBeijingBeijingBeijingBeijingBeijingBeijing 100083,100083,100083,100083, ChinaChinaChinaChina

前言:本文主要介绍过渡态、反应路径的计算方法,并讨论相关问题。由于这类算法极多,可以互相组合,限于精力不可能面面俱到展开,所以只介绍

常用,或者实用价值有限但有启发性的方法。对于GaussianGaussianGaussianGaussian中可以实现的方法,文中对其在GaussianGaussianGaussianGaussian中的使用进行了一些讨论,希望能纠正一些网上流传

的误区。虽然绝大多数人不专门研究计算方法,其中很多方法也不会用到,但多了解一下对开阔思路是很有好处的。

文中指的““““反应””””包括构象变化、异构化、单分子反应等任何涉及到过渡态的变化过程。““““反应物””””与““““产物””””泛指这些过程的初态和末态。““““优化””””若未注明,

包括优化至极小点和优化至过渡态。势能面是高维的,但为了直观以及表述方便,文中一般用二维势能面模型来讨论。

目录目录目录目录1.1.1.1.过渡态

2.2.2.2.过渡态搜索算法

2.12.12.12.1 基于初猜结构的算法

2.1.12.1.12.1.12.1.1 牛顿----拉弗森法(Newton-Raphson,NR)(Newton-Raphson,NR)(Newton-Raphson,NR)(Newton-Raphson,NR)与准牛

顿法(quasi-Newton,QN)(quasi-Newton,QN)(quasi-Newton,QN)(quasi-Newton,QN)2.1.22.1.22.1.22.1.2 AHAHAHAH方法(augmented(augmented(augmented(augmented Hessian)Hessian)Hessian)Hessian)2.1.2.12.1.2.12.1.2.12.1.2.1 RFORFORFORFO法(Rational(Rational(Rational(Rational FunctionFunctionFunctionFunctionOptimizationOptimizationOptimizationOptimization,

有理函数优化))))2.1.2.22.1.2.22.1.2.22.1.2.2 P-RFOP-RFOP-RFOP-RFO法(Partitioned-RFO)(Partitioned-RFO)(Partitioned-RFO)(Partitioned-RFO)2.1.2.32.1.2.32.1.2.32.1.2.3 QAQAQAQA法(Quadratic(Quadratic(Quadratic(QuadraticApproximationApproximationApproximationApproximation,二次逼

近))))2.1.2.42.1.2.42.1.2.42.1.2.4 TRIMTRIMTRIMTRIM法(trust-region(trust-region(trust-region(trust-region imageimageimageimage minimizationminimizationminimizationminimization,

置信区域镜像最小化))))2.1.2.52.1.2.52.1.2.52.1.2.5 在高斯中的常见问题

2.1.32.1.32.1.32.1.3 GDIISGDIISGDIISGDIIS法(Geometry(Geometry(Geometry(Geometry DirectDirectDirectDirect InversionInversionInversionInversion inininin thethethetheIterativeIterativeIterativeIterative Subspace)Subspace)Subspace)Subspace)

2.1.42.1.42.1.42.1.4 梯度模优化(gradient(gradient(gradient(gradient normnormnormnormminimization)minimization)minimization)minimization)2.1.52.1.52.1.52.1.5 DimerDimerDimerDimer方法

2.22.22.22.2 基于反应物与产物结构的算法

2.2.12.2.12.2.12.2.1 同步转变方法(synchronous(synchronous(synchronous(synchronous transit,ST)transit,ST)transit,ST)transit,ST)2.2.22.2.22.2.22.2.2 STQNSTQNSTQNSTQN方法(Combined(Combined(Combined(Combined SynchronousSynchronousSynchronousSynchronous TransitTransitTransitTransit

andandandand Quasi-NewtonQuasi-NewtonQuasi-NewtonQuasi-Newton Methods)Methods)Methods)Methods)2.2.32.2.32.2.32.2.3 赝坐标法(pseudo(pseudo(pseudo(pseudo reactionreactionreactionreaction coordinate)coordinate)coordinate)coordinate)2.2.42.2.42.2.42.2.4 DHSDHSDHSDHS 方法(Dewar-Healy-Stewart(Dewar-Healy-Stewart(Dewar-Healy-Stewart(Dewar-Healy-Stewart,亦称SaddlSaddlSaddlSaddleeee

方法))))与 LTPLTPLTPLTP 方法(Line-Then-Plane)(Line-Then-Plane)(Line-Then-Plane)(Line-Then-Plane)2.2.52.2.52.2.52.2.5 RidgeRidgeRidgeRidge方法

2.2.62.2.62.2.62.2.6 Step-and-SlideStep-and-SlideStep-and-SlideStep-and-Slide方法

2.2.72.2.72.2.72.2.7 MMMMüüüüller-Brownller-Brownller-Brownller-Brown方法

2.2.82.2.82.2.82.2.8 CI-NEBCI-NEBCI-NEBCI-NEB、ANEBAANEBAANEBAANEBA方法

2.32.32.32.3 基于反应物结构的算法

2.3.12.3.12.3.12.3.1 最缓上升法(least(least(least(least steepsteepsteepsteep ascent,shallowestascent,shallowestascent,shallowestascent,shallowestascent)ascent)ascent)ascent)

2.3.22.3.22.3.22.3.2 本征向量////本征值跟踪法(eigenvector/eig(eigenvector/eig(eigenvector/eig(eigenvector/eigenvalueenvalueenvalueenvalue following,EFfollowing,EFfollowing,EFfollowing,EF,,,,也称modemodemodemode walkingwalkingwalkingwalking/mode/mode/mode/mode following/Walkingfollowing/Walkingfollowing/Walkingfollowing/Walking upupupup valleys)valleys)valleys)valleys)

2.3.32.3.32.3.32.3.3 ARTn(activation-relaxationARTn(activation-relaxationARTn(activation-relaxationARTn(activation-relaxation techniquetechniquetechniquetechnique nouveaunouveaunouveaunouveau))))

2.3.42.3.42.3.42.3.4 梯度极值法(Gradient(Gradient(Gradient(Gradient extremal,GE)extremal,GE)extremal,GE)extremal,GE)2.3.52.3.52.3.52.3.5 约化梯度跟踪(reduced(reduced(reduced(reducedgradientgradientgradientgradient following,following,following,following,

RGF)RGF)RGF)RGF)2.3.62.3.62.3.62.3.6 等势面搜索法(Isopotenial(Isopotenial(Isopotenial(Isopotenial Searching)Searching)Searching)Searching)2.3.72.3.72.3.72.3.7 球形优化(Sphere(Sphere(Sphere(Sphere optimization)optimization)optimization)optimization)

2.42.42.42.4 全势能面扫描

3.3.3.3.过渡态相关问题

3.13.13.13.1 无过渡态的反应途径(barrierless(barrierless(barrierless(barrierless reactionreactionreactionreactionpathways)pathways)pathways)pathways)

3.23.23.23.2 Hammond-LefflerHammond-LefflerHammond-LefflerHammond-Leffler假设

3.3.3.3.3333 对称性问题

3.3.3.3.4444 溶剂效应

3.3.3.3.5555 计算过渡态的建议流程

4.4.4.4.内禀反应坐标(intrinsic(intrinsic(intrinsic(intrinsic reactionreactionreactionreactioncoordinate,IRC)coordinate,IRC)coordinate,IRC)coordinate,IRC)5.IRC5.IRC5.IRC5.IRC算法

5.15.15.15.1 最陡下降法(Steepest(Steepest(Steepest(Steepest descent)descent)descent)descent)5.25.25.25.2 IMKIMKIMKIMK方法(Ishida-Morokuma-Kormornicki)(Ishida-Morokuma-Kormornicki)(Ishida-Morokuma-Kormornicki)(Ishida-Morokuma-Kormornicki)5.35.35.35.3MMMMüüüüller-Brownller-Brownller-Brownller-Brown方法

5.45.45.45.4 GS(Gonzalez-Schlegel)GS(Gonzalez-Schlegel)GS(Gonzalez-Schlegel)GS(Gonzalez-Schlegel)方法

6.chain-of-states6.chain-of-states6.chain-of-states6.chain-of-states方法

6.16.16.16.1 DragDragDragDrag methodmethodmethodmethod方法

6.26.26.26.2 PEBPEBPEBPEB方法(plain(plain(plain(plain elasticelasticelasticelastic band)band)band)band)6.36.36.36.3 Elber-KarplusElber-KarplusElber-KarplusElber-Karplus方法

6.46.46.46.4 SPWSPWSPWSPW方法(Self-Penalty(Self-Penalty(Self-Penalty(Self-PenaltyWalk)Walk)Walk)Walk)6.56.56.56.5 LUPLUPLUPLUP 方法(Locally(Locally(Locally(Locally UpdatedUpdatedUpdatedUpdated planes)planes)planes)planes)6.66.66.66.6 NEBNEBNEBNEB方法(Nudged(Nudged(Nudged(Nudged ElasticElasticElasticElastic Band)Band)Band)Band)6.76.76.76.7 DNEBDNEBDNEBDNEB方法(Double(Double(Double(DoubleNudgedNudgedNudgedNudged ElasticElasticElasticElastic Band)Band)Band)Band)6.86.86.86.8 StringStringStringString方法

6.96.96.96.9 SimplifiedSimplifiedSimplifiedSimplified StringStringStringString方法

6.106.106.106.10 寻找过渡态的 chain-of-statechain-of-statechain-of-statechain-of-state方法

6.10.16.10.16.10.16.10.1 CI-NEBCI-NEBCI-NEBCI-NEB方法

6.10.26.10.26.10.26.10.2 ANEBAANEBAANEBAANEBA方法(adaptive(adaptive(adaptive(adaptive nudgednudgednudgednudged elasticelasticelasticelastic bandbandbandbandapproach)approach)approach)approach)

6.116.116.116.11 chain-of-stateschain-of-stateschain-of-stateschain-of-states方法的一些特点

6.126.126.126.12 高斯中optoptoptopt 关键字的 path=Mpath=Mpath=Mpath=M方法

6.136.136.136.13 CPKCPKCPKCPK方法(Conjugate(Conjugate(Conjugate(Conjugate PeakPeakPeakPeakRefinement)Refinement)Refinement)Refinement)

62

Page 74: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

1.1.1.1.过渡态

过渡态结构指的是势能面上反应路径上的能量最高点,它通

过最小能量路径 (minimum energy path,MEP)连接着反应物和产

物的结构(如果是多步反应的机理,则这里所指反应物或产物

包括中间体)。对于多分子之间的反应,更确切来讲过渡态结构

连接的是它们由无穷远接近后因为范德华力和静电力形成的复

合物结构,以及反应完毕但尚未无限远离时的复合物结构。确

定过渡态有助于了解反应机理,以及通过势垒高度计算反应速

率。一般来讲,势垒小于 21kcal/mol 就可以在室温下发生。

在势能面上,过渡态结构的能量对坐标的一阶导数为 0,只

有在反应坐标方向上曲率(对坐标二阶导数)为负,而其它方

向上皆为正,是能量面上的一阶鞍点。过渡态结构的能量二阶

导数矩阵(Hessian矩阵)的本征值仅有一个负值,这个负值也

就是过渡态拥有唯一虚频的来源。若将分子振动简化成谐振子

模型,这个负值便是频率公式中的力常数,开根号后即得虚数。

分子构象转变、化学反应过程中往往都有过渡态的存在,即

这个过程在势能面上的运动往往都会经历满足上述条件的一

点。化学反应的过渡态更确切应当成为“反应过渡态”。需要注

意的是化学反应未必都经历过渡态结构。

由于过渡态结构存在时间极短,所以很难通过实验方法获

得,直到飞秒脉冲激光光谱的出现才使检验反应机理为可能。

计算化学方法在目前是预测过渡态的最有力武器,尽管计算上

仍有一些困难,比如其附近势能面相对于平衡结构更为平坦得

多、低水平方法难以准确描述、难以预测过渡态结构、缺乏绝

对可靠的方法(如优化到能量极小点可用的最陡下降法)等。

搜索过渡态的算法一般结合从头算、DFT方法,在半经验、

或者小基组条件下,难以像描述平衡结构一样正确描述过渡态

结构,使得计算尺度受到了限制。结合分子力场可以描述构象

变化的过渡态,但不适用描述反应过渡态,因为大部分分子力

场的势函数不允许分子拓扑结构的改变,虽然也有一些力场如

ReaxFF 可以支持,有的力场还有对应的过渡态原子类型,但目

前来看适用面仍然较窄,而且不够精确,尽管更为快速。

注:严格来说,“过渡结构”是指势能面上反应路径上的能量

最高点,而“过渡态”是指自由能面上反应路径上的能量最高点,

由于自由能变主要贡献自势能部分,所以多数情况二者结构近

似一致。但随着温度升高,往往熵变的贡献导致自由能面与势

能面形状发生明显偏离,从而导致过渡结构与过渡态明显偏离,

两个词就不能混用了。但本文不涉及相关问题,故文中过渡态、

过渡结构一律指势能面上反应路径上的能量最高点。

2.2.2.2.过渡态搜索算法

2.12.12.12.1 基于初猜结构的算法基于初猜结构的算法基于初猜结构的算法基于初猜结构的算法

2.1.1 牛顿 -拉弗森法 (Newton-Raphson,NR)与准牛顿法

(quasi-Newton,QN)

NR法是寻找函数一阶导数为 0(驻点)位置的方法。通过

对能量函数的泰勒级数的二阶近似展开,然后使用稳态条件

dE/dr=0,可导出步进公式:

下一步的坐标向量 = 当前坐标向量 - 能量一阶导数向量

× Hessian矩阵的逆矩阵

在势能面上以 NR法最终找到的结果是与初猜位置 Hessian

矩阵本征值正负号一致、离初猜结构最近的驻点,由于能量极

小点、过渡态和高阶鞍点的能量一阶导数皆为 0,故都可以用NR

法寻找。

对于纯二次形函数 NR法仅需一步即可找到正确位置,而势

能面远比之复杂,所以需要反复走步直至收敛。也因为势能面

这个特点,为了改进优化,实际应用中 NR法一般还结合线搜

索步(line search),对于优化至极小点,就是找当前点与 NR法

算出来的下一点的连线上的能量极小点作为实际下一步结构;

若优化至过渡态,且连线方向主要指向过渡态,则找的是连线

上能量极大点,若主要指向其它方向则找连线的能量极小点,

若指向二者程度均等则一般不做线搜索。由于精确的线搜索很

花时间,所以一般只是在连线的当前位置附近计算几个点的能

量,以高阶多项式拟和后取其最小/最大点。

NR法每一步需要计算 Hessian矩阵并且求其逆,所以十分

昂贵。QN法与 NR法的走步原理一样,但Hessian矩阵最初是

用低级或经验方法猜出来的,每一步优化中通过当前及前一步

的梯度和坐标对 Hessian矩阵逆矩阵逐渐修正。由于只需计算一

阶导数,即便Hessian矩阵不准确造成所需收敛步数增加,但一

般仍比 NR法速度快得多。QN法泛指基于此原理的一类方法,

常用的是 BFGS(Broyden Fletcher Goldfarb Shanno),此法对

Hessian的修正保持其对称性和正定性,最适合几何优化,但显

然不能用于找过渡态。还有 DFP(Davidon-Fletcher-Powell),

MS(Murtagh-Sargent,亦称 symmetric rank 1,SR1),PSB(Powell-

symmetric-Broyden)。也有混合方法,如 Bofill法是 PSB和MS

法对 Hessian修正量的权重线性组合,比二者独立使用更优,权

重系数通过位移、梯度改变量和当前 Hessian计算得到,它对

Hessian的修正不强制正定,很适宜搜索过渡态。

将 NR步进公式放到 Hessian本征向量空间下其意义更为明

显(此时 Hessian为对角矩阵),可看出在每个方向上的位移就

是这个方向势能的负梯度除以对应的本征值,比如在 i 方向上

的位移可写为ΔX(i)=-g(i)/h(i),在受力越大、越平坦的方向位移

越大。每一步实际位移就是这些方向上位移的矢量和。对于寻

找过渡态,因为虚频方向对应 Hessian本征值为负,使位移为受

力相反方向,所以 NR法在过渡态附近每一步都是使虚频方向

能量升高,而在其它正交的方向朝着能量降低的方向位移,通

过这个原理步进到过渡态。若有 n个虚频,则 NR法就在 n个

方向升高能量而其它方向降低能量找到 n阶鞍点。

由于 NR法的这个特点,为找到正确类型的驻点,初猜结构

必须在目标结构的二次区域(quadratic region)内。所谓的二次区

域,是指驻点附近保持 Hessian矩阵本征值符号不变的区域,它

63

Page 75: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

的形状可以用多变量的二次函数近似描述,例如二维势能面情

况下这样的区域可以用 F(x,y)=A*x 2+B*y^2+C*x+D*y+E*x*y

近似描述。对于能量极小点,就是指初猜点在目标结构附近

Hessian矩阵为正定矩阵的范围;对于找过渡态,就需要初猜点

在它附近含有且仅含有一个负本征值的范围内。并且这个范围

内不能有其它同类驻点比目标结构距离初猜结构更近。NR法方

便之处是只需要提供一个初猜结构即可,但是由于过渡态二次

区域很小(相对于能量极小点来讲),复杂反应过渡态又不容易

估计,故对使用者的直觉和经验有一定要求,即便是老手,也

往往需要反复尝试。

NR法对初猜结构比较敏感,离过渡态越近所需收敛步数越

少,成功机率越高。模版法可以帮助给出合理的初猜,也就是

如果已经知道其它机理相同的反应的过渡态结构,可以保持反

应位点部分的结构不变而替换周围的原子,使之变成自己要研

究的化合物反应的初猜结构。

2.1.2AH方法(Augmented Hessian)

AH方法并不是独立的寻找过渡态的方法,而是通过修改原

始 Hessian矩阵来调整 NR法步进的长度和方向的一种方法。在

NR法的步进公式中加入了一个移位参数λ,式子变为ΔX(i,λ)=-

g(i)/(h(i)-λ),NR法相当于λ等于 0时的特例。λ控制着每步步进

距离,它与 h(i)的相对大小也控制着这个坐标上的步进方向。

根据设定λ方法的不同,常见的有 RFO、P-RFO和 QA/TRIM。

这些方法每一步也使用 QN方法来快速地更新 Hessian。

下面提及的置信半径 R(Trust radius)是指二阶泰勒级数展开

这种近似的合理的区域,可以在优化过程中固定也可以动态改

变,比如下一步位置的实际能量与使用二阶泰勒级数展开预测

的能量符合较好则加大 R,反之减小。优化的每一步移动距离

不应超过 R,否则可能进入二阶泰勒级数展开近似的失效区域,

NR法在势能面平坦的时候容易超过这个范围,应调整λ避免。

2.1.2.1 RFO 法(Rational Function Optimization,有理函数优

化)

对能量函数根据有理近似展开,而不是NR法的二阶泰勒级

数近似展开,可推得与 AH方法形式相同的步进公式。确定其

中λ的公式是λ=∑( g(i)^2/(h(i)-λ) ),g(i)和 h(i)代表此方向的梯度

和本征值,加和是对所有本征向量方向加和。通过迭代方法会

解出 N+1个λ(N 代表势能面维数),将λ按大小排列,则有

λ(i)≤h(i)≤λ(i+1)。故选其中最小的 λ可使各个方向位移公式的

(h(i)-λ)项皆为正,保证每步位移都向着极小点。选其中大于 m

个 Hessian本征值的λ,将会在本征值最低的 m个方向上沿其上

的受力反方向位移提升能量,在其余 N-m个方向上降低能量,

由此确保优化到 m阶鞍点,若m为 1即用来找过渡态。所以用

了这个方法寻找指定类型驻点不再像NR法对初猜位置Hessian

本征值符号有要求,而是直接通过选择λ来设定向着何种鞍点位

移。如果每步步长度超过了 R,则乘以一个小于 1的因子来减

小步长。值得一提的是, λ与势能面维数 N 的平方根近似成正

比,随着体系尺度的增大,RFO 的λ对 NR法的二次近似就会趋

现“校正过度”情况,产生大小不一致问题,可使用 SIRFO(Size

independent RFO)方法解决,即AH 走步公式中的λ改为λ/N^0.5。

2.1.2.2 P-RFO法(Partitioned-RFO)

专用于优化过渡态,效率比 RFO 更高。RFO对所有方向的

步进都使用同一个λ,而在 P-RFO 中在指向过渡态的方向使用

独立计算的λ(TS),λ(TS)=g(TS)^2/(h(TS)-λ(TS)),应选这个一元

二次方程的最大的解,可保证在这个方向上升高能量。其余方

向λ的确定和 RFO 的公式一样,加和就不再包含指向过渡态的

方向,并且选最小的λ解以使这些方向能量降低。这里所谓指向

过渡态的方向一般是指最低本征值的方向,在上述 RFO 方法 m

为 1时也是如此假设(限于其形式 RFO也只能用这最低模式),

但有时会是其它的非最低的模式,P-RFO也可以将这样的模式

作为指向过渡态的模式,见后文 EF 方法的讨论。

2.1.2.3 QA法(Quadratic Approximation,二次逼近)

确定λ的公式是(ΔX(i))^2=∑( -g(i)/(h(i)-λ) )^2=R^2,也就是说

每一步移动的距离恰好是置信半径,这样步进速度较快。若优

化到过渡态,计算λ公式的加和中指向过渡态本征向量的那一项

的λ改为-λ,即ΔX(TS)=-g(TS)/(h(TS)+λ)。

2.1.2.4 TRIM 法(trust-region image minimization,置信区域镜

像最小化)

这个方法假设 Hessian本征值最小的方向的梯度和曲率符号

与原本相反,而其它方向不变。经过这样的变化后原来的过渡

态位置就成为了能量极小点(过渡态的 image),这样就可以通过

优化到极小点而得到过渡态。将 TRIM 的假设 g(TS)'=-g(TS),

h(TS)'=-h(TS)代入 AH方法的步进公式ΔX(i,λ)=-g(i)/(h(i)-λ),再

使分子分母同乘以-1,可知在过渡态方向上的步进公式与其它

方向区别仅在于反转了λ的符号。又由于 TRIM 也是通过调整λ

使步进长度等于为置信半径,所以在公式的形式上与 QA法找

过渡态的公式完全一致,QA与 TRIM 可互为同义词。

通过如上调整 AH方法引入的λ可使 NR法的步进更有效率、

更稳定,还可以通过它改变步进公式在不同方向上的分母项符

号,使优化过渡态的初猜点不限于过渡态的二次区域。可直接

指定沿某个振动模式升高能量来找过渡态,即便当前点这个方

向的 Hessian本征值可能是正值,例如从极小点开始跟踪至过渡

态,见后文的 EF 方法。

2.1.2.5 在高斯中的常见问题

高斯中 opt=ts是使用 Berny算法来找过渡态,需要提供一个

初猜结构。Berny默认的走步的方法是 RFO/P-RFO(分别对于优

化至极小值 /鞍点),若加了 Newton选项,则走步基于 NR 法。

每一步对 Hessian 矩阵的更新方法以 UpdateMethod 选项指定,

64

Page 76: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

寻找极小点时默认用 BFGS,找过渡态时默认用 Bofill。Berny

算法还包括一些细节步骤在内,比如投影掉被冻结的变量、更

新置信半径、设定了线搜索过程中几种方案等等,详见手册 opt

关键字。

使用了每步修正 Hessian的准牛顿法后,初猜的 Hessian 矩

阵质量明显影响结构收敛速度,它的不准确容易导致搜索过渡

态失败(在高斯中默认使用价键力场得到 Hessian)。这种情况

需要昂贵的 calcfc 关键字以当前方法水平计算最初的 Hessian

矩阵,若使用的方法在程序中支持解析二阶导数,速度会较好。

或者用 readfc来读取包含了 Hessian矩阵信息的 chk文件,可以

先使用低水平方法进行简正振动分析得到 chk 文件,再将之读

入作为 Hessian矩阵初猜,能够节约时间,但前提是此势能面对

方法等级不敏感(一般如此)。使用了更准确的初猜后不仅可以

增加找到过渡态的成功机率,还有助于在更短的优化步数内达

到收敛标准。若使用 calcall,则每一点都重新准确计算 Hession,

会更为可靠,但极为昂贵。

高斯中 berny 方法寻找过渡态默认每步会检查 Hessian矩阵

的本征值是否仅有一个为负,如果不符,就会提示“a wrong sign

eigenvalue in hessian matrix”,经常一开始就报错,原因是初猜

结构不符合这个条件,即便这个初猜通过 berny 方法最终能够

正确优化到过渡态,这时应加 noeigentest 选项避免本征值符号

的检查,不符合要求也继续优化,但因此可能收敛到其它类型

驻点。有时这种情况由初猜的 Hessian 不准导致,可用 calcfc

解决。如果搜索的过渡态出现多个负本征值,可根据适当的虚

频(高斯中以负数频率表示)振动方向调整结构以降低能量,

直至剩下一个虚频,再重新优化。

高斯中默认的置信半径为 0.3 bohr,若优化中步长(RFO/P-

RFO 步)超过就会输出 “Maximum step size (0.300) exceeded in

Quadratic search”和“Step size scaled by xxx”,即乘以 xxx调小步

长至置信半径内。也可以使用 iop(1/8=k)将置信半径改为 k*0.01

bohr(1 bohr=0.5292埃),调大后往往可以显著减少收敛步数,很

适合势能面平坦的大体系。注意并不是每一步的步长都固定为

k*0.01 bohr,若没超过置信半径则步长并不因此改变。寻找极

小点时默认为允许动态改变置信半径,此时 iop(1/8)设的就是最

初的置信半径,对于寻找过渡态默认为关闭此功能(相当于用

了 NoTrustUpdate),可以使用 trustupdate关键字来打开这个功

能。

2.1.3 GDIIS 法 (Geometry Direct Inversion in the Iterative

Subspace)

GDIIS 与 DIIS 原理一致,但用于几何优化,这个方法趋于

收敛到离初始位置最近的驻点,包括过渡态。下一步坐标

X(new)=X"-H'g",H'代表当前步的 Hessian逆矩阵,可见公式形

式与NR法是一致的,但是X"与 g"不再指当前步的坐标和梯度,

而是由之前走过的点的坐标 X(k)和梯度 g(k)插值得到的,

X"=∑c(k)X(k),g"=∑c(k)g(k),代入上式即 X(new)=∑c(i)(X(i)-

H'g(i)),其中∑是对之前全部走过的点加和。系数 c(k)通过使误

差向量 r的模最小化得到,r=∑c(k)e(k),并以∑c(k)=1为限制条

件。e(k)常见有两种定义,一种是 e(k)=-H'g(k),另一种更常用,

是 e(k)=g(k),可看出 GDIIS 利用的是已经搜索过的子空间中坐

标与梯度的相关性,目的是估出梯度(即误差向量)的模尽可

能小的坐标,这一点与后述的梯度模方法相似。

此方法缺点是由于势能面复杂,步进中容易被拉到已经过的

势能面的其它驻点而不能到达指定类型驻点,还容易走到类似

肩膀形状的拐点,梯度虽小却不为 0,由于不能达到收敛标准

而反复在此处震荡。另外随优化步数增加,误差向量数目逐渐

加大,会逐渐出现的误差向量之间的线性相关,导致伪收敛和

数值不稳定问题。在改进的方法中将 GDIIS 与更可靠的 RFO方

法结合,比较二者的步进方向和长度,并检验 GDIIS 中的组合

系数 c,根据一定规则来决定每一步对之前走过的点的保留方

式,必要时全部舍去而重新开始 GDIIS。Gaussian中用的这种

改进的 GDIIS 方法解决了上述问题同时提高了效率,速度等于

或优于 RFO方法,尤其是以低水平对势能面平坦的大体系优化

时更为突出。GDIIS 计算量小,对Hessian矩阵很不敏感,可以

在优化中不更新,也可以用 QN法更新来改善性能。此方法自

Gaussian98起就是默认的半经验优化算法,其它方法下也可以

用 OPT的 gdiis关键词打开。

2.1.4 梯度模优化(gradient norm minimization)

势能面上的驻点,包括能量极小点、过渡态和高阶鞍点的势

能梯度都为 0,所以在相应于势能面的梯度模面上进行优化找

到数值为 0的点,经过Hessian矩阵本征值符号的检验,就能得

到过渡态。这相当于把搜索过渡态问题转化为了能量极小化问

题,就有了更可靠的算法可用。(注:梯度模指的是势能梯度在

各个维度分量平方和的平方根,即梯度大小的绝对值)。但是寻

找数值更小点的优化方法比如最陡下降法只能找到离初始位置

最近的极小点,若找到的梯度模面上的极小点数值大于 0则是

势能面肩膀形拐点,没有什么用处,而这样的点收敛半径往往

很大,例如图中在 x=2 至 8的区域内都会收敛到函数拐点,只

有提供的初猜结构在 x=1 和 9附近很小的范围内才会收敛到过

渡态,收敛半径太小,难以提供合理初猜。梯度模面上还多出

一些极大点,如 x=1.5 处,若使用收敛更快的 NR法找极小点

还容易收敛到这样没有意义的点上。基于这些原因,梯度模法

很少使用。

65

Page 77: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

2.1.5 Dimer方法

Dimer 方法是一种高效的定位过渡态的

方法。这个方法定义了由两个点 R1 和 R2

组成的一个 Dimer,能量和所受势能力(由

原始的势能面梯度造成受力,下同)分别为

E1和 E2、F1和 F2。两个点间距为 2ΔR,ΔR

为定值。这两点的中间点为 R,其受力

F(R)=(F1+F2)/2 。 Dimer 的 总 能 量 为

E=(E1+E2)/2。这个方法的每一步包括平移

Dimer 和旋转 Dimer两步。

旋转 Dimer:保持 R1、R2中点位置 R不

变作为轴,旋转 Dimer 直到总能量 E最小。通过推导可知在旋

转过程中,E 与 R点在 dimer 方向(R1-R2方向)上的曲率关

系 C是线性的,即最小化 E 的过程就是最小化 C的过程。所以

每一步的 Dimer 方向都是曲率最小方向,当最终 R收敛到过渡

态位置时,Dimer 就会平行于虚频方向。

平移 Dimer:Dimer 根据受力 F'移动 R的位置,结合不同方

法有具体步进方式,如 quick-win、共轭梯度法。当C<0(过渡

态或高阶鞍点的二次区域内),F'等于将 F(R)平行于 Dimer 方向

力的分量符号反转;当C>0(极小点二次区域内),F'等于 F(R)

平行于 Dimer 方向力的分量的负值,而没有垂直于 Dimer方向

的力,促使 Dimer 尽快离开这个区域。由于 Dimer的方向就是

曲率最小的方向,在过渡态二次区域内就是指虚频方向,在

Dimer 方法中 F'的定义使这个方向以受力相反方向移动以升高

能量,而其它方向顺着受力方向移动来最小化能量,可看出原

理上与 NR法相似。费时的计算 Hessian矩阵最小本征值以确定

提升能量方向的过程被旋转 Dimer 这一步代替了,仅需要计算

一阶导数。Dimer法对初始位置要求很宽松,并不需要在过渡

态二次区域内,若在极小点二次区域内就类似于后述的 EF 方法

沿着最小振动模式爬坡。如果在高阶鞍点二次区域内,只在曲

率最负的虚频方向沿着受力反向移动,在其它虚频方向上仍最

小化能量,而不会像 NR法收敛到高阶鞍点。

势能面上往往有许多鞍点,Dimer 方法还可以做鞍点搜索。

通过分子动力学方法给予 Dimer 一定动能,使之能够在势能面

上广阔的区域内运动,根据一定标准提取轨迹中的一些点作为

初猜,再执行标准 Dimer 方法就可以得到许多不同的鞍点。

Dimer 方法很适合双处理器并行,两个点的受力分别由两个处

理器负责,速度可增加将近一倍。

2.22.22.22.2基于反应物与产物结构的算法基于反应物与产物结构的算法基于反应物与产物结构的算法基于反应物与产物结构的算法

2.2.1 同步转变方法(synchronous transit,ST)

提供合理的初猜结构往往不易,ST 方法可以只根据反应物

和产物结构自动得到过渡态结构。“同步转变”这个名字强调的

是反应路径上所有坐标一起变化,这是相对于后面提到的赝坐

标法来说的(即只变化指定的坐标,尽管其它坐标优化后坐标

也会变化)。

ST 分为两种模型,最简单的就是 LST 模型 (Linear

synchronous transit,线性同步转变),这个方法假设反应过程中,

反应物结构的每个坐标都是同步、线性地变化到产物结构。如

果反应物、产物的坐标分别以向量 A、B表示,则反应过程中

的结构坐标可表示为(1-x)*A+x*B,x由 0逐渐变到 1代表反应

进度。注意 LST 并不是指反应中原子在真实空间上以直线运动,

只有笛卡尔坐标下的 LST 才是如此,在内坐标下的 LST,原子

在真实空间中一般以弧线运动。以LST 的假设,反应路径在其

所用坐标下的势能面图上可描述为一条直线,LST 给出的过渡

态就是这条直线上能量最高点(图 3的点 1)。 LST 的问题也很

显著,其假设的坐标线性变化多数是错误的,绘制在势能面图

上也多数不会是直线,故给出的过渡态也有较大偏差,容易带

两个或多个虚频。

比 LST更合理的是QST(quadratic synchronous transit,二次同

步转变),它假设反应路径在势能面上是一条二次曲线。QST 在

LST 得到的过渡态位置上,对LST 直线路径的垂直方向进行线

搜索找到能量极小点 A(图 3的点 2)。QST 给出的反应路径可

以用经过反应物、A、产物的二次曲线来表示,如果这条路径

上能量最大点的位置恰为A,则A就是QST方法给出的过渡态;

如果不是,则以最大点作为过渡态。若想结果更精确,可以再

对这个最大点向垂直于路径的方向优化,再次得到 A 并检验,

66

Page 78: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

反复重复这个步骤,逐步找到能量更低、更准确的过渡态。

QST 方法在计算能力较低的年代曾是简单快速的获得过渡

态和反应路径的方法,然而如今看来其结果是相当粗糙的,已

极少单独使用,可以将其得到的过渡态作为 AH法的初猜。

2.2.2 STQN 方法 (Combined Synchronous Transit and Quasi-

Newton Methods)

STQN是 ST 与 QN方法的结合(更准确地说是与 EF 法的结

合)。但不要简单认为是按顺序独立执行这两步,即认为 “先利

用反应物和产物结构以 ST 方法得到粗糙过渡态,再以之作为初

猜用 QN法精确寻找过渡态”是错误的。STQN方法大意是:使

结构从低能量的反应物出发,以 ST 路径在当前位置切线为引

导,沿着 LST 或 QST 假设的反应路径行进(爬坡步),目的是

使结构到达假设路径的能量最高处附近(真实过渡态二次区域

附近)。当符合一定判据时就转换为 QN法寻找精确过渡态位置

(EF 步)。下面介绍具体步骤。

先说明后面用到的切线的定义:STQN 当中的 LST 路径与前

面 ST 部分介绍的 LST 路径无异,都是直线,切线 T 在优化中

是不变的,就是反应物 R指向产物 P 的单位向量。STQN方法

中的 QST 路径定义与 ST 方法介绍的不同,走的不是二次曲线

而是圆形的一段弧,如图 4所示。这个圆弧经过 R、P以及优

化中的当前步位置 X,切线就是圆在X 处的单位切线向量,圆

弧和切线在每一步都是变化的。虽然 QST 路径比 LST 更为合

理,但对于 QSTN 方法,QST 路径在收敛速度和成功机率上的

优势并不显著。

图 4444.... STQNSTQNSTQNSTQN对 QSTQSTQSTQST路径的定义

STQN每一步执行内容如下:(1)首先重新计算或用 QN法更

新 Hessian。(2)按上述方法计算当前位置处的切线。 (3)决定这

一步是爬坡步还是 EF 步。如果是优化的第前两步,则一定认为

是爬坡步,因为此时离过渡态区域还较远,应当先爬坡。如果

是第 3、4步,则估算出在切线方向的位移,超过一定标准就是

爬坡步,否则说明爬得差不多了就进入 EF 步找过渡态。如果是

第 5步之后,一般已离过渡态区域较近,故一定认为是 EF 步。

(4)如果是爬坡步,则在切线方向上移动(将切线方向作为 EF

方法所跟踪的振动方向来计算位移大小)。如果是 EF 步,首先

计算 Hessian各个本征向量的与切线重叠情况,如果有重叠大于

0.8的本征向量,则以EF 法跟踪本征值最大的本征向量来移动,

相当于继续向上爬。如果没有大于 0.8的,就跟踪最小本征值

的本征向量移动来寻找过渡态。(5)步长长度若大于标准则调小,

默认 0.3 bohr。(6)根据预置受力、位移标准判断是否已收敛,

收敛则结束循环。

注意,ST 方法中具体包含 LST 和 QST 两种方法,STQN也

用到了 LST 和 QST两种反应路径的假设。高斯中的 LST 方法

指的是 ST 中的 LST 方法,而 QST2/3指的是利用 QST 路径假

设的 STQN方法,它们原理上截然不同,不要混淆。高斯中的

QST2只需输入反应物和产物结构,通过几何方法估出 STQN

的初始步结构 X。QST3需额外输入猜测的过渡态,它直接作为

X,一般比 QST2效果更好。对于经验不足的用户,用 STQN

方法往往比只提供过渡态初猜的方法更为适合。注意产物和反

应物应当使用同样方法同样基组进行优化,如果是多分子比如

A+B=C+D 这样的反应,应当优化A 和 B/C和 D 的复合物作为

输入的产物/产物,而不是单独优化 A、B然后拼到一起,因为

形成范德华复合物后孤立的分子会有一定构象改变,能量也低

于它们孤立状态的加和。

2.2.3 赝坐标法(pseudo reaction coordinate)

也称为坐标驱动法(Coordinate Driving)。这个方法在高斯中

就是柔性扫描(Relaxed Scan),即扫描一个变量,但每一步对其

它变量自动进行优化,每一步得到的结构就是在这个变量为一

定值情况下的最优结构。赝坐标法扫描的是反应物转变到产物

过程中的关键坐标,比如扫描化学键断裂 /生成反应中的键长。

扫描的结果就是近似的 IRC,可以再将能量最高点作为初猜找

过渡态,或者用更小的步长再次扫描能量最高点附近找更精确

的过渡态结构。这个找过渡态方法实际上用的是能量极小化优

化过程,由于这样的算法比寻找过渡态的算法更为稳健,所以

赝坐标法是颇可靠的,其它方法失败时可考虑这种方法。

这个方法缺点是费时间,而且不适合通向过渡态路径中反应

区域涉及多个坐标变化的反应过程,因为自定义扫描的内容很

难全面、准确考虑到这些坐标变量的变化,结果难以说明问题,

没有考虑进去的关键变量容易产生滞后效应 (hysteresis effect)。

比如乙烷由交叉构象变化到另一个交叉构象,需要经历重叠构

象的过渡态,会涉及到三个 HCCH二面角同时由 60度变化到 0

度,如果用赝坐标法只扫描其中一个 HCCH由 60度变到 0度,

则每一步其它两个 HCCH角一定会大于这个扫描的二面角,与

实际不符。这是因为这两个角越小,分子的能量越高,每一步

自动优化的时候它们更倾向于保持在大角度。最终到达过渡态

时,所扫描的二面角到达了 0度,另外两个二面角却大于 0度,

说明它们的运动比实际的过程滞后了。由于滞后效应,从反应

物和产物两个方向扫描同相同的坐标,得到的路径也不同。上

述简单的反应此方法滞后效应尚且严重,对于复杂变化,这种

效应导致的问题更难以预测。故此方法确定的 IRC、过渡态不

可靠,只建议对简单的反应使用这种方法,扫描变量的选择注

意避免滞后效应。

在高斯中此方法可以使用 opt=modredundant或Opt=Z-matrix

67

Page 79: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

结合分子结构部分标记的扫描变量来实现。例如使用

opt=modredundant并在分子结构末尾写上 A 3 2 1 S 10 1.000000

来指定 3 2 1原子组成的角度进行柔性扫描,共10步,每步 1.0

度。如果不熟悉,也可以很方便地在 GaussView 里的冗余坐标

编辑器里面添加要柔性扫描的变量。

如果只执行常规的某个变量的扫描,比如高斯中的 scan来找

能量最高点作为初猜结构,对于简单体系可行,但对于复杂体

系,这样忽略了此变量的变化导致分子其它部分结构的驰豫,

如此得到的能量最高点作为过渡态初猜很不可靠,因为势能中

掺入了不合理的结构造成的能量升高,使势能曲线形状改变。

2.2.4 DHS方法(Dewar-Healy-Stewart,亦称 Saddle 方法)与

LTP方法(Line-Then-Plane)

DHS方法中第一步将反应和产物分别作为 A 点和 B点,确

定哪个点能量低,比如 A 比 B低,就把 A 点的结构向 B 点稍

微做调整(~5%)得到 A',然后限制变量空间中 A'与 B 的距离不

变(即在超球面上)对 A'进行优化得到 A''。将 A''与 B当作下

一步的起始点 A 与 B,重复上述方法。这样反复进行迭代,若

以序号 n代表第 n次得到的 A''或 B'',会依次得到例如 A''(1)、

A''(2)、B''(1)、A''(3)......直到 A 与 B十分接近时才停止迭代,此

位置就是过渡态。将得到的全部 A''(n)按序号 n依次连接,B''(n)

也按序号依次连接,再将序号最大的 A''(n)与 B''(n)连接,得到

的就是近似的 IRC。LTP与 DHS方法基本一致,不同的是每步

是在垂直于 A'与 B连线的超平面上优化。DHS方法虽然可以很

快地走到过渡态附近的位置,但是越往后每步的 AB距离缩近

也越少,故并不能有效率地贴近过渡态。然而每步的在连线上

调整的距离不可过大,否则可能造成一侧的点跨过过渡态势垒

跑到另一侧得到错误结果。

[图 5]DHS方法示意图

2.2.5 Ridge方法

第一步时将反应物、产物作为 A点和 B点,在其 LST 的路

径上找到能量最大点 C,然后在 AC与 BC直线上相距 C为 s

的位置上分别设一点 A'和 B',将A'与 B'分别沿着此处势能面负

梯度优化 p距离,将得到的 A''与 B''作为下一步的 A 和 B。反

复进行这个步骤,收敛后 C 的位置就是过渡态位置。s 和 p是

计算过程中动态调节的参数,对结果影响较大,它们应当随 C

逐渐接近过渡态而减小,可设若当前步的 C能量高于上一步的

C,则减小 p至原先一半;若 s与 p的比值大于某个数值,s 也

减半。Ridge 方法的缺点是接近过渡态时效率较低,可以当 C

进入过渡态二次区域后改用 QN法来加快收敛。也可以结合

DIIS法,速度比原先有一半以上的提升,效率有时还高于基于

二阶导数的方法,而且在某些势能面非常平坦的体系比二阶导

数方法更可靠。

[图 6]Ridge方法示意图

2.2.6 Step-and-Slide方法

使产物和反应物的结构同时顺着 LST 描述的路径相对移动

(step步),直到它们的能量都等于某个预先设定的能量,然后让

这两个结构在它们当前所在的势能等值面上滑动 (slide 步),使

二者结构在坐标空间中的距离最小。重复上述 step和 slide步骤,

最终当两个结构碰上,这个位置就是过渡态。

[图 7]Step and Slide 方法示意图

2.2.7 Müller-Brown 方法,见下文 IRC算法相应部分

2.2.8 CI-NEB、ANEBA方法,见下文“寻找过渡态的 chain-of-

state方法”相应部分

2.32.32.32.3 基于反应物结构的算法基于反应物结构的算法基于反应物结构的算法基于反应物结构的算法

2.3.1 最缓上升法(least steep ascent,shallowest ascent)

由反应物结构到达过渡态结构的过程是沿着势能面最容易

68

Page 80: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

行进的路径进行的(不考虑动力学问题),这个途径一般比其它

方向要缓和,所以由反应物结构开始,沿着势能面最缓的方向

逐渐往上爬,往往可以沿着MEP到达过渡态。但要注意这条路

径时常与从过渡态沿最陡下降路径所走出的MEP 并不一致,因

此原理上此法不能保证一定能到达过渡态。图8描述的是 LEPS

势结合谐振势的势能面,最缓上升法所走的黑色粗曲线严重不

符合实际 MEP(黑点所示路径),而且曲线是中断的。此法也

可能走到与此平衡结构相连的其它过渡态,而非预期的过渡态。

还容易因为步长问题导致走到中途时跑到另外一条错误路径

上,虽然设小步长能得到解决,但是需要花费更长时间。因为

种种问题,这个方法使用较少。

[图 8]势能面上最缓上升法所走的路径(黑色粗曲线)

2.3.2 本征 向量 / 本征 值跟踪 法 (eigenvector/eigenvalue

following,EF。也称 mode walking/mode following/Walking up

valleys)

由于平衡结构越过势垒发生反应的能量主要来自分子某振

动模式提供的动能,考虑这一点,由平衡结构沿着此振动矢量

方向步进,能够找到过渡态,经历的路径就是反应路径。这种

方法需要首先对平衡结构进行振动分析,由用户最初指定一个

可能指向过渡态的振动模式。因为平衡态通向过渡态路径势能

面平缓,曲率(可视为振子力常数)一般小于其它方向,故一

般跟踪频率最低的振动模式(高斯中默认)。每走一步后重新计

算 Hessian矩阵的本征值和本征向量,如果跟踪的是本征值最低

的模式,仍取本征值最小的本征向量继续跟踪;如果跟踪的是

其它振动模式,就取与上一步所跟踪的向量重叠最大的向量继

续跟踪。重复执行,直到符合收敛标准为止。

如果一个结构涉及到多个过渡态,则跟踪不同的本征向量有

可能得到不同的过渡态,即便所跟踪的不是最低模式,当接近

过渡态后也会成为最低的模式。此方法也可以直接由过渡态初

猜结构开始跟踪,或者说 EF 方法是一种不需要初猜在过渡态二

次区域内的寻找过渡态的方法。由稳定结构通过 EF 方法跟踪至

过渡态相对与直接给出初猜显然更为费时,但对于不能预测过

渡态结构的情况下往往是有用的。LMOD法搜索构象也是基于

这一原理,不断地根据低频振动方向越过构象转变的过渡态到

达新的构象。

最初的 EF 方法只是简单地沿所跟踪的振动模式移动来升高

能量。高斯中 opt=(EF,TS)方法还使结构同时在其余方向上沿能

量更低的方向移动,其实它用的就已介绍的 P-RFO法,所跟踪

的模式用独立计算的λ的最大解,其它的模式使用相同的另外计

算的λ的最小解。由于Berny方法寻找过渡态已经包含了 P-RFO

步,所以EF 方法实际上也已经包含在内了,除非要用到跟踪特

定模式等功能时才有使用的必要。

2.3.3ARTn(activation-relaxation technique nouveau)

此方法主要用于研究无序材料的在能量面上由极小点穿过

过渡态到达其它极小点的过程,解决由于势垒高而难以用 MD

和MC方法研究的问题。方法分两步,(1)将初始结构由极小点

位置激活并收敛到过渡态(activation步),(2)由过渡态通过常规

的能量极小化算法寻找极小点(relaxation 步)。(1)中的每一步中

在任意方向上移动结构,然后在垂直于走过的路径方向的超平

面上做能量极小化,反复执行,直到Hessian矩阵出现一个负本

征值为止。之后进入收敛至鞍点的步骤,在最小本征值的方向

上沿受力反方向移动,其余方向根据受力移动,最终将找到一

阶鞍点。由于大体系 Hessian矩阵本征值求解困难,此方法中使

用 Lanczos 算法快速求解最低本征值和本征向量。ART法可以

获得与初始极小点相连的许多过渡态。

2.3.4 梯度极值法(Gradient extremal,GE)

梯度极值路径连接的是每一个等值线(高维情况为超曲面)

上的梯度的模|g|为极大或极小值的点(相对于同一等值线上的

其它点的梯度模来说)。因为势能面的每一点的梯度垂直于此点

等值线的切线,故梯度模极值点的位置相当于垂直于等值线方

向上等值线间隔比处在相同等值线上相邻的点更远或更近。 |g|

的极值与 g 2一致,设势能函数为 f,限制所在等值线能量为 k,

通过拉格朗日乘子法求 g 2的极值[g 2-2λ(f-k)]=0,可知梯度

极值点的梯度方向等于此点 Hessian矩阵某一本征向量。由于势

能面上每个驻点必有一条或多条梯度极值路径通过而互相构成

网络(但任意驻点间不一定有梯度极值路径直接相连),所以系

统地跟踪梯度极值路径是一种获得势能面上全部驻点的方法,

目前已有几种跟踪算法,然而即便对于简单体系,梯度极值路

径数目也极多,尤其是包含对称性情况下。由极小点跟踪梯度

极值路径也能够用于寻找过渡态,但极小点未必与过渡态通过

梯度极值路径直连,且此方法并不能控制要寻找哪类驻点,故

为了寻找过渡态可能需要从多个其它驻点跟踪多个梯度极值路

径,计算量很大,所以单纯为了寻找过渡态而使用这种方法不

切实际。

69

Page 81: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

[图 9]梯度极值路径示意图

2.3.5 约化梯度跟踪(reduced gradient following,RGF)

这个方法同梯度极值法一样可以得到包括过渡态、极小点在

内的各种驻点。设势能面为 N 维,此方法将跟踪N 条路径,其

中第 i条(i=1,2,3...N)路径只有在第 i维上梯度不为 0,而其它 N-1

个维度上皆为 0,故称为约化梯度。这样的路径交汇的位置,

就是所有维度上梯度皆为 0的位置,即驻点。例如简单的二维

情况 E(x,y)=x 3+y^3-6xy,跟踪的 RGF方程就是 Ex(x,y)=3x 2-

6y=0和 Ey(x,y)=3y^2-6x=0,前者仅 y方向梯度不为 0,后者仅

x方向梯度不为 0,相交得到的驻点为一个一阶鞍点和一个极小

点。也可以使用原始坐标组合的正交坐标系,例如跟踪仅 x+y

和仅 x-y 方向上梯度不为 0的两条路径。

[图 10]x 3+y^3-6xy面上约化梯度路径示意图

跟踪 约 化 梯 度 的 步 进 算 法 是 第 m 点的 坐 标

x(m+1)=x(m)+StL*x'(m)/|x'(m)|。StL是步长,x'(m)/|x'(m)|代表路

径切线方向单位向量。 x'可以通过 H'x'=0 方程以 QR分解法获

得,其中 H'与 Hessian矩阵唯一不同的是,若当前跟踪的是仅

第 k维梯度不为 0的约化梯度路径,则 H'没有 Hessian 矩阵的

第 k行。一般起始步由某驻点开始,此步准确计算 Hessian,步

进过程中 Hessian可用前述的 DFP方法修正。每步检验所跟踪

方向上的朝向下一个驻点的牛顿步步长,若小于标准则停止,

并且再精确计算一次 Hessian以确认此驻点是什么类型。每次走

步的结果如果在数值上与“仅某维度上梯度为 0”条件符合较好,

可以动态增加步长,类似 AH法的置信半径概念,如果相差较

大,则调用校正步(后期方法将校正步合并入步进步,改善了

效率和稳定性)。

这个方法计算量也很大,而且也无法指定要搜索的驻点的类

型,所以不适合独立用作寻找过渡态。

2.3.6 等势面搜索法(Isopotenial Searching)

如果将反应物位置附近的势能面比做一个湖,这个方法可以

看作逐渐往湖里面灌水,由于过渡态能量比周围地方更低,所

以随着水位(势能)逐渐升高,水最先流出来的地方就是过渡

态。继续灌水,随着水位继续升高,还可以找到其它能量更高

的过渡态。

具体实现的方法是:首先最小化反应物的能量 E0,在反应

物位置附近设置一些测试点,可以随机也可以根据经验设定,

作为“水位”来检测是否已到达过渡态能量。然后设定目标能量

E(target),一般高于 E0 几百 KJ/mol。计算那些测试点的能量和

势能梯度,检查其能量与 E(target)的差的绝对值,若大于

10KJ/mol,即没达到目标水位,就让它们沿着梯度方向行进以

提升能量,之后再次检查是否符合条件,直到小于 10KJ/mol,

即已到达目标水位,就对这些点进行人工的检查,包括结构、

成键分析等,考察在 E(target)时是否已经达到或超过了过渡态

的能量。如果找到了过渡态,就调整这些点的位置继续找别的

过渡态;如果未找到,就提高 E(target)并且调测试点整位置以

增大找到过渡态的概率,然后再沿着梯度方向提升测试点的能

量并进行接下来的检测,反复如此。

上述提到的“调整点的位置”有很多算法,但主要都是使那些

测试点在垂直于梯度,即在等值面上移动。因为测试点无法密

集覆盖整个等势面,受计算能力制约其数目有限的,很难有哪

个点随着 E(target)的提升而移动后恰好落在过渡态的位置。直

到 E(target)提升到有测试点可判断为过渡态时,其能量一般已

高出实际过渡态很多。所以使用此方法得到的过渡态能量与初

始点位置和调整点位置的算法都有很大关系,一般都显著偏高,

甚至不能找到过渡态,可尝试以不同初始位置和调整算法重新

执行以改善结果。等势面搜索法适合在只有反应物结构而难以

预测过渡态和产物结构的情况下寻找过渡态,例如预测质谱中

分子的可能裂解的方式,有时还可能找到全新未曾考虑到的反

应机理。但是此方法的结果很粗糙,而且计算量极大,尤其是

大分子的高维势能面,有限的测试点很容易漏掉许多重要过渡

态。

70

Page 82: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

2.3.7 球形优化(Sphere optimization)

在几何参数的变量空间上,以反应物或产物为中心,在不断

增加半径的超球面上做能量最小化。将相邻球面上得到的能量

极小点相连接,就得到一条由反应物或产物为起点的低能量的

路径,可做为 IRC(未必正确,考虑图 8的势能面),并由此找

到过渡态。如果每个球面上可以找到多个极小点,则连接后有

可能得到多条反应路径。此法若以坐标驱动法为类比,此方法

就是对几何参数空间中反应物或产物结构代表的点的距离进行

柔性扫描。

[图 11]球形优化示意图

2.42.42.42.4 全势能面扫描全势能面扫描全势能面扫描全势能面扫描

当一切方法都不能找到过渡态,全势能面扫描是最终途径。

由于扫描得到的势能面格点是离散的,可通过插值提高格点密

度以增加精度。得到势能面后,就可以通过一些算法找到过渡

态,例如用这些点拟合出解析表达式,然后用标准微分方法找

过渡态。但全势能面扫描极为昂贵,内坐标下需要计算 X^(3N-6)

次(X 代表每个变量扫描步数),只限于反应中仅涉及几个自由

度的势能面扫描,往往不得不考虑更低级的方法如半经验或者

分子力学,变量稍多的体系则完全不能实现。全势能面扫描的

结果还提供了过渡态位置以外结构的信息,例如可以用于研究

反应路径、用于构象搜索等。

3.3.3.3.过渡态相关问题

3.13.13.13.1 无过渡态的反应途径无过渡态的反应途径无过渡态的反应途径无过渡态的反应途径

并非所有反应途径都需要越过势垒,这类反应在很低的温度

下就能发生,盲目找它们的过渡态是徒劳的。常见的包括自由

基结合,比如甲基自由基结合为乙烷;自由基向烯烃加成,比

如甲基自由基向乙烯加成成为丙基自由基;气相离子向中性分

子加成,比如叔碳阳离子向丙烯加成。等等。

3.23.23.23.2 Hammond-LefflerHammond-LefflerHammond-LefflerHammond-Leffler假设假设假设假设

过渡态在结构上一般会偏向反应物或者产物结构一边。

Hammond-Leffler 假设对预测过渡态结构往哪个方向偏是很有

用的,意思是反应过程中,如果两个结构的能量差异不大,则

它们的构型差异也不大。由此可知对于放热反应,因为过渡态

能量与反应物差异小,与产物差异大,故过渡态结构更偏向反

应物,相反,吸热反应的过渡态结构更偏向产物。所以初猜过

渡态结构应考虑这一问题。

3.3.3.3.3333 对称性问题对称性问题对称性问题对称性问题

如果已经明确地知道过渡态是什么对称性,而且对称性高于

平衡态对称性,且可以确信在这个高对称性下过渡态是能量最

低点,则可以强行限制到这个对称性之后进行几何优化,几何

优化算法比寻找过渡态算法方法更可靠。比如 F+CH3F--

>FCH3+F 这个 SN2反应,过渡态就是伞形翻转的一刻,恰为高

对称性的 D3h点群,而反应路径上的其它结构对称性都比它低,

所以在 D3h点群条件下优化,得到的能量最低点就是过渡态。

如果过渡态对称性不确定,则找过渡态计算的时候不宜设任

何对称性,否则若默认保持了平衡态下的对称性,得到的此对

称下的过渡态并不是真正的过渡态,容易得到二阶或高阶鞍点。

3.3.3.3.4444 溶剂效应溶剂效应溶剂效应溶剂效应

计算凝聚态条件下过渡态的性质,必须考虑溶剂效应,它明

显改变了势能面。一般对过渡态的结构影响较小,但对能量影

响很大。有时溶剂效应也会改变反应途径,或产生气相条件下

没有的势垒。溶剂条件下,上述寻找过渡态的方法依然适用。

应注意涉及到与溶剂产生氢键等强相互作用的情况,隐式溶剂

模型是不适合的,需要用显式溶剂考察它对过渡态的影响,即

在输入文件中明确表达出溶剂分子。

3.3.3.3.5555 计算过渡态的建议流程计算过渡态的建议流程计算过渡态的建议流程计算过渡态的建议流程

直接用高水平方法计算过渡态往往比较花时间,可以使用逐

渐提高方法等级的方法加速这一过程,一般建议是:

1 执行低水平的计算找过渡态,如半经验。

2 将第 1步得到的过渡态作为初猜,用高级别的方法找过渡

态。

3 在相同水平下对上一步找到的过渡态做振动分析,检验是

否仅有一个虚频,以及观看其振动模式的动画来考察振动方向

是否连接反应物与产物结构。有必要时可以做 IRC进一步检验。

4 为获得更精确的过渡态能量,可使用更高等级方法比如含

电子相关的方法计算能量。

4.4.4.4.内禀反应坐标(intrinsic(intrinsic(intrinsic(intrinsic reactionreactionreactionreaction coordinate,IRC)coordinate,IRC)coordinate,IRC)coordinate,IRC)

MEP 指的是势能面上,由一个点到达另一个点的能量最低

的路径,满足最小作用原理。若质量权重坐标下的MEP 连接的

是反应物、过渡结构和产物,则称为 IRC。所谓质权坐标在笛

卡儿坐标下即 r(i,x)=sqrt(m(i))*R(i,x),m(i)为 i原子质量,R(i,x)

为 i原子原始 x方向坐标,同样有 r(i,y)、r(i,z)。IRC描述了原

子核运动速度为无限小时,质权坐标下由过渡态沿着势能负梯

度方向行进的路径(最陡下降路径),其中每一点的负梯度方向

就是此处核的运动方向,在垂直于路径方向上是能量极小点。

注意质量权重和非权重坐标下的路径是不一样的。

IRC可看作 0K 时的实际在化学反应中原子核所走的路径,

温度较低时 IRC也是一个很好的近似。但是当温度较高,即核

71

Page 83: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

动能较大时,实际反应路径将明显偏离 IRC,而趋于沿最短路

径变化,即便经历的是势能面上能量较高的的路径,这时就需

要以动力学计算的平均轨迹来表征反应路径。

5.IRC5.IRC5.IRC5.IRC 算法

5.15.15.15.1 最陡下降法最陡下降法最陡下降法最陡下降法(Steepest(Steepest(Steepest(Steepest descent)descent)descent)descent)

最简单的获得 IRC的方法就是固定步长的最陡下降法,由过

渡态位置开始,每步沿着当前梯度方向行进一定距离直到反应

物/产物位置,也称 Euler 法。由于最陡下降法及下文的 IMK、

GS等方法第一步需要梯度,而过渡态位置梯度为 0,所以第一

步移动的方向沿着虚频方向。最陡下降方法与 IRC的本质相符,

但是此法实际得到的路径是一条在真实 IRC附近反复震荡的曲

折路径,而非应有的平滑路径,对 IRC描述不够精确。虽然可

以通过更小的步长得以一定程度的解决,但是太花时间,对于

复杂的反应机理,需要更多的点。也可以通过 RK4(四阶 Runga-

Kutta)来走步,比上面的方法更稳定、准确,但每步要需要算四

个梯度,比较费时。

5.25.25.25.2 IMKIMKIMKIMK方法方法方法方法(Ishida-Morokuma-Kormornicki)(Ishida-Morokuma-Kormornicki)(Ishida-Morokuma-Kormornicki)(Ishida-Morokuma-Kormornicki)

它是最陡下降法的改进,解决其震荡问题。首先计算起始点

X(k)的梯度 g(k),获得辅助点 X'(k+1)=X(k)-g(k)*s,其中 s 为可

调参数。然后计算此点梯度 g'(k+1),在 g(k)与-g'(k+1)方向的平

分线上(红线所示)进行线搜索,所得能量最小点即为 X(k+1),

之后再将 X(k+1)作为上述步骤的 X(k)重复进行。整个过程类似

先做最陡下降法,然后做校正。此方法仍然需要相对较小的步

长,获得较精确 IRC所需计算的点数较多。

[图 12]IMK方法示意图

Schmidt,Gordon,Dupuis改进了 IMK的三个细节,使之更

有效率、更稳定。 (1)将 X'(k+1)的确定方式改为了 X(k)-

g(k)/|g(k)|*s,即每一步在负梯度方向上行进固定的 s 距离,与

梯度大小不再有关。(2)线搜索步只需在平分线上额外计算一个

点的能量即可,这个点和 X'(k+1)点的能量以及 g'(k+1)在此平分

线上的投影三个条件作联立方程即可解出曲线方程,减少了计

算量。IMK原始方法则需要在平分线上额外计算两个点的能量

与 X'(k+1)的能量一起拟和曲线方程。(3)第一步在过渡态位置的

移动距离Δq如此确定:ΔE=k*(Δq^2)/2,k为虚频对应的力常数,

ΔE为降低能量的期望值(一般为 0.0005 hartree),这样可避免

在虚频很大的鞍点处第一步位移使能量降低过多。

5.35.35.35.3 MMMMüüüüller-Brownller-Brownller-Brownller-Brown方法方法方法方法

这是通过球形限制性优化找 IRC的方法。首先将过渡态和能

量极小点位置定义为 P1和 P2,由P1开始步进,当前步结构以

Q(n)表示。每一步,在相距Q(n)为 r距离的超球面上用 simplex

法优化获得能量极小点 Q'(图中绿点),优化的起始点是 Q(n-

1)Q(n)与Q(n)P2方向的平分线 b上距 Q(n)为 r距离的位置 S(红

点)。若 Q(n)Q'与 Q(n)P2的夹角较小,则 Q'可当作是下一步位

置 Q(n+1)。如此反复,直到符合停止标准,比如下一步能量比

当前更高(已走过头了)、与P2距离已很近(如小于 1.2r)、或

者与 P2 方向偏离太大(P1与 P2点通过此法无法找到 IRC)。

最终所得到全部结构点依次相连即为近似的 IRC,减小步长 r

值可使结果更贴近实际 IRC。基于此方法也可以用于寻找过渡

态,先将反应物和产物作为 P1和 P2,将二者距离的约 2/3作为

r,由其中一点在 P1-P2连线上相距其 r位置为初始位置进行球

形优化得到 O 点,在O 与 P1、O 与 P2上也如此获得 P1'与 P2',

根据 P1、P1'、O、P2'、P2的能量及之间距离信息以一定规则

确定其中哪两个点作为下一步的 P1和 P2,确定新的 P1和 P2

后重复上述步骤,直至 P1与 P2十分接近,即是过渡态。此方

法计算 IRC可以步长可设得稍大,第一步不需要费时的 Hessian

矩阵确定移动方向,缺点是获得的路径曲率容易有问题,对于

曲率较大的反应路径需要减小步长。

[图 13]Müller-Brown 方法示意图

5.45.45.45.4 GS(Gonzalez-Schlegel)GS(Gonzalez-Schlegel)GS(Gonzalez-Schlegel)GS(Gonzalez-Schlegel)方法方法方法方法

这是目前很常用,也是 Gaussian使用的方法,见图 14。首

先计算起始点 X(k)的梯度,沿其负方向行进 s/2 距离得到

X'(k+1)点作为辅助点。在距X'(k+1)点距离为 s/2的超球面上做

限制性能量最小化,找到下一个点 X(k+1)。因为这个点的负梯

度(黑色箭头)在弧方向上分量为 0,故垂直于弧,即其梯度

方向在 X'(k+1)到 X(k+1)的直线上。这必然可以得到一段用于描

72

Page 84: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

述 IRC的圆弧(虚线),它通过 X(k)与 X(K+1)点,且在此二点

处圆弧的切线等于它们的梯度方向,这与 IRC的特点一致,这

段圆弧可以较好地(实线)。之后再将 X(k+1)作为上述步骤的

X(k)重复进行。

GS方法对 IRC描述得比较精确,在研究反应过程等问题中,

由于对中间体结构精度有要求,GS是很好的选择,而且用大步

长可以得到与小步长相近的结果,优于 IMK、Müller-Brown等

方法。若只想得到与过渡态相连的反应物和产物结构,或者粗

略验证预期的反应路径,对 IRC精度要求不高,使用最陡下降

法往往效率更高,尽管 GS 可以用更大步长,但每步更花时间。

[图 14]GS 方法示意图

除上述外,IRC也可以通过已提及的 EF、最缓上升法、球

形优化等方法得到,它们的好处是不需要事先知道过渡态的结

构。赝坐标法除了简单的反应以外,只能得到近似的 IRC,由

于结构的较小偏差会带来能量的较大变化,容易引入滞后效应,

所以这样得到的势能曲线难以说明问题。

6.6.6.6. chain-of-stateschain-of-stateschain-of-stateschain-of-states方法

这类方法主要好处是只需要提供反应物和产物结构就能得

到准确的反应路径和过渡态。首先在二者结构之间以类似 LST

的方式线性、均匀地插入一批新的结构(使用内坐标更为适宜),

一般为 5~40个,每个结构就是势能面上的一个点(称为 image),

并将相邻的点以某种势函数相连,这样它们在势能面上就如同

组成了一条链子。对这些点在某些限制条件下优化后,在势能

面上的分布描述的就是MEP,能量最高的结构就是近似的过渡

态位置。

6.16.16.16.1 DragDragDragDrag methodmethodmethodmethod方法方法方法方法

这个方法最简单,并不是严格的 chain-of-states 方法,因为

每个结构点是独立的。插入的结构所代表的点均匀分布在图 8

所示的短虚线上,也可以在过渡态附近位置增加点的密度。每

个点都在垂直于短虚线的超平面上优化,在图中就是指平行于

长虚线方向优化。这种方法一般是奏效的,但也很容易失效,

图 8就是一例,优化后点的分布近似于从产物和反应物用最缓

上升法得到的路径(黑色粗曲线),不仅反应路径错误,而且两

段不连接,与黑色小点所示的真实MEP相距甚远(黑色点是用

下文的 NEB方法得到的)。目前基本不使用此方法。

6.26.26.26.2 PEBPEBPEBPEB方法方法方法方法(plain(plain(plain(plain elasticelasticelasticelastic band)band)band)band)

这是下述 Chain-of-state方法的基本形式。也是在反应物到产

物之间插入一系列结构,共插入 P-1个,反应物编号为 0,产编

号物为 P。不同的是优化不是对每个点孤立地优化,而是优化

一个函数,每一步所有点一起运动。下文用∑[i=1,P]X(i)符号代

表由 X(1)开始加和 直到 X(P)。 PEB 函数是这 样的:

S(R(1),R(2)...R(P-1))=∑[i=1,P-1]V(R(i)) + ∑[i=1,P]( k/2*(R(i)-

R(i-1))^2 )。其中 R(i)代表第 i个点的势能面上的坐标,V(R(i))

是 R(i)点的能量,k代表力常数。优化过程中反应物 R(0)和产

物 R(P)结构保持不变,优化此函数相当于对一个 N*(P-2)个原子

的整体进行优化,N 为体系原子数。

优化过程中,式中的第一项目的是让每个点尽量向着能量极

小的位置移动。第二项相当于将相邻点之间用自然长度为 0、

力常数为 k的弹簧势连了起来,目的是保持优化中相邻点之间

距离均衡,避免过大。当只有第一项的时候,函数优化后结构

点都会跑到作为能量极小点的反应物和产物位置上去而无法描

述MEP,这时必然会有一对儿相邻结构点距离很大。当第二项

出现后,由于此种情况下弹簧势能很高,在优化中不可能出现,

从而避免了这个问题。 drag method法在图 8 中失败的例子中,

也有一对儿相邻结构点距离太远,所以也不会在 PEB方法中出

现。简单来说,PEB方法就是保持相邻结构点的间距尽量小的

情况下,优化每个结构点位置。可以近似比喻成在势能面的模

型上,将一串以弹簧相连的珠子,一边挂在反应物位置,另一

边挂在产物位置,拉直之后松手,这串珠子受重力作用在模型

上滚动,停下来后其形状可当作MEP,最高的位置近似为过渡

态。

但是 PEB方法的结果并不能很好描述MEP。图 15描述的是

常见的 A、B、C三原子反应的 LEPS 势能面,B可与 A 或 C

成键,黑色弧线为 NEB 方法得到的较真实的 MEP。左图中,

在过渡态附近 PEB的结构点没有贴近MEP,得到的过渡态能量

过高,称为 corner-cutting问题。这是因为每点间的弹簧势使这

串珠子僵硬、不易弯曲,由图15右图可见,R(i)朝 R(i-1)与 R(i+1)

方向都会受到弹簧拉力,其合力牵引 R(i),使 R(i-1)、R(i)、R(i+1)

的弧度有减小趋势。如果将弹簧力常数减小以减弱其效果,就

会出现图 15中间的情况,虽然结构点贴近了 MEP,但相邻点

间距没有得到保持,过渡态附近解析度很低,错过了真实过渡

态,若以能量最高点作为过渡态则能量偏低,这称为 sliding-

down问题。可见弹簧力常数 k的设定对 PEB结果有很大影响,

为权衡这两个问题只能取折中的 k,但结果仍不准确。

73

Page 85: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

[图 15]LEPS 势能面上不同 k值的 PEB结果

6.36.36.36.3 Elber-KarplusElber-KarplusElber-KarplusElber-Karplus方法方法方法方法

与 PEB 函数定义相似。第一项定义为 1/L*∑[i=1,P-

1]( V(R(i))*d(i,i-1) ),其中 L 为链子由 0 点到 P-1点的总长,

d(i,i+1)为 R(i)与 R(i+1)的距离,此项可视为所有插入点总能量

除以点数,即插入点的平均能量。第二项为 γ*∑[i=1,P](d(i,i-1)-

<d>)^2,其中<d>代表相邻点的平均距离,是所有 d(i,j)的 RMS。

此项相当于将弹簧自然长度设为了当前各个弹簧长度的平均

值,由γ参数控制 d(i,j)在平均值上下允许的波动的范围。此方法

最初被用于研究蛋白质体系的构象变化。

6.46.46.46.4 SPWSPWSPWSPW方法方法方法方法(Self-Penalty(Self-Penalty(Self-Penalty(Self-PenaltyWalk)Walk)Walk)Walk)

在 Elber-Karplus 方法的基础上增加了第三项互斥项,

∑[i=0,P-1]∑[i=j+1,P-1]U(ij),其中 U(ij)=ρ*exp(-d(i,j)/(λ*<d>)),

<d>定义同上。此项相当于全部点之间的 “非键作用能 U(ij)”之

和,不再仅仅是相邻点之间才有限制势。任何点之间靠近都会

造成能量升高,可以避免 Elber-Karplus 方法中出现的在能量极

小点处结构点聚集、路径自身交错的问题,能够使路径充分地

展开,确保过渡态区域有充足的采样点。式中ρ和λ都是可调参

数来设定权重。此外相对与 Elber-Karplus 方法还考虑了笛卡儿

坐标下投影掉整体运动的问题。

6.56.56.56.5 LUPLUPLUPLUP方法方法方法方法(Locally(Locally(Locally(Locally UpdatedUpdatedUpdatedUpdated planes)planes)planes)planes)

特点是优化过程中,只允许每个结构点 R(i)在垂直于 R(i-

1)R(i+1)向量的超平面上运动。由于每步优化后 R(i-1)与 R(i+1)

连线方向也会变化,故每隔一定步数重新计算这些向量,重新

确定每个点允许移动的超平面。但是LUP 缺点是结构点之间没

有以上述弹簧势函数相连来保持间隔,容易造成结构点在路径

上分布不均匀,甚至不连续,还可能逐渐收敛至两端的极小点。

6.66.66.66.6 NEBNEBNEBNEB方法方法方法方法(Nudged(Nudged(Nudged(NudgedElasticElasticElasticElastic Band)Band)Band)Band)

NEB方法集合了 LUP与 PEB方法的优点,其函数形式基于

PEB。从 PEB方法的讨论可以看出,弹簧势是必须的,它平行

于路径切线(R(i)-R(i-1)与 R(i+1)-R(i)矢量和的方向)的分量保

证结构点均匀分布在MEP 上来描述它;但其垂直于路径的分量

造成的弊端也很明显,它改变了这个方向的实际的势能面,优

化后得到的 MEP'就与真实的 MEP 发生了偏差,造成 corner-

cutting问题。解决这个问题很简单,在NEB中称为 nudge过程,

即每个点在平行于路径切线上的受力只等于弹簧力在这个方向

分量,每个点在垂直于路径切线方向的受力只等于势能力在此

方向上分量。这样弹簧力垂直于路径的分量就被投影掉了,而

有用的平行于路径的分量完全保留;势能力在路径方向上的分

量也不会再对结构点分布的均匀性产生影响,被保留的它在垂

直于路径上的分量将会引导结构点地正确移动。这样优化收敛

后结构点就能正确描述真实的MEP,矛盾得到解决。弹簧力常

数的设定也比较随意,不会再对结果产生明显影响。但是当平

行于路径方向能量变化较快,垂直方向回复力较小的情况,NEB

得到的路径容易出现曲折,收敛也较慢,解决这一问题可以引

入开关函数,即某点与两个相邻点之间形成的夹角越小,此点

就引入更多的弹簧势垂直于路径的分量,使路径不易弯曲而变

得光滑,但也会带来一定 corner-cutting问题。也可以通过将路

径切线定义为每个点指向能量更高的相邻点的方向来解决。

6.76.76.76.7 DNEBDNEBDNEBDNEB方法方法方法方法(Double(Double(Double(Double NudgedNudgedNudgedNudgedElasticElasticElasticElasticBand)Band)Band)Band)

弹簧势垂直于路径的分量坏处是造成 corner-cutting问题,好

处是避免路径卷曲。更具体来说,前者是由于它平行于势能梯

度方向的那个分量造成的,若只将这个分量投影掉,就可避免

corner-cutting问题,而其余分量的力 F(DNEB)仍可以避免路径

卷曲,这便是 DNEB的主要思想。故 DNEB与 NEB 的不同点

就是 DNEB保留了弹簧势垂直于路径的分量其中的垂直于势能

梯度的分量。

DNEB的这个设定却导致结构点不能精确收敛到 MEP 上。

正确的MEP 上的点在垂直于路径方向上受势能力一定为 0,但

是当用了 DNEB方法后,若其中某一点处路径是弯曲的,即弹

簧力在垂直于路径方向上有分量 F',而且此点势能梯度方向不

垂直于此点处路径的切线,即 F'不会被完全投影掉,F'力的分

量 F(DNEB)将继续带着这个点移动,也就是说结构点就不在正

确的MEP 上了。只有当结构点所处路径恰为直线,即F'为 0则

不会有此问题。为了解决此问题有人将开关函数加入到 DNEB,

74

Page 86: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

称为 swDNEB,当结果越接近收敛,即垂直于路径的势能力越

小的时候,F(DNEB)也越小,以免它使结构点偏离正确 MEP。

一些研究表明 DNEB和 swDNEB相比 NEB在收敛性(结构点

受力最大值随步数降低速度)方面并没有明显提升,DNEB难

以收敛到较高精度以内,容易一直震荡。

6.86.86.86.8 StringStringStringString方法方法方法方法

与 NEB对力的投影定义一致,但点之间没有弹簧势连接,

保持点的间距的方法是每步优化后使这些点在路径上平均分

布。

6.96.96.96.9 SimplifiedSimplifiedSimplifiedSimplifiedStringStringStringString方法方法方法方法

String中计算每个点的切线并投影掉势能力平行于路径的分

量的过程也去掉了,所有点之间用三次样条插值来表述路径,

每一个点根据实际势能力运动后,在路径上重新均匀分布。优

化方法最好结合 RK4 方法。 NEB 在点数较小的情况下比

Simplified String方法能在更短时间内收敛到更高精度,但点数

较多情况下则 Simplified String更占优势。

6.106.106.106.10 寻找过渡态的 chain-of-statechain-of-statechain-of-statechain-of-state方法方法方法方法

除非势能面对称且结构点数目为奇数,否则不会有结构点恰

好落在过渡态。以能量最高的点作为过渡态只是近似的,为了

更好地描述过渡态,可以增加结构点数,或者增加局部弹簧力

常数,使过渡态附近点更密。根据已得到的点的能量,通过插

值方法估算能量最高点是另一个办法。近似的过渡态也可以作

为 QN法的初猜寻找准确的过渡态。

6.10.1 CI-NEB方法

NEB与 String等方法都可以结合 Climbing Image方法,它专

门考虑到了定位过渡态问题。CI-NEB与 NEB的关键区别是能

量最高的点受力的定义,在 CI-NEB中这个点不会受到相邻点

的弹簧力,避免位置被拉离过渡态,而且将此点平行于路径方

向的势能力分量的符号反转,促使此点沿着路径往能量升高的

方向上爬到过渡态。这个方法只需要很少的点,比如包含初、

末态总共 5个甚至 3个点就能准确定位过渡态,是最有效率的

寻找过渡态的方法之一。如果还需要精确描述MEP,可以在此

过渡态上使用 Stepwise descent方法、最陡下降法、RK4等方法

沿势能面下坡走出 MEP,整个过程比直接使用很多点的 NEB

方法能在更短时间内得到更准确的MEP。

6.10.2ANEBA方法(adaptive nudged elastic band approach)

这个方法也是基于 NEB,专用来快速寻找过渡态。一般想得

到高精度的过渡态区域,NEB的链子上必须包含很多点,耗费

计算时间。而 ANEBA 方法中链子两端的位置不是固定的,而

是不断地将它们移动到离过渡态更近的位置,仅用很少几个点

的链子就可以达到同样的精度。具体来说,设链子两端的点分

别叫 A 点和 B点(对于第一步就是反应物和产物位置),先照

常做 NEB,收敛至一定精度后(不需要精度太高),改变A 和B

的位置为链子中能量最高点相邻的两个点,然后再优化并收敛

至一定精度,再如此改变 A和 B的位置,反复经历这一步骤,

最终链子上能量最高点就是精确的过渡态。ANEBA相当于不

断增加原先 NEB链子的过渡态附近的点数,但实际上点数没有

变。有研究表明ANEBA比CI-NEB效率更高,如果结合 ANEBA

与 CI(称 CI-ANEBA),即先用 ANEBA 方法经上述步骤移动

几次 A、B点,使之聚焦到过渡态附近,再用 CI-NEB方法,

效率可以进一步提高。

6.116.116.116.11 chain-of-stateschain-of-stateschain-of-stateschain-of-states方法的一些特点方法的一些特点方法的一些特点方法的一些特点

NEB方法的设定只是决定了每一步结构点实际感受到的势

能面是怎么构成的,并没有指定优化方法。NEB可以结合一些

常见的优化方法,比如最陡下降法、共轭梯度法、quick-min、

FIRE、L-BFGS 法等(没有线搜索步的全局 L-BFGS 法效率一

般最高),但只能像前述寻找 IRC方法一样得到一条路径。实际

上很多情况反应的路径不止一条,尤其是势能面复杂的大分子

构象转变过程。当 NEB结合构象搜索方法,比如分子动力学、

蒙特卡罗等方法时,就可以用于寻找多条反应路径。例如有几

条反应路径,彼此间都有一定高度的势垒分隔,如果初始给出

的路径在第 i条附近,优化后只能收敛到第 i条路径,若对每个

点使用分子动力学方法,设定一定温度,则这些点有机会凭借

动能越过势垒到达另外一条路径 k附近,随后逐渐降温减小动

能,相当于对它们进行最陡下降法优化,就找到了第 k条路径,

若如此反复多次,有可能找到更多路径。

这类 chain-of-states方法的优点还在于易于实现,算法简单,

只有能量和其一阶导数是必须要算的,随着体系尺度增大计算

量的增加远比基于 Hessian矩阵的方法要小。对于大体系储存

Hessian并求逆亦是困难的,在某些情况下 Hessian矩阵受计算

能力制约只能在低水平方法下得到或者无法获得, chain-of-

states 方法避免了这个问题,很适合用于分子力学研究生物大分

子的结构变化路径以及平面波基组下的DFT方法研究固体表面

化学反应。此方法也容易并行化,例如可以每个节点负责优化

其中一个或几个点,只有计算弹簧力时才需要从另外节点传入

相邻结构点坐标,数据通信量小,并行效率高。

6.126.126.126.12 高斯中高斯中高斯中高斯中optoptoptopt 关键字的关键字的关键字的关键字的path=Mpath=Mpath=Mpath=M方法方法方法方法

与 chain-of-states 方法有一定类似之处,可以在一次计算中

获得优化后的过渡态、产物、反应物以及用于描述 IRC的中间

点结构,总共 M 个点。此方法须结合 QST2或 QST3关键字。

结合 QST2时,除反应物和产物以外剩下的M-2个点在二者冗

余内坐标下线性插值产生,结合 QST3则是剩下的M-3个点在

反应物与过渡态、过渡态与产物之间插值产生。之后迭代的每

一步主要分为以下几个步骤:(1)初始输入的反应物、产物通过

75

Page 87: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

[图 16]ANEBA方法示意图

[图 17]CPK方法示意图

RFO法向最优构型优化。(2)能量最高的点 q(k)(此点在第一步

确定)通过EF 法向过渡态优化,并设一段圆弧通过 q(k-1)、q(k)、

q(k+1),此圆弧在 q(i)处的切线作为 EF 方法选择所跟踪的本征

向量的引导,类似于 STQN步。(3)其余的点执行微迭代步骤(迭

代内的迭代),其中包含类似于 GS法的球面优化步骤以及调整

间距步骤。可参考图 14,优化其中任意点 q(i)前,首先获得经

过 q(i-1)、q(i)并与 q(i-1)的梯度相切的圆弧或曲线,将其在 q(i)

处的切线定义为 T(i),然后定义一个在 q(i)处法线与 T(i)平行、

经过 q(i-1)与 q(i)的球面,使 q(i)限制在此球面上优化。然后在

这些点依次相连的路径上调整这些点的间距至平均,之后重复

微迭代直至每一步力和位移都已收敛,或者有任何点位移超过

了置信半径。(4)检查力和位移是否都已收敛至标准。这个方法

76

Page 88: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Calculation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

比单独优化反应物、产物、过渡态并计算 IRC省时间,而且对

于难找的过渡态比 STQN法更容易成功。

6.136.136.136.13 CPKCPKCPKCPK方法方法方法方法(Conjugate(Conjugate(Conjugate(Conjugate PeakPeakPeakPeakRefinement)Refinement)Refinement)Refinement)

在某种意义上称为动态的 chain-of-states 方法。每条链子只

含一个可动点,链子数由最初的一条开始不断增加,对MEP 的

描述也越来越精确。CPK中的第一步类似 LST,在连接反应物

和产物的直线中找到能量最高点(称为 Peak),然后沿着共轭

方向优化得到中间点,对中间点与反应物、中间点与产物分别

再做上述步骤,先找到最大点再共轭优化,如此反复直到收敛。

最后将反应物、产物以及执行 CPK 过程中所有优化后的点相

连,就得到了近似的反应路径。CPK方法所得的反应路径可以

经过很多过渡态,很适合寻找一些涉及到复杂结构重排、包含

甚至上百个过渡态的构象变化路径,如蛋白质局部折叠/去折叠

过程。CPK方法缺点是实现起来相对复杂,定位过渡态较为费

时。

77

Page 89: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Artical

谈谈原子轨道朝向引起的量化计算结果与经验观念的差异

soberevasoberevasoberevasobereva

我曾在《谈谈5d-6d型 d轨道波函数与它们在高斯中的标

识》一文中讨论到量化程序中的原子轨道与实际中的原子轨道

的对应问题,即6d型笛卡尔 GTF函数是难以对应实际实际原子

轨道的,这是基函数本身形式的问题。导致对应问题的另一个

因素,就是分子的取向问题,它造成了分子轨道组成与常规化

学观念相冲突,比如π键。这个问题常常被忽视,很有必要在

此讨论一下。当然,还有其它因素导致对应问题,比如分裂价

基组等等,都给直观地讨论分子轨道的组成带来了很大困难。

(有人提出 AOIM 方法来解决这一困难)注:下文所说的 p轨道,虽然在量化计算中描述它用的函数形式与真实原子轨道波

函数是不同的,本质意义也不一样,但在极小基下,可以近似

地将二者画上等号。下文就假设两种情况下的差别仅在于本文

讨论的朝向问题。下文假设量化计算时的坐标系用的是笛卡尔

坐标,这样坐标轴确定,讨论起来方便。

首先考虑这样一个问题。乙烯有π键,一般看成是两个碳

原子的类型相同的 p轨道组成,比如都是 px,它们是垂直于分

子平面而平行于某坐标轴的。我们用高斯用极小基计算乙烯,

得到图1中上方的情况。这没什么问题,从组合系数中可以看到

的确由且仅由两个2px轨道组成。

如果我们将乙烯旋转一下,并且使用 nosymm关键字不让

高斯自动重新设置分子的朝向,结果会怎样?程序中的描述这

个 p轨道的基函数朝向也会随之改变么?如果不随之改变的

话,则 px轨道将不再垂直于分子平面,π键还能形成否?

如果原子轨道朝向会随分子旋转而改变,则 px/py/pz将不再平行于对应的坐标轴,则其函数形式也必须做变换,这是

件麻烦事。更重要的是,若量化程序中的原子轨道朝向不是固

定的话,也就是说 px/py/pz并非必须平行于对应坐标轴,那么

程序如何确定轨道的朝向?对于一个复杂的分子,程序怎么知

道每个原子上的原子轨道应该朝向哪个方向?难道也得通过变

分方法,改变原子轨道的朝向,使之达到能量最低么?例如图2的苯,究竟每个碳上的 pz轨道的朝向是 c、d还是 e情况,或

者其它情况?显然,如果程序中各种轨道朝向不是固定的话,

会带来上述很多问题。

实际上,量化程序中,原子轨道基函数的形式是不随输入

文件中分子的取向而改变的,也就是说由于坐标轴是固定的,

px/py/pz也一定平行于坐标轴(d、f、g轨道也如此),不管分

子怎么转它们的朝向都不会变。比如图 2所示,让 a 状态的氟

代乙烯分子在 YZ平面上旋转,pz轨道的朝向将不变,为 b情况,而不会成为 c情况。

我们再来看看将乙烯进行旋转后的高斯计算结果,如图 1下方所示。可以看到,π键照常形成,从图上看与原先没有任

何差异,分子轨道能量也与原先一致。然而,组合系数却发生

了很大变化,原先只有 px参与,现在 px、py、pz都有很大程

度的参与。这看起来很有趣,波函数组成看似不同,但结果完

全一致。这并非偶然,而是必然,下面就来分析一下其原因。

将分子旋转,可以看成是固定分子而旋转坐标轴,已经提

到,量化计算中原子轨道的朝向与坐标轴方向是“绑定”的,

所以也就等于旋转了原子轨道的朝向,将旋转后得到的新朝向

的三个 p轨道叫做 px'、py'、pz',原先的朝向叫做 px、py、p z。则 px'可以写为 px、py、pz的线性组合,即 px'=a*px+b*py+c*p z,py'、py'亦如此,当然 px反过来也可以写为 px'、py'、pz'的线性

组合。实际情况中,分子轨道显然不只由 px、py、pz轨道展开,

可以进行推广,将旋转之前的基函数称为 a(i),i=1,2,3...;旋转后

的基函数称为 b(i),i=1,2,3...。也可以得到 b(i)与 a(i)的线性变换

关系,b(i)=∑[k]X(k,i)a(k)(这里∑[k]代表令 k=1,2,3...并将后面

含 k 的项加和,后同),X 就是变换矩阵,其矩阵元

X(k,i)=<a(k)|b(i)>,也就是 b(i)在 a(k)上的分量。

对于分子体系,各个原子上的基函数之间不正交,实际

量化计算中由于用的不是类氢原子轨道而一般是收缩型高斯轨

道,故单个原子相同类型的轨道,比如 2s 与 3s 也不正交。比

如在旋转前的 a 非正交基函数系下,求解正则 Hartree-Fock 方

程就是已知F和S求解方程FC=SCE中的C和E。其中 F为 Fock矩阵,它正是 Fock 算符 f 在 a 基函数系下的矩阵形式,

F(i,j)=<a(i)|f |a(j)>;S 为重叠矩阵,S(i,j)=<a(i)|a(j)>;E为本征值

矩阵,它是对角矩阵,对角元分别是每个分子轨道的能量;C

78

Page 90: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1为系数矩阵,C(i,j)为第 j个分子轨道Ψ(j)在 a(i)基函数上的展开

系数,可写成Ψ(j)=∑[i]C(i,j)a(i)。令 C=XC`,代入 FC=SCE得 FXC`=SXC`E,左右都乘上 X'

(后文都用 X'代表 X 的共轭矩阵,A(i,j)"代表 A(i,j)的共轭值),

得 X'FXC`=X'SXC`E。现在将 X'FX 进行转化:

(X'FX)(i,j)=∑ [k]X'(i,k)(FX)(k,j)= ∑ [k]X(k,i)"(FX)(k,j)=∑[k]X(k,i)"∑[l]F(k,l)X(l,j)=∑[k]∑[l]X(k,i)"X(l,j)<a(k)|f |a(l)>=<∑[k]X(k,i)a(k)|f |∑[l]X(l,j)a(l)>=<b(i)|f |b(j)>=F`(i,j)

即 X'FX=F`。将Fock算符看成数字 1,可以用同样方法转

化 X`SX 成为 S',S(i,j)=<b(i)|f |b(j)>。这样在基函数系 a下求解

FC=SCE就等价地转化为了求解 F`C`=S`C`E。从 F`、S`的表达

式可见,在旋转后基函数系 b下求正则 HF 方程,就恰恰就是

求 F`C`=S`C`E。所以旋转前后基函数虽变了,但求解正则 HF方程结果一模一样,E不变故能量不变,b基函数系下的 C`和 a下的基函数系 C等价,所以描述的波函数不变。可以检验,例

如 b 基函数系下解正则 HF 方程得到的 Ψ (j)可写为 ∑

[k]C`(k,j)b(k) , 令 b(k)= ∑ [l]X(l,k)a(l) , 得 ∑ [k] ∑

[l]C`(k,j)X(l,k)a(l)= ∑ [l](XC`)(l,j)a(l)= ∑ [l]C(l,j)a(l)= ∑

[k]C(k,j)a(k),这正是在 a 基函数系下解正则 HF方程得到的Ψ

(j)。显然与波函数相关的分子的属性也自然不会改变,比如轨

道的图形。所以只要两套基函数之间能够线性变换(但变换后

的基不能有线性依赖),结果就完全一样。量化计算中往往会将

基组变换为最好用的基组,比如用群论方法简化久期方程计算,

就是将原子轨道基函数线性组合成含有对称性信息的群轨道,

使 det(F-SE)行列式中很多要算的项直接化为 0成为块对角行列

式来简化求解。在实际求解 HF方程中,也会先用对称正交化

方法得出变换矩阵 X 使 X'SX=I,FC=SCE 就成为了 FC=CE,

即 C^(-1)FC=E,求解 C和 E的问题就成了方法成熟的求解本征

值和本征向量的问题。

这样我们就明白,旋转分子不会令能量、电子密度、分子

轨道等等改变,改变的只是量化程序输出的分子轨道向各个原

子轨道的展开系数。这就是说,量化程序中分子轨道如何由原

子轨道组成,在某种意义上有任意成分,因为分子呈什么朝向

完全是任意的,没有对错之分。这一点需要引起注意,例如有

些人会以为,分子中形成大π键能从分子轨道组合系数中看出,

一定几乎只由某几个原子的某种 xyz标识相同的 p轨道构成,

实际上这是大误。尽管往往程序根据对称性自动调整分子的朝

向,使得这个规律有时有效,比如对平面型分子,程序默认时

会自动令分子平面与 XY或 XZ或 YZ平面平行。

但即便允许程序自动调整分子朝向,这个规律也往往不

符。例如我们用极小基计算丙基苯,没有加 nosymm关键字,

允许程序自动调整分子位置和朝向。但是结果如图 3,自动设

的朝向苯环平面就是倾斜的,常理上本应该纯粹由 pz轨道组成

的两个π键,从算出来的分子轨道组合系数上看是同一个原子

上多个 p原子轨道混合的。所以光从组成系数上分析而不看分

子轨道图形,凭人的直觉很难得出很多重要结论的,仅因为从

分子轨道组合系数中看不出π键而对此体系乱下结论说不存在

π键是大错特错。这样的问题根源就是量化程序中根据坐标轴

固定了原子轨道朝向而带来的。还有人弄轨道成分分析程序,

讨论某某轨道由 px、py、pz等原子轨道分别贡献百分之多少,

其实若初学者没弄明白上述实质的话,是很容易得到错误结论

的,分子一旋转,轨道组成一下就变了,拿分子的某一种朝向

计算结果来解释不同 xyz标识的原子轨道在分子中的功用,结

果是没意义的。

但是并不是说从程序输出的分子轨道组合系数上不能获

得任何有用的信息。如果忽略重叠积分,我们可以用某个分子

轨道上的每个原子轨道的系数的平方来近似估计原子轨道的贡

献。旋转分子,也就是旋转了分子轨道与原子轨道的相对朝向,

虽会使它们的系数发生复杂的变化,但是每个原子上的原子轨

道的总贡献不会有太大变化。因为一个原子附近分子轨道波函

数绝对值比较大,说明肯定这个原子的原子轨道组合系数较大

(除非相邻原子基函数十分弥散),旋转之后分子轨道波函数在

这个原子附近分布仍然比较大,可看成只是分子轨道在此处形

状变了而已,必然此时这个原子的原子轨道组合系数还是较大。

另外也可以讨论某个原子上哪几类轨道贡献对分子轨道贡献较

大,比如讨论是 2p、是3p还是 3d或由几类轨道共同贡献等等,

旋转不会对它们的贡献的比例有太大影响,但是会对每一类当

中有不同 xyz 标识的轨道的贡献比例有着重大影响。所以我们

可以考察分子轨道主要由哪些原子的哪种主量子数的哪种角量

子数轨道贡献,但绝对不能说比如某分子轨道就是由某原子 px、py轨道贡献,或者仅在阐述计算数据时在不引起歧义的情况下

这么说,决不能把本来是任意的朝向问题带入到结果的理论分

析中。

我们有很多直觉性的化学键概念,这里最主要涉及的是π

键概念,说它是纯粹由 p轨肩并肩组成,是因为我们总是将构

成π键的原子轨道的朝向认为是垂直于相应部分的分子平面,

分子旋转一下,我们脑中的那个原子轨道的朝向也跟着转,以

保持它总是垂直于那个部分的分子平面。这显然和原子轨道朝

向“死板”的量子化学程序不符,人脑中的原子轨道朝向总是

尽可能地调节以符合化学意义。比如两个苯环由一个亚甲基相

连,必然苯环平面之间是倾斜的,我们往往会想象苯环 1上的

所有碳的 py轨道都垂直于苯环 1的平面,苯环 2上的所有碳的

py轨道都垂直于苯环 2的平面,在人脑中一个分子中甚至如此

地构成了多个局部的坐标系。但是量化程序不懂这一套迎合人

们化学直觉思维的表达方式,一刀切,为了方便,所有原子的py轨道必须平行于 y 轴,不管是什么分子。若程序经过内置算法

自动调整方向后,恰好使原子轨道的朝向相对于分子的朝向符

合人的习惯时,分子轨道组成系数看起来才舒服,此时π轨道

从组合系数上看才仅由某几个轨道构成。虽然前面已经提了,

原子轨道朝向不改变分子属性和波函数,但合适的朝向能方便

人们从分子轨道组合系数中分析轨道如何由原子轨道构成,那

程序何不加入这么个功能来讨好用户的直觉、迎合常规化学理

念呢?这实在太麻烦,意义也不大,没多少人关注这个小问题。

79

Page 91: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Artical

电子密度和密度差

zhou2009zhou2009zhou2009zhou2009前言:

ΔρΔρΔρΔρ是从ρρρρ相减而来的,那么ρρρρ的真实性又如何呢?它计算的绝对值是准确可以比较、可以相减的吗?是可以应用的吗?本文将通过对ΔρΔρΔρΔρ的讨论,来探究下

这个奇妙的问题。

1.1.1.1.电子密度

上篇帖子《关于电子密度差Δρ》中,讨论了Δρ的真实性问

题。Δρ是从ρ相减而来的,那么ρ的真实性又如何呢?它计算的

绝对值是准确可以比较、可以相减的吗?是可以应用的吗?

第一、我们知道,波(状态)函数和几率,是作为量子力

学第一个基本假设(公理)提出来的。

微观体系的任何状态可由坐标波函数Ψ(q,t)来表示Ψ(q,t)= Ψ(q1, q2,… qf, t)几率:dW(q,t)=Ψ*(q,t)Ψ(q,t)dτ归一性: W=∫Ψ*(q,t)Ψ(q,t)dτ=1几率密度:ρ(q,t)=Ψ*(q,t)Ψ(q,t)具体到量子化学,就有电子波函数Ψ和电子几率密度ρ。可见电子密度ρ是有来历的,它竞来自量子化学的根基。

当然,作为基本假设(公理),它是不能直接推导证明的,

它只能由进一步的大量实验实践来不断检验它的正确性、真实

性。迄今为止,所有的实验实践都证实这种假设是经得起检验

的。

第二、在G03中,电子波函数Ψ是正交归一的,电子几率

密度ρ乘以体积微元在全空间加和是归一的。

在 G03中,对电子波函数Ψ进行计算可以得到的空间格点

cube 文件,将Ψ的每一个格点值平方,就得到空间电子几率密

度ρ的空间格点 cube 文件。ρ是每一个空间格点处出现电子的几

率密度的数值。

对于一个单电子Ψ的ρ来说,可将它所在的空间划分成连续

的体积微元,每个体积微元都会有一个密度值,将这每个密度

值乘以它所在的体积微元,然后将它们在整个空间加和起来,

就得到电子数为一,即归一。其实,说Ψ归一的真正含义就是

指ρ的这个归一。如果是一个双占的MO的ρ,这样加和得到的

电子数为二,即归二。对于一个有电子数为 N 的分子或分子片,

这样加和得到的电子数为 N,即归 N。现在这种对电子密度ρ乘以体积微元在全空间加和的归一

或归 N 的计算,在GsGrid程序中已经是一种基本计算了。我们

一旦输入了ρ的 cube 文件,GsGrid就会自动进行这种计算,得

到归一或归 N 的结果。

在这里特别强调ρ乘以体积微元在全空间加和的归一或归

N,是为了说明分别计算的ρ,它们之间是可以比较的,是可以

作Δρ的。

第三、我们知道,电子作为微观粒子,是有波粒二象性的。

薛定谔方程中的波函数Ψ就是描写电子作为波的运动状态的。

玻恩提出ρ=Ψ*Ψ,ρ是在空间某一个体积微元发现电子的几率密

度。ρ=Ψ*Ψ天才地沟通了电子的波粒二象性:Ψ是波,ρ是粒子。

当然,现在似乎还没有人这么直呼ρ是粒子的。

从一开始,历来都只是说ρ是Ψ的物理意义。这个物理意

义似乎是在说一种物理物质的客观存在。实际上,我们既然承

认了波粒二象性,Ψ自己就是有物理意义,它就是电子以波的

形式存在(的描述)呀,电子波就是一种物理物质的客观存在。

我们什么时候需要特别指明光子是光波的物理意义?

对于波粒二象性,我们只是在初学量子力学基础时被动

地勉强接受了它,可怎么也想不通。具体进入量子化学,就再

也不提波粒二象性了,满眼只有波了,挂在口头上的波粒二象

性只是说给别人听的。就像 yalefiled 先生说的:“按照量子化

学原理,电子就是波。只是为了避免被不明真相的群众围殴,

才客气地把波粒二象性挂在嘴边”

事实也正是这样的,从量子化学看,所有的化学过程(如

化学反应)、化学存在(如各种化学键),都只是电子作为波的

作用,不是作为粒子的电子在作用(如不是电子云在那里作用),

这时它只表现出波这一方面。这就象光波一样。波是可以叠加、

互相干涉和衍射的。

作为粒子层面的电子云ρ,它只是电子波相互作用的结果,

然后被经验实验所感知的存在,人们在化学实验中直接感知的

总是电子的粒子层面,如物理有机历来都在那里总结电子结构、

各种电子效应客观存在的规律性。

而化学总是要回到经验实验的。量子化学怎样与经验实验

的化学结合呢?当然首先要从电子波动的层面研究化学,揭示

化学本质。其次还要注意走到电子的粒子层面,以便与物理有

机等这样的经验归纳有共同的语言。不要仅是把ρ看成是Ψ的物

理意义,然后又退回到Ψ城堡之中了,而是要把ρ看成是电子的

粒子层面。这就有必要从波函数Ψ跨出一步走向ρ,承认ρ、研

究ρ、应用ρ(如Δρ)。不要忽视ρ、排斥ρ。从理论层次的高度来说,演绎而下的量子化学怎样与归纳

而上的经验实验理论(如物理有机)相结合呢?ρ=Ψ*Ψ就是它

们的接口!

第四、从ρ自然就会想到电子云、想到电荷、净电荷。

我在前帖《关于分子中原子电负性与电荷》讨论过它们。

ρ从Ψ的平方而来,它也与Ψ一样,是量子化学得到的原始、

原生态数据,它本身是有来历、可信的。只是由于进一步人为

地处理、划分、归结不当,才造成净电荷之类的失误。这造成

人们对净电荷的不信任、不理会,从而也累及到ρ。

2.2.2.2.从分子片密度ρρρρ到它们组成分子后密度ρρρρ等值线的变化

在进入这个标题之前,需要指出的是:在 cube 或 cubegen计算中,默认 density=scf,即采用冻结核近似,不计算内层电

子,如 1s。如计算 F原子,总电荷数给出的是 8。只有在指明 fdensity=scf,才放弃冻结核近似,作包含全部

电子的计算。这时计算 F 原子,总电荷数给出的是 10。对于我们考察ρ乃至Δρ,考察化学性质,只是所谓价电子

在起作用、发生变化,内层电子常是没有什么变化的,不计算

内层电子并没有什么原则性影响。即使计算了,在作Δρ时也因

为ρ相减而将内层电子的数值抵消掉,只保留变化大的价层电

子。

80

Page 92: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

2.12.12.12.1从分子片密度ρρρρ到它们组成分子后密度ρρρρ,电子向键中间移

动时的等值线的变化

图一是把“H2 density”图改成红色,以示区别,重叠在“H-1D+H-2D”图上作成的,此即 “H-1D+H-2D+H2D”。可以看到 H2红线是怎样弥补了原子中间部分电子的相对稀缺,达到融合、

均衡时的等值线的移动变化,成键双方的电子往键中间、键轴

浓集了。

2.22.22.22.2从分子片密度ρρρρ到它们组成分子后密度ρρρρ,等值线另两种变

当等值线起始值进一步取小时,如取0.02,这样就会在 0.08之外,又多了 3条足以说明问题的线:0.02、0.04、0.06。见图

二。此次,为了观察方便, H-1没有作取小值的改变,并将将

H-2和 H2的 0.08更高的线在作图时略去了。

在图二 H-2的右边 0.08之外,H2的 0.02、0.04、0.06都向 H-2收缩移动了。表明此处电子在减少。而在图一 H-2的右

边 0.08之内,H2的 0.16、0.24 都向离开 H-2的方向扩展移动

了,还增加了一条 0.32。表明此处电子在增加。

总的说来,H2的电子向键中间移动了、收缩了,这样就

造成二 H 外围电子减少了,二H 上剩余的电子也收缩了。二H的电负性增强了,或说所在的能级下降了。

实际上,说了这么多,一幅 H2的Δρ(图三)就鲜明、痛

快地表达了电子的上述净变化!之所以说这么多,无非是想说

明Δρ是怎样由ρ相差而来的,表明了Δρ的可靠性、可信性。

2.2.2.2.3333基组对由ρρρρ到ΔρΔρΔρΔρ的影响

下面的图三,是使用 gaussian 03量子化学程序,采用 HF方法,6-311++G**基组计算出来的。

我们也许会想:对于H 形成 H2,不就是一个简单的 1s 轨道吗?何用如此大的基组?如果仅用 STO-3G 基组,作出的Δρ见图四。

对照图三、图四,它们是有显著差别的。图四最大的差别

莫过于二 H 上电子只有净减少,完全没有因为电子向键中间移

动引起外围电子减少、剩余电子向核方向收缩的合理信息,因

为只给了 1s 轨道,它无法作这种区分。6-311++G**基组用多个

主量子数的 s 轨道,充分描述了这种变化。加上它的弥散、极

化,更有利于弥合波形之间不吻合、填补波形之间存在的稀缺,

向键轴方向浓集,从而形成平滑、沟通、均衡的MO。我们自然也作了象图一那样的三图叠加,这时图四等值线

的移动,当然也只有内移这一种,只能反映电子减少,不能反

映剩余电子向核方向收缩这种存在。

这种对照,不是在告诉我们基组到底在作什么吗?可见基

组不仅仅是数学计算的需要,在基组线性组合分配系数时,也

是在空间安排电子,是具有物理意义的。由于ρ要按原子电负性

(由基组形成的)的大小分配电子、“ρ”要归一,相应也制约着、

主宰着MO中的系数分配。

对照图三、图四,它们的差别是这么一目了然!如果我们

只去看成千上万的数字,怎样分析?又怎样将这样

的差别用语言描绘、表达出来?现在,看图识字,

不用多讲,可见在量化中使用图形多么重要!

3.GsGrid3.GsGrid3.GsGrid3.GsGrid对ρρρρ和ΔρΔρΔρΔρ计算的意义

GsGrid的新版 1.6.3起,有了对三维空间 cube计算ρ的归一性和可用于Δρ正负值的分别计算。

1、GsGrid对于ρ与微元相乘在整个空间加和起

来,对单电子波函数的ρ就得到电子数为一,即归一。

对有 N 个电子的分子或分子片则归 N。通过 GsGrid计算,能接近归一或归 N,说明此格点文件提供的

信息能够较完全、准确地描述体系电子密度分布。

2、我们面对成千上万的定量数据常常会感到

茫然、不得要领,需要将这些数据图形化,以便于

我们识别、应用。不过有趣的是,一旦这些数据成

为了图形,定量的数据反而转化成为定性的图形了。

现在我们可以在 GsGrid中,对成键前后的几个ρ进行三维

空间格点相减,从而得到Δρ的 cube 新文件。再次进入 GsGrid,就会自动对Δρ的 cube 进行三维空间格点体积微元中的电子的

正值部分和负值部分分别进行加和,这样一来,Δρ不仅是一幅

直观的图象,而且有了电子净增(正值)、净减(负值)的具体

数值,又精确定量了。在更高的层次达到定量了,使分析电荷

的变化更上了一层楼!

比如我们可以对上面 H2 的Δρ进行计算,仍用 HF/6-311++G**,加和结果的单位为电子 e。

当取通常计算所用的格点:80^3,分子所在的空间为 4^3埃时。

得到 H2的加和结果为 1.9881,H-1的加和结果为 0.99236,H-2的加和结果为 0.97962。

这样得到Δρ的电荷在键中间的净增加值为 0.25,在二 H电荷净减少值共为 0.235。

为了计算更准确,加多格点: 200^3,加大分子所在的空

间:8^3埃。

这样得到 H2的加和结果为 1.999943,H-1的加和结果为

0.999810,H-2的加和结果为 0.999834。得到 Δρ的电荷在

键中间的净增加值为

0.251229,在二 H 电荷

净 减 少 值 共 为

0.250936。在二聚水中,电子

发生了转移,水-1 的孤

对电子净减少了(虚

线),电子跑到水 -2 的

H—O那一边了,这里是

电子净增加(实线),见

图五。

经 GsGrid 对二聚

水电子转移Δρ进行计算,转移量为:水-1孤对电子处(净减少)

为-0.39139,水-2的 H—O处电子净增加为 0.39128。显然,Δρ的正值与负值的绝对值应是完全相等的。只是现

在取的空间还不够大,计算的空间不够对等,才有微小的差别。

然而,象上面单纯的电子向键中间移动、单纯的电子在原

子之间转移,毕竟是少数,大量的情形是电负性不同的原子之

间成键,同时伴随着电子的中移和转移,它们在Δρ中是重叠的。

在这种情况下,如何分别定量核算、区分中移和转移电子,

是一个新的挑战,是一个有趣的智力测验,希望这是我以后帖

子要写的一个内容吧。

81

Page 93: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Communication

数值编程三语言的比较

[email protected]@[email protected]@163.com

hitzhanghitzhanghitzhanghitzhang

[email protected]@[email protected]@mail.ustc.edu.cn前言:

如题,,,, 本文旨在给那些初学、甚至暂时还徘徊在选取哪种编程语言的虫友们一点帮助.... 因此,,,, 限于C(C(C(C(包括C++),C++),C++),C++), Fortran,Fortran,Fortran,Fortran, MatlabMatlabMatlabMatlab这三种在数值计算中用得

比较多的编程语言进行一点不成熟的比较

数不胜数——其实主要因为我没数过——的虫友发帖询

问 : 该学什么程序语言、怎样学 ; 或者以前学过 C, 要该学

Fortran 该怎么办 ; 等等. 现在, 我就目前最常用于数值计算的

三种语言——C(包括 C++), Fortran, Matlab[其实我也只会这三

种的一点点, 以下简写为 C, F, M]——比较一下, 希望能够给那

些尚处于学习初期的迷茫虫友们一点点帮助.基于本文的出发点 , 我从计算数学开始讲起吧 . 在计算这

一块儿, 包括数理化生等, 数学是为其它自然科学学科服务的 ;计算物理、计算化学等等 , 很多情况下最终都要靠计算数学来

实现 ; 而计算数学靠什么来实现呢 ? 当然是编程计算了 . 因此

编程计算在目前的科学研究中是至关重要的.很多虫友发帖给出一个微分方程 , 问出这样的问题 : “请

问这个用 Matlab怎样实现? ”我想, 这样的问题 , 无论是对专

家还是对版主还是对其它的应助者 , 都常常会感到无从入手 .解微分方程的工具是算法 , 不是程序 . 当你在问这种问题的时

候, 请写清楚, 你想得到什么解——要解析解? 或者用差分、有

限元或谱方法等数值方法得到近似解 ? 更具体的 , 比如差分法

里面 , 你要什么样的格式 ? 更甚至于 , 你需要写清楚 , 这个方

程的解是一种什么样的性态——光滑? 连续? 间断? 你大致需

要得到什么样的结果? 精度要求多高? 因为你提出的这个问题

的情况你自己是最了解的 , 只有告知了别人相关的信息 , 别人

才能帮你思考用什么样的方法 , 然后才是用哪种语言、哪种格

式. 对于一个实际问题 , 关键在于问题本身及其相应的解决方

案——也就是传说中的算法, 其次才是程序.在这里 , 我建议那些初学编程的同志们 , 这三种语言都学

(另外还有一个 Mathematica, 因为个人感觉 Matlab做符号运算

不够强大), 但是只需要“学会”C(包括 C++).第一个问题: 为什么三种语言都要学呢? 因为它们各有各

的优势 , 各有各的缺点 . 只有当你对这些语言都有所了解的时

候, 你才能根据实际问题去选择最适合的语言.第二个问题: 为什么只需要“学会”C 呢? 因为各种语言

在本质上并没有多大的区别 , 无非就是格式不大一样 , 功能实

现的简繁、运行速度不大一样而已. 学会了 C, 别的语言学个几

天, 基本的东西都会了.对于 C, 在这里跟大家说一句常理 : 贪多嚼不烂 . 若是初

学, 最开始不要想着要学到多少高深的功能 , 因为对于一般的

数值计算来说 , 基本功能就够了 . 一开始 , 你要认真学些什么

呢? 数据类型、定义变量、顺序以及循环结构、数组、函数、

输入输出 , 齐活儿了 . 学完这些需要多长时间 ? 一个星期足够

了. 只要你肯编程练习 , 保证你一个星期之后 , 编程水平达到

“熟练”, 相当于专英 7级(专 8不到, 但 CET-6水平太低了). 不管什么事儿 , 一步一步来 , 前面说的这些基本功 , 一个一个地 ,专心、平心静气地突破 , 不要想着越级 ; 因为你在前面漏掉一

点 , 对于后面来说就是致命伤 , 会耗费你更多的时间和精力 .

不管怎样, 编程狂练!当然 , 本文的目的不在于跟大家介绍怎样学 C. 下面进入

正题 . 我们从各个我能想到的方面来比较一下三种语言 , 让初

学者有一定的了解 . 当然, 本人相当才疏学浅 , 所谈只限于本

人知识, 并不代表真理. 若有错误, 请指正, 谢谢!1. 自由 . 三种语言里面 , M 是最自由的 : 主程序没有固定

格式 , 只是一些语句的排列 ; 变量类型不用定义 , 因为它把所

有变量都存储为双精度 ; 语句后面的分号可有可无 , 当然, 有

的话 , 不输出数据到命令窗口 , 没有的话 , 输出数据到命令窗

口. C每一条语句后面必有分号 . F 在这个方面有点类似于 M,但是有没有分号都不输出数据.

2. 速度. M 通常来说是最慢的, 因为M不编译, 只是逐条

语句地执行. 因此, 运行时间偏长的程序, 不建议用M. 相比之

下, 传说中 F 的速度最快, 因为“代码短”. 当然也只是听说啦,不过和 C的速度差不到哪里去 . 当然, M用于矩阵运算还是蛮

快的, 因为它把矩阵存在内存里都是一整块的, 算起来比C和F都快. 所以, M编程尽量避免循环 for-end, 我们来试试这样的一

段程序,见附录(建立一个后缀名为.m的文件, 用M打开, 运行)运行后发现,耗费时间明显不是一个数量级的, 关键在于

前半段程序对 a 的内存分配是一个元素一个元素定义的 , 每定

义一个元素的内存空间, 就要运行一次‘a(k,l) = 1;’, 时间都花

在这上面了 . M 的这种程序运行模式使人经常会做无用功 , 例如: 一个程序运行的时间很长 , 最后一句要输出结果 ; 前面的

过程全是对的 , 算了一个星期 , 终于要出结果了 , 最后输出的

那一句写错了 , 一个星期浪费了 , 一个结果都没得到——sigh一下.

3. 变量定义 . 三种语言中变量名不区分大小写的是 F(比如 K 和 k是一样的); M的变量不需要预先定义类型——前面说

了,它把所有变量定义为双精度型——这样很方便, 但是方便自

由并不等于“好”, 因为这样很难查错——C里面如果你定义了

一个 k, 没有定义 K, 后面你不小心把 k写成 K的话, 编译会提

示有错的; 但是M并不报错, 因为这个没有语法错误(语法错误

例如: 循环块中没有和 for相对应的 end, 这种情况会报错), 所以用户有时错了也不知道 ; F 的变量类型可以利用隐式定义(首字母为 I-N 的为整型 , 其它为实型), 但并不推荐这样 , 因为这

样类似于M 的情况, 虽然F 并不区分大小写, 但如果变量太多,你把 k错用成 k1, 与在M 里将 k错写成 K不是一样的性质么?所以, 建议在 F 程序(包括子例程 subroutine、函数 function等)里第一句就写上 implicit none, 规规矩矩地在后面自行定义变

量类型.4. 数组下标 . C的数组下标最小为 0, 这是为我们的矩阵

习惯设计的; M比较痛苦 , 必须是正整数; 相比起来, 最人性化

的是 F, 可以是负数, 这给编程带来很大的方便 , 比如我们要存

储时间步为 0~100、空间方向 x=-2,-1,0,1,2五个点处的函数值(双

82

Page 94: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1精度), 我们可以定义数组 real*8 u(-2:2,0:100), 编程需要用到这

个数组的时候就很容易想象 , 不需要再去算纸上的矩阵的某一

行对应着程序里的第几行.5. 注释. 这里区分一下C和C++: C里面用/* */注释, C++、

F、M 里分别用 //、!、%进行单行注释 . M 里多行注释的方法 :Ctrl+R, 去除的方法: Ctrl+T. C++和 F 中也可进行多行注释和去

除注释, 不过需要进行比较复杂的预先操作(修改编译软件的一

些文件和参数), 在网上能够搜到, 在此不再赘述.6. 矩阵、向量乘法 . 毕竟有几年没有大张旗鼓地用 C 了,

本人尚不清楚 C能否进行向量乘法 . 在此方面 , M 的功能是满

强大的, 比如矩阵 A,B分别是和的矩阵 , 如果, 则 A,B可以直

接相乘写为 A*B, 这和我们通常定义的矩阵乘法是一样的 ; 如

果或, 就退化为矩阵与向量之间、甚至是向量之间的乘法, 当然,仍然要求. M 还有一个点乘运算, 在这里我们只考虑向量: 如果

两个向量 a、b都是行向量或者都是列向量而且长度相等, 那么

点乘表示对应元素分别相乘, 写为 a.*b. 在此介绍M的点乘, 是为了引出 F 中的向量乘法, 它相当于M 中的点乘, 但直接写为

a*b, 不论 a, b是行向量还是列向量 , 只要长度相等即可 . 举个

小例子, M 中有一个行向量 a、列向量 b, 长度相等 , 那么M 中

的 a*b(得到一个数)在 F 中的表达可写为 sum(a*b), 表示 F中两

个向量对应元素相乘、再求和. 另外, F 中也能实现矩阵与向量、

矩阵之间的乘法, 需要用到函数 matmul, 比如M中的 A*B和F中的 matmul(A,B)是等效的.

7. M 的一些优点. 在此专门拿出一段来写这个 , 并不表示

我很推崇 M, 因为对我这样单纯的自行编写子程序、而且通常

程序的运行时间比较长的人来说 , M 的速度无疑让我很痛苦 .然而, M 对于工程以及其它一些“应用型”编程的人来说, 确实

相当优秀. 对我来说, 它就几乎是一个画图工具, 这是它的第一

大优点——像我这样的纯粹编程者 , 用 F 编程计算、M画图查

看结果是比较习惯的用法 ; 当然身边会用 F 的人越来越少了—

—感觉F越来越成为一些老的数学教授们的编程工具(或许也是

因为把很多老的 F程序翻译为M程序是一件过于吃力不讨好的

事情吧), 在现在的研究生中渐渐的淡出了历史舞台——因为他

们宁愿用M编程, 因为M的语言简短方便, 往往用F 和C需要

很多行的程序段在M中一两句话就解决了, 这是M的第二大优

点; 另外, M中的库函数贼多——“贼多”的意思是“比贼还多”,献给春节期间舍身 (不是舍身取义 )奋斗在第一线的贼们 , 我能

理解, 贼们也要过年, 所以每年的这段时间贼特多, 但我更希望

天下无贼 , 希望各位同胞在春节期间都要加强警惕 , 理解他们

并不表示需要纵容他们 , 谢谢——M 中庞大的库函数可以让用

户很轻松的用一句话解决一个常规的算法 , 当然个人认为 : 不

要太依赖于这些“工具”函数, 因为它们总是有限制的, 往往得

不到你期望得到的结果, 所以, 话又说回去了, 关键在于算法.暂时就说这么多吧 , 希望能给那些还徘徊于语言的选择阶

段的虫友们一点帮助. 同时, 给大家拜个早年!

附录:文中所涉及到的源程序

clearclearclearclear allallallall %%%% 清除所有变量

clcclcclcclc %%%% 清空commandcommandcommandcommand windowwindowwindowwindowNNNN ==== 10^3;10^3;10^3;10^3;tictictictic %%%% 计时开始forforforfor kkkk ==== 1:N1:N1:N1:Nforforforfor llll ==== 1:N1:N1:N1:N

a(k,l)a(k,l)a(k,l)a(k,l) ==== 1;1;1;1;endendendendendendendendtoctoctoctoc %%%% 计时结束,,,, 输出运行时间

clearclearclearclear aaaa %%%% 清除变量aaaaticticticticaaaa ==== zeros(N);zeros(N);zeros(N);zeros(N); %%%% 定义aaaa为 N*NN*NN*NN*N 的矩阵a=1;a=1;a=1;a=1;toctoctoctoc运行结果为::::ElapsedElapsedElapsedElapsed timetimetimetime isisisis 5.8554795.8554795.8554795.855479 seconds.seconds.seconds.seconds.ElapsedElapsedElapsedElapsed timetimetimetime isisisis 0.0072920.0072920.0072920.007292 seconds.seconds.seconds.seconds.

83

Page 95: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2222010010010010,,,, Vol. 1, No. 1

Communication

格子方法计算正弦戈登方程

haixing2008haixing2008haixing2008haixing2008

SchoolSchoolSchoolSchool ofofofof MathematicsMathematicsMathematicsMathematics andandandand ComputerComputerComputerComputer Science,Science,Science,Science, FujianFujianFujianFujian NormalNormalNormalNormal University,University,University,University, FuzhouFuzhouFuzhouFuzhou 350007,350007,350007,350007, [email protected]@[email protected]@qq.com

针对非线性偏微分方程,人们已建立和发展了一

些求解方法,但目前仍没有统一的求解方法。一般的

非线性偏微分方程只在特殊的初边值条件下才有解析

解,在通常情况下只能进行数值求解。大部分非线性

偏微分方程的研究是用近似的数值方法来处理方程中

的非线性项。许多关于这些非线性偏微分方程的数值

模拟方法发展了起来,包括有限差方法、热平衡积分

法、有限元法、谱方法、变分迭代法等。

作为一种新兴的数值方法,格子Boltzmann方法

不同于传统的数值方法,它是基于微观模型和细观运

动论的介观方法。格子 Boltzmann 方法在求解非线性

方程以及复杂系统的演化,特别在流体力学的研究中

取得了很大成果。这是由于格子 Boltzmann 方法具有

物理图像清晰、边界处理容易、编程实现简单等优

点。由于模型所涉及的计算都是具有局部性,所需局

部平衡态分布函数是同时进行计算的,具有天然的本

质并行性,非常适合在大规模并行计算机上运行。格

子 Boltzmann 方法提供了联系宏观和微观的可能性和

现实性,除了在一般的流体力学问题中得到了成功的

验证之外,在湍流、多相流、多组分流、粒子悬浮

流、量子力学以及磁流体力学等相关领域也具有广阔

的应用前景。

近 20年来,LBM在某些复杂的演化方程模拟中

取得了重要的进展,这些复杂系统包括如对流扩散方

程、反应扩散方程、 Burgers 方程、MKdV 方程,

KdV-Burgers 方程, Schrodinger 方程等。但是

理论部分仍有许多问题有待完善,例如如何构造出精

度较高的模型和如何模拟更复杂的非线性偏微分方

程。

我们考虑 Sine-Gordon 方程,Sine-Gordon(正弦

戈登)方程是重要的非线性偏微分方程之一,它与相

对论场论中的 Klein-Gordon 方程有着密切的联系。在

研究旋转波、非线性光学、固体物理、低温物理、电

磁学、力学和其它一些数学物理问题中,它有着许多

重要的实际应用。近年来对它的研究有了很大的进

展,发现它的解特别有趣,如包含孤子解和周期解

等。

一维的 Sine-Gordon 方程形式如下:

这个方程带有时间二阶导和一阶导,更复杂的就是还

有一个非线性项正弦项,区别于流体力学方程中的非

线性项,所以如果用传统的方法来做就比较麻烦了,

而且精度受限,计算复杂,运行时间长这就决定了

Sine-Gordon 方程比流体力学方程复杂得多。

有些学者分别用能量守恒差分格式、保结构算法

等数值方法研究了该方程。最近有些学者用格子

Boltzmann 方法研究了 Sine-Gordon 方程。本文采用

D1Q4的格子 Boltzmann方法进行模拟,借助泰勒展开

公式和 Chapman-Enskog 多尺度展开技术,求出计算

所需要的平衡态分布函数。

例 考虑如下带有初边值问题

其中的一些参数取值很重要,需要根据具体模型进行

分析,时间步长和空间步长取为 0.01。松弛时间取为

1。以下是模拟结果,图一时三维可视化结果,图二

是二维剖面图。

图一

84

Page 96: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2222010010010010,,,, Vol. 1, No. 1

图二

根据数值模拟结果,我们可以得知数值解随着时

间的变化而周期性变化,即具有孤波和周期波,这有

效地支持了 Brezis 的周期解理论分析,也验证了本模

型的有效性。由于本方法只涉及 4 个速度,所以运行

时间会相对比较少的。同时跟有限差分法等方法比较

起来,还是有明显优势的。

学习此方法需要数学物理知识,对编程要求比

较高,如果能够掌握张量知识就更好了,可以处理更

复杂和更高维的问题。在处理边界问题时有许多种方

法,因此如果掌握了那些边界方法,可以进行对比,

同时由于现在边界处理方法都处于低阶精度,一般是

一阶或者二阶,有待提高。

以上只代表个人观点,仅供参考,未经同意,

不得以任何形式转载或者发表。

顺便做个小广告:http://www.cfluid.com/bbs/forumdisplay.php?fid=8

8 格子方法在流体中文网上的新根据地,欢迎 LBMer加入。

支持小木虫!

85

Page 97: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Communication

Random resistor network implementation using Matlab

[email protected]@[email protected]@mail.ustc.edu.cn

前言:TheTheTheTheresistanceresistanceresistanceresistance ofofofof aaaa randomrandomrandomrandom networknetworknetworknetwork composedcomposedcomposedcomposed ofofofof threethreethreethree kindskindskindskinds ofofofof cubiccubiccubiccubic elements,elements,elements,elements, suchsuchsuchsuch asasasas ionicionicionicionic material,material,material,material, electronicelectronicelectronicelectronic materialmaterialmaterialmaterial andandandand porosityporosityporosityporosity isisisis simulatedsimulatedsimulatedsimulatedusingusingusingusing Matlab.Matlab.Matlab.Matlab. TheTheTheThemodelmodelmodelmodel proposesproposesproposesproposes aaaa basicbasicbasicbasic methodmethodmethodmethod totototo optimizeoptimizeoptimizeoptimize thethethethe conductivityconductivityconductivityconductivity performanceperformanceperformanceperformance ofofofof compositecompositecompositecomposite mamamamaterials.terials.terials.terials. AllAllAllAll thethethethe M-filesM-filesM-filesM-files areareareare supplied,supplied,supplied,supplied,andandandand thethethethe usageusageusageusageofofofof themthemthemthem isisisis alsoalsoalsoalso describeddescribeddescribeddescribed inininin detail.detail.detail.detail. ItItItIt isisisis aaaa greatgreatgreatgreat honorhonorhonorhonor forforforformemememe ifififif thisthisthisthis workworkworkwork cancancancan provideprovideprovideprovideanyanyanyany helphelphelphelp forforforforyouryouryouryourresearch.research.research.research.

ModelModelModelModel descriptiondescriptiondescriptiondescription

The network microstructure is approximated by N1N2N3equally sized cubes, i.e. N1 = 10, N2 = 10 and N3 = 22 cubes (inshort, 10x10x22 model). As shown in Fig. 1, cubes are randomlyassigned to be (i) electrolyte material in blue, (ii) ion material in redor (iii) of empty space transparent, taking into account porosity.

The governing equation for the conservation of the oxygenions and electrons is derived from the Kirchhoff’s law of urrent bysolving the current conservation equation for each ionic andelectronic cubes, written for a cube i to neighboring cubes j as,

(1)( ) 0i j ij i jj j

I σ ϕ ϕ→ = − =∑ ∑where the bond conductance σij is defined as σio–io for the contact oftwo ionic cubes, σel–el for the contact of two electronic cubes, andσio–el for the contact of an ionic cube and an electronic cube. Thebond conductances between the same cubes and interfaces of ionicand electronic cubes are evaluated using the neck perimeter l , theionic conductivity κio, the electronic conductivity κel and theinterfacial conductivity κf, as,

, ,el elel-el 4

lκσ = io ioio-io 4

lκσ = f ff 4

lκσ =

(2)The bond conductance for the contact of ionic and electronic cubesis determined by the series resistance of ionic, electronic, andinterfacial material,

(3)

1

io-elio-io f el-el

1 1 12 2

σσ σ σ

−⎛ ⎞

= + +⎜ ⎟⎝ ⎠

The linearity of the resistor network system enables thearbitrary choice of the potentials as boundary conditions, thepotentials at the top, φtop, and at the bottom boundaries , φbot, asshown in Fig. 1. By prescribing a potential of 0V at the top and 1Vat the bottom boundaries , and setting the lateral boundaries withperiodic boundary condition, the distribution of the potential in thecomposite material was determined.

Once the potential distribution was obtained, the currentsflowing through the top boundaries were calculated by addingcurrents through all particles adjacent to the boundaries.Consequently, the total electrical resistance Rp is estimated as,

(4)( )1 2

3p bot top el-el , ,1 1

N N

i j Ni j

R ϕ ϕ σ ϕ= =

= − ∑∑

RealizationRealizationRealizationRealization

The problem can be described in matrix form, as follow,(5)=Ax bAx bAx bAx b

Where AAAA is a N1N2(N3-2)×N1N2(N3-2) matrix as an function of thebond conductances, bbbb is a N1N2(N3-2) vector containing thepotential of the top and bottom boundaries. xxxx is the potential in thecomposite material. Generation of A and b is a tedious process,

however, I have done this work in M-files. You can generate anysize network, with an optional composition and porosity. Forinstance, try these codes to realize a 10×10×22 network in Matlab,>> N=ones(10,10,22);% 1 indicates the electronic cubes.

>> B=rand(10,10,22);% generate a random matrix to assign the ionic

cubes.

>> N(B<0.5)=2;%2 indicates the ionic cubes with an ionic composition

of 0.5.

>> C=rand(10,10,22); % generate a random matrix to assign the

porosity cubes.

>> N(C<0.3)=0; % 0 indicates the porosity.

>> N(:,:,1)=2; % the bottom boundary composed of ionic cubes.

>> N(:,:,22)=1; % the top boundary composed of electronic cubes.

>> plot3D(double(N==2),1,'b','pasive') % visualization of the network.

>> hold on;

>> plot3D(double(N==1),1,'r','pasive')

>> xlabel('N_1')

>> ylabel('N_2')

>> zlabel('N_3')

>> camlight right;

>> lighting phong;

The function, plot3D, is downloaded from www.mathworks.com.Then you can obtain a 3D structure similar to that in Fig. 1. Definethe conductivities, as,>> k2=0.5;kp=0.01;% with a dimension of Sm-1.

The interfacial conductivity is 1Sm-1, and l=3×10-4m defined inFindNeighbor.m. The matrix AAAA and vector bbbb can be calculate asfollow,>> [A B]=randomRNModel(N,k2,kp);

Then xxxx can be obtained,>> x=A\B;

We reshape vector xxxx in to a 10×10×20 matrix XXXX, according to N,X=reshape(x,[10,10,20]);

It is convenient to visualize the potential distribution XXXX,>> slice(X,[1 10],[1 10],[1 20])

>> axis equal

>> xlabel('N_1')

>> ylabel('N_2')

>> zlabel('N_3')

>> camlight right;

>> lighting phong;

>> colorbar

The result is similar to Fig. 2. Consequently, the total electricalresistance Rp is,>> 1./sum(sum(X(:,:,20)))

ans =

0.5065

The total resistance strongly depends upon the composition of thenetwork, which is expressed by the percolation theroy. As shown inFig. 3, a minimum resistance can be obtained when a certain volumfraction of electronic material is utilized.

86

Page 98: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Fig. 1. The structure of a random resistor network.

Fig. 2. Potential distribution in the network outlined inFig. 1.

Fig. 3. Area-specific resistance as a function of electronicmaterial, with a certain conductivities and porosity.

AppendixAppendixAppendixAppendix:

functionfunctionfunctionfunction [A[A[A[A B]=randomRNModel(N,k2,kp)B]=randomRNModel(N,k2,kp)B]=randomRNModel(N,k2,kp)B]=randomRNModel(N,k2,kp)

F_top=0;F_top=0;F_top=0;F_top=0;F_bot=1;F_bot=1;F_bot=1;F_bot=1;

[N1[N1[N1[N1 N2N2N2N2 N3]=size(N);N3]=size(N);N3]=size(N);N3]=size(N);

AN=N1*N2*(N3-2);AN=N1*N2*(N3-2);AN=N1*N2*(N3-2);AN=N1*N2*(N3-2);

A=zeros(AN,AN);B=zeros(AN,1);A=zeros(AN,AN);B=zeros(AN,1);A=zeros(AN,AN);B=zeros(AN,1);A=zeros(AN,AN);B=zeros(AN,1);

forforforfor I=1:ANI=1:ANI=1:ANI=1:AN

k=fix((I-1)/(N1*N2))+2;j=fix((I-1-(k-k=fix((I-1)/(N1*N2))+2;j=fix((I-1-(k-k=fix((I-1)/(N1*N2))+2;j=fix((I-1-(k-k=fix((I-1)/(N1*N2))+2;j=fix((I-1-(k-2)*N1*N2)/N1)+1;i=I-(k-2)*N1*N2-(j-1)*N1;2)*N1*N2)/N1)+1;i=I-(k-2)*N1*N2-(j-1)*N1;2)*N1*N2)/N1)+1;i=I-(k-2)*N1*N2-(j-1)*N1;2)*N1*N2)/N1)+1;i=I-(k-2)*N1*N2-(j-1)*N1;

[N_index[N_index[N_index[N_index SSSS L]L]L]L] ==== FindNeighbor(i,j,k,N,k2,kp);FindNeighbor(i,j,k,N,k2,kp);FindNeighbor(i,j,k,N,k2,kp);FindNeighbor(i,j,k,N,k2,kp);

ifififif N(i,j,k)==0N(i,j,k)==0N(i,j,k)==0N(i,j,k)==0A(I,I)=1;A(I,I)=1;A(I,I)=1;A(I,I)=1;

elseelseelseelseA(I,I)=A(I,I)+sum(S);A(I,I)=A(I,I)+sum(S);A(I,I)=A(I,I)+sum(S);A(I,I)=A(I,I)+sum(S);J=N_index(:,1)+(N_index(:,3)-J=N_index(:,1)+(N_index(:,3)-J=N_index(:,1)+(N_index(:,3)-J=N_index(:,1)+(N_index(:,3)-

2)*N1*N2+(N_index(:,2)-1)*N1;2)*N1*N2+(N_index(:,2)-1)*N1;2)*N1*N2+(N_index(:,2)-1)*N1;2)*N1*N2+(N_index(:,2)-1)*N1;forforforfor ii=1:6ii=1:6ii=1:6ii=1:6

switchswitchswitchswitch L(ii)L(ii)L(ii)L(ii)

casecasecasecase 1111B(I)=B(I)+S(ii)*F_top;B(I)=B(I)+S(ii)*F_top;B(I)=B(I)+S(ii)*F_top;B(I)=B(I)+S(ii)*F_top;

casecasecasecase -1-1-1-1B(I)=B(I)+S(ii)*F_bot;B(I)=B(I)+S(ii)*F_bot;B(I)=B(I)+S(ii)*F_bot;B(I)=B(I)+S(ii)*F_bot;

casecasecasecase 0000A(I,J(ii))=A(I,J(ii))-S(ii);A(I,J(ii))=A(I,J(ii))-S(ii);A(I,J(ii))=A(I,J(ii))-S(ii);A(I,J(ii))=A(I,J(ii))-S(ii);

endendendendendendendend

endendendend

endendendend

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionfunctionfunctionfunction [N_index[N_index[N_index[N_index SSSS L]L]L]L] ==== FindNeighbor(i,j,k,N,k2,kp)FindNeighbor(i,j,k,N,k2,kp)FindNeighbor(i,j,k,N,k2,kp)FindNeighbor(i,j,k,N,k2,kp)

[N1[N1[N1[N1 N2N2N2N2 N3]=size(N);N3]=size(N);N3]=size(N);N3]=size(N);S=zeros(6,1);L= zeros(6,1);S=zeros(6,1);L= zeros(6,1);S=zeros(6,1);L= zeros(6,1);S=zeros(6,1);L= zeros(6,1);classf0classf0classf0classf0 ==== N(i,j,k);N(i,j,k);N(i,j,k);N(i,j,k);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ifififif (k+1)==N3(k+1)==N3(k+1)==N3(k+1)==N3

L(1)=1;L(1)=1;L(1)=1;L(1)=1;elseelseelseelse

L(1)=0;L(1)=0;L(1)=0;L(1)=0;endendendend

ifififif k==2k==2k==2k==2

87

Page 99: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1L(2)=-1;L(2)=-1;L(2)=-1;L(2)=-1;

elseelseelseelseL(2)=0;L(2)=0;L(2)=0;L(2)=0;

endendendend

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N_top=[i,j,k+1];N_top=[i,j,k+1];N_top=[i,j,k+1];N_top=[i,j,k+1];N_bot=[i,j,k-1];N_bot=[i,j,k-1];N_bot=[i,j,k-1];N_bot=[i,j,k-1];

ifififif (j+1)>N2(j+1)>N2(j+1)>N2(j+1)>N2

N_lef=[i,1,k];N_lef=[i,1,k];N_lef=[i,1,k];N_lef=[i,1,k];elseelseelseelse

N_lef=[i,j+1,k];N_lef=[i,j+1,k];N_lef=[i,j+1,k];N_lef=[i,j+1,k];endendendend

ifififif j==1j==1j==1j==1N_rig=[i,N2,k];N_rig=[i,N2,k];N_rig=[i,N2,k];N_rig=[i,N2,k];

elseelseelseelseN_rig=[i,j-1,k];N_rig=[i,j-1,k];N_rig=[i,j-1,k];N_rig=[i,j-1,k];

endendendend

ifififif i==N1i==N1i==N1i==N1N_fro=[1,j,k];N_fro=[1,j,k];N_fro=[1,j,k];N_fro=[1,j,k];

elseelseelseelseN_fro=[i+1,j,k];N_fro=[i+1,j,k];N_fro=[i+1,j,k];N_fro=[i+1,j,k];

endendendend

ifififif i==1i==1i==1i==1N_bac=[N1,j,k];N_bac=[N1,j,k];N_bac=[N1,j,k];N_bac=[N1,j,k];

elseelseelseelseN_bac=[i-1,j,k];N_bac=[i-1,j,k];N_bac=[i-1,j,k];N_bac=[i-1,j,k];

endendendend

N_index=[N_top;N_bot;N_lef;N_rig;N_fro;N_bac];N_index=[N_top;N_bot;N_lef;N_rig;N_fro;N_bac];N_index=[N_top;N_bot;N_lef;N_rig;N_fro;N_bac];N_index=[N_top;N_bot;N_lef;N_rig;N_fro;N_bac];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

classf1classf1classf1classf1 ==== N(i,j,k+1);N(i,j,k+1);N(i,j,k+1);N(i,j,k+1);S(1)=Cal_Neighbor_S([classf0S(1)=Cal_Neighbor_S([classf0S(1)=Cal_Neighbor_S([classf0S(1)=Cal_Neighbor_S([classf0 classf1],k2,kp,k+1,k);classf1],k2,kp,k+1,k);classf1],k2,kp,k+1,k);classf1],k2,kp,k+1,k);

classf1classf1classf1classf1 ==== N(i,j,k-1);N(i,j,k-1);N(i,j,k-1);N(i,j,k-1);S(2)=Cal_Neighbor_S([classf0S(2)=Cal_Neighbor_S([classf0S(2)=Cal_Neighbor_S([classf0S(2)=Cal_Neighbor_S([classf0 classf1],k2,kp,k-1,k);classf1],k2,kp,k-1,k);classf1],k2,kp,k-1,k);classf1],k2,kp,k-1,k);

classf1classf1classf1classf1 ==== N(N_lef(1),N_lef(2),N_lef(3));N(N_lef(1),N_lef(2),N_lef(3));N(N_lef(1),N_lef(2),N_lef(3));N(N_lef(1),N_lef(2),N_lef(3));S(3)=Cal_Neighbor_S([classf0S(3)=Cal_Neighbor_S([classf0S(3)=Cal_Neighbor_S([classf0S(3)=Cal_Neighbor_S([classf0classf1],k2,kp,N_lef(3),k);classf1],k2,kp,N_lef(3),k);classf1],k2,kp,N_lef(3),k);classf1],k2,kp,N_lef(3),k);

classf1classf1classf1classf1 ==== N(N_rig(1),N_rig(2),N_rig(3));N(N_rig(1),N_rig(2),N_rig(3));N(N_rig(1),N_rig(2),N_rig(3));N(N_rig(1),N_rig(2),N_rig(3));S(4)=Cal_Neighbor_S([classf0S(4)=Cal_Neighbor_S([classf0S(4)=Cal_Neighbor_S([classf0S(4)=Cal_Neighbor_S([classf0classf1],k2,kp,N_rig(3),k);classf1],k2,kp,N_rig(3),k);classf1],k2,kp,N_rig(3),k);classf1],k2,kp,N_rig(3),k);

classf1classf1classf1classf1 ==== N(N_fro(1),N_fro(2),N_fro(3));N(N_fro(1),N_fro(2),N_fro(3));N(N_fro(1),N_fro(2),N_fro(3));N(N_fro(1),N_fro(2),N_fro(3));S(5)=Cal_Neighbor_S([classf0S(5)=Cal_Neighbor_S([classf0S(5)=Cal_Neighbor_S([classf0S(5)=Cal_Neighbor_S([classf0classf1],k2,kp,N_fro(3),k);classf1],k2,kp,N_fro(3),k);classf1],k2,kp,N_fro(3),k);classf1],k2,kp,N_fro(3),k);

classf1classf1classf1classf1 ==== N(N_bac(1),N_bac(2),N_bac(3));N(N_bac(1),N_bac(2),N_bac(3));N(N_bac(1),N_bac(2),N_bac(3));N(N_bac(1),N_bac(2),N_bac(3));S(6)=Cal_Neighbor_S([classf0S(6)=Cal_Neighbor_S([classf0S(6)=Cal_Neighbor_S([classf0S(6)=Cal_Neighbor_S([classf0classf1],k2,kp,N_bac(3),k);classf1],k2,kp,N_bac(3),k);classf1],k2,kp,N_bac(3),k);classf1],k2,kp,N_bac(3),k);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionfunctionfunctionfunction S=Cal_Neighbor_S(ind,k2,kp,N_ind,k)S=Cal_Neighbor_S(ind,k2,kp,N_ind,k)S=Cal_Neighbor_S(ind,k2,kp,N_ind,k)S=Cal_Neighbor_S(ind,k2,kp,N_ind,k)

s00=0;s00=0;s00=0;s00=0;s01=0;s01=0;s01=0;s01=0;s02=0;s02=0;s02=0;s02=0;

k1=1;k1=1;k1=1;k1=1;

%k2=1e-2;%k2=1e-2;%k2=1e-2;%k2=1e-2;%kp=1e10;%kp=1e10;%kp=1e10;%kp=1e10;%kp=4.8e-4*(0.175*k2+0.00125);%kp=4.8e-4*(0.175*k2+0.00125);%kp=4.8e-4*(0.175*k2+0.00125);%kp=4.8e-4*(0.175*k2+0.00125);

ds=2e-4;ds=2e-4;ds=2e-4;ds=2e-4;l=3e-4;l=3e-4;l=3e-4;l=3e-4;

K_p=10;K_p=10;K_p=10;K_p=10;

s11=k1*l/4;s11=k1*l/4;s11=k1*l/4;s11=k1*l/4;s22_0=k2*l/4;s22_0=k2*l/4;s22_0=k2*l/4;s22_0=k2*l/4;s22_1=k2*ds;s22_1=k2*ds;s22_1=k2*ds;s22_1=k2*ds;sp=kp*l/4;sp=kp*l/4;sp=kp*l/4;sp=kp*l/4;s12=(0.5/s11+0.5/s22_0+1/sp)^(-1);s12=(0.5/s11+0.5/s22_0+1/sp)^(-1);s12=(0.5/s11+0.5/s22_0+1/sp)^(-1);s12=(0.5/s11+0.5/s22_0+1/sp)^(-1);

ind=num2str(ind);ind=num2str(ind);ind=num2str(ind);ind=num2str(ind);switchswitchswitchswitch indindindind

casecasecasecase '0'0'0'0 0'0'0'0'S=s00;S=s00;S=s00;S=s00;

casecasecasecase '0'0'0'0 1'1'1'1'S=s01;S=s01;S=s01;S=s01;

casecasecasecase '0'0'0'0 2'2'2'2'S=s02;S=s02;S=s02;S=s02;

casecasecasecase '1'1'1'1 0'0'0'0'S=s01;S=s01;S=s01;S=s01;

casecasecasecase '1'1'1'1 1'1'1'1'S=s11;S=s11;S=s11;S=s11;

casecasecasecase '1'1'1'1 2'2'2'2'S=s12;S=s12;S=s12;S=s12;

casecasecasecase '2'2'2'2 0'0'0'0'S=s02;S=s02;S=s02;S=s02;

casecasecasecase '2'2'2'2 1'1'1'1'S=s12;S=s12;S=s12;S=s12;

casecasecasecase '2'2'2'2 2'2'2'2'ifififif (N_ind<=K_p)&&(k<=K_p)(N_ind<=K_p)&&(k<=K_p)(N_ind<=K_p)&&(k<=K_p)(N_ind<=K_p)&&(k<=K_p)

S=s22_1;S=s22_1;S=s22_1;S=s22_1;elseelseelseelse

S=s22_0;S=s22_0;S=s22_0;S=s22_0;endendendend

endendendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionfunctionfunctionfunction varargoutvarargoutvarargoutvarargout ==== plot3D(varargin)plot3D(varargin)plot3D(varargin)plot3D(varargin)%%%% PLOT3DPLOT3DPLOT3DPLOT3D DrawsDrawsDrawsDraws aaaa collectioncollectioncollectioncollection ofofofof voxelvoxelvoxelvoxel pointspointspointspoints inininin 3333 ----DimensionalDimensionalDimensionalDimensional space.space.space.space.%%%% PLOT3D(A)PLOT3D(A)PLOT3D(A)PLOT3D(A) DrawsDrawsDrawsDraws thethethethe voxelsvoxelsvoxelsvoxels containedcontainedcontainedcontained inininin A.A.A.A. AAAA isisisis aaaa3-dimensional3-dimensional3-dimensional3-dimensional matrixmatrixmatrixmatrix%%%% ofofofof zeroszeroszeroszeros andandandand ones,ones,ones,ones, wherewherewherewhere 1-valued1-valued1-valued1-valued elementselementselementselements ofofofofthethethethe matrixmatrixmatrixmatrix willwillwillwill bebebebe%%%% drawndrawndrawndrawn andandandand 0-elements0-elements0-elements0-elements willwillwillwill bebebebe leftleftleftleft blank.blank.blank.blank. TheTheTheThe(I,J,K)(I,J,K)(I,J,K)(I,J,K) elementelementelementelement ofofofof thethethethe%%%% matrixmatrixmatrixmatrix willwillwillwill bebebebe drawndrawndrawndrawn atatatat thethethethe coordinatescoordinatescoordinatescoordinates (I,J,K)(I,J,K)(I,J,K)(I,J,K)....Alternatively,Alternatively,Alternatively,Alternatively, AAAA%%%% cancancancan bebebebe aaaa Mx3Mx3Mx3Mx3 vectorvectorvectorvector ofofofof vertexvertexvertexvertex pointspointspointspoints [[[[ xxxx yyyy zzzz ].].].].%%%% PLOT3D(A,SIZE)PLOT3D(A,SIZE)PLOT3D(A,SIZE)PLOT3D(A,SIZE) asasasas above.above.above.above. SIZESIZESIZESIZE definesdefinesdefinesdefines thethethethe drawingdrawingdrawingdrawingvoxelsvoxelsvoxelsvoxels edgeedgeedgeedge length.length.length.length.%%%% PLOT3D(A,SIZE,C)PLOT3D(A,SIZE,C)PLOT3D(A,SIZE,C)PLOT3D(A,SIZE,C) asasasas above.above.above.above. CCCC definesdefinesdefinesdefines thethethethe drawingdrawingdrawingdrawingcolourcolourcolourcolour ofofofof thethethethe voxels.voxels.voxels.voxels.%%%% PLOT3D(A,SIZE,C,STYLE)PLOT3D(A,SIZE,C,STYLE)PLOT3D(A,SIZE,C,STYLE)PLOT3D(A,SIZE,C,STYLE) asasasas above.above.above.above. STYLESTYLESTYLESTYLE definesdefinesdefinesdefines thethethethestylestylestylestyle ofofofof markermarkermarkermarker totototo bebebebe%%%% used.used.used.used.%%%%%%%% PossiblePossiblePossiblePossible markermarkermarkermarker stylesstylesstylesstyles are:are:are:are:%%%% .... pointpointpointpoint%%%% oooo circlecirclecirclecircle%%%% xxxx x-markx-markx-markx-mark%%%% **** starstarstarstar%%%% ssss squaresquaresquaresquare%%%% dddd diamonddiamonddiamonddiamond%%%% vvvv triangletriangletriangletriangle (down)(down)(down)(down)%%%% ^ triangletriangletriangletriangle (up)(up)(up)(up)%%%% <<<< triangletriangletriangletriangle (left)(left)(left)(left)%%%% >>>> triangletriangletriangletriangle (right)(right)(right)(right)%%%% pppp pentagrampentagrampentagrampentagram%%%% hhhh hexagramhexagramhexagramhexagram%%%% voxvoxvoxvox voxelvoxelvoxelvoxel%%%%%%%% PLOT3D(A,SIZE,C,STYLE,ALPHA)PLOT3D(A,SIZE,C,STYLE,ALPHA)PLOT3D(A,SIZE,C,STYLE,ALPHA)PLOT3D(A,SIZE,C,STYLE,ALPHA) asasasas above.above.above.above. ALPHAALPHAALPHAALPHAdefinesdefinesdefinesdefines thethethethe transparenciytransparenciytransparenciytransparenciy%%%% ofofofof thethethethe voxels.voxels.voxels.voxels.%%%% PLOT3D(...,MODE)PLOT3D(...,MODE)PLOT3D(...,MODE)PLOT3D(...,MODE) MODEMODEMODEMODE definesdefinesdefinesdefines thethethethe interactiveinteractiveinteractiveinteractivedrawingdrawingdrawingdrawing modemodemodemode totototo bebebebe used.used.used.used.%%%% ThisThisThisThis isisisis intendedintendedintendedintended totototo aidaidaidaid visualization.visualization.visualization.visualization.AvailableAvailableAvailableAvailable modesmodesmodesmodes are:are:are:are:%%%%%%%% pasivepasivepasivepasive DrawsDrawsDrawsDraws allallallall inininin oneoneoneone gogogogo%%%% timedtimedtimedtimed DrawsDrawsDrawsDraws nextnextnextnext intervalintervalintervalinterval everyeveryeveryevery XXXX secondssecondssecondsseconds....TimeTimeTimeTime intervalintervalintervalinterval XXXX%%%% isisisis setsetsetset isisisis passedpassedpassedpassed asasasas anananan additionaladditionaladditionaladditionalparameter.parameter.parameter.parameter.%%%% keyboardkeyboardkeyboardkeyboard DrawsDrawsDrawsDraws nextnextnextnext layerlayerlayerlayer whenwhenwhenwhen keyboardkeyboardkeyboardkeyboard isisisishithithithit%%%%%%%% hhhh ==== PLOT3D(...)PLOT3D(...)PLOT3D(...)PLOT3D(...) ReturnsReturnsReturnsReturns aaaa vectorvectorvectorvector containingcontainingcontainingcontaining thethethethehandleshandleshandleshandles ofofofof allallallall drawndrawndrawndrawn%%%% voxels.voxels.voxels.voxels.%%%%%%%% ExampleExampleExampleExample 1111%%%% ------------------------------------%%%% CreatesCreatesCreatesCreates thethethethe occupancyoccupancyoccupancyoccupancy matrixmatrixmatrixmatrix ofofofof aaaa discretizeddiscretizeddiscretizeddiscretizedspherespherespheresphere withwithwithwith radiusradiusradiusradius 10.10.10.10.%%%%%%%% rrrr ==== 10;10;10;10;

88

Page 100: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1%%%% sidesidesideside ==== 30;30;30;30;%%%% spherespherespheresphere ==== zeros(side,side,side);zeros(side,side,side);zeros(side,side,side);zeros(side,side,side);%%%% forforforfor i=1:side;i=1:side;i=1:side;i=1:side; xxxx ==== i-side/2;i-side/2;i-side/2;i-side/2;%%%% forforforfor j=1:side;j=1:side;j=1:side;j=1:side; yyyy ==== j-side/2;j-side/2;j-side/2;j-side/2;%%%% forforforfor k=1:side;k=1:side;k=1:side;k=1:side; zzzz ==== k-side/2;k-side/2;k-side/2;k-side/2;%%%% ifififif sum([sum([sum([sum([ xxxx yyyy zzzz ].^2)<=r^2;].^2)<=r^2;].^2)<=r^2;].^2)<=r^2; sphere(i,j,k)sphere(i,j,k)sphere(i,j,k)sphere(i,j,k) ====1;1;1;1; end;end;end;end;%%%% endendendend%%%% endendendend%%%% endendendend%%%% plot3D(sphere,'pasive');plot3D(sphere,'pasive');plot3D(sphere,'pasive');plot3D(sphere,'pasive');%%%% plot3D(Sphere_1,'timed',plot3D(Sphere_1,'timed',plot3D(Sphere_1,'timed',plot3D(Sphere_1,'timed', 0.1);0.1);0.1);0.1);%%%% plot3D(Sphere_1,'keyboard');plot3D(Sphere_1,'keyboard');plot3D(Sphere_1,'keyboard');plot3D(Sphere_1,'keyboard');%%%%%%%% SeeSeeSeeSee alsoalsoalsoalso VOXELVOXELVOXELVOXEL

%%%% ConstantsConstantsConstantsConstantsMODE_1MODE_1MODE_1MODE_1 ==== 'pasive''pasive''pasive''pasive';;;;MODE_2MODE_2MODE_2MODE_2 ==== 'timed''timed''timed''timed';;;;MODE_3MODE_3MODE_3MODE_3 ==== 'keyboard''keyboard''keyboard''keyboard';;;;

c2c2c2c2 ==== 'c''c''c''c';;;;timed_ttimed_ttimed_ttimed_t ==== 3;3;3;3;VOXELVOXELVOXELVOXEL ==== 'vox''vox''vox''vox';;;;axisaxisaxisaxis vis3dvis3dvis3dvis3d;;;;view([30view([30view([30view([30 30]);30]);30]);30]);

%%%% DefaultDefaultDefaultDefault valuesvaluesvaluesvaluesvox_sizevox_sizevox_sizevox_size ==== 1;1;1;1;cccc ==== 'm''m''m''m';;;;alphaalphaalphaalpha ==== 1;1;1;1;stylestylestylestyle ==== VOXEL;VOXEL;VOXEL;VOXEL;modemodemodemode ==== MODE_2;MODE_2;MODE_2;MODE_2;

ifififif nargin>=1nargin>=1nargin>=1nargin>=1tmp_modetmp_modetmp_modetmp_mode ==== vararginlength(varargin);vararginlength(varargin);vararginlength(varargin);vararginlength(varargin);tmp_ttmp_ttmp_ttmp_t ==== NaN;NaN;NaN;NaN;ifififif nargin>=2nargin>=2nargin>=2nargin>=2 &&&&&&&& isnumeric(tmp_mode)isnumeric(tmp_mode)isnumeric(tmp_mode)isnumeric(tmp_mode)tmp_ttmp_ttmp_ttmp_t ==== tmp_mode;tmp_mode;tmp_mode;tmp_mode;tmp_modetmp_modetmp_modetmp_mode ==== vararginlength(varargin)-1;vararginlength(varargin)-1;vararginlength(varargin)-1;vararginlength(varargin)-1;

endendendend

ifififif strcmpi(tmp_mode,MODE_1)strcmpi(tmp_mode,MODE_1)strcmpi(tmp_mode,MODE_1)strcmpi(tmp_mode,MODE_1) ||||||||strcmpi(tmp_mode,MODE_2)strcmpi(tmp_mode,MODE_2)strcmpi(tmp_mode,MODE_2)strcmpi(tmp_mode,MODE_2) |||||||| ............

strcmpi(tmp_mode,MODE_3)strcmpi(tmp_mode,MODE_3)strcmpi(tmp_mode,MODE_3)strcmpi(tmp_mode,MODE_3)varargin(length(varargin))varargin(length(varargin))varargin(length(varargin))varargin(length(varargin)) ==== [];[];[];[];modemodemodemode ==== tmp_mode;tmp_mode;tmp_mode;tmp_mode;

ifififif ~isnan(tmp_t)~isnan(tmp_t)~isnan(tmp_t)~isnan(tmp_t)varargin(length(varargin))varargin(length(varargin))varargin(length(varargin))varargin(length(varargin)) ==== [];[];[];[];timed_ttimed_ttimed_ttimed_t ==== tmp_t;tmp_t;tmp_t;tmp_t;

endendendendendendendend

endendendend

ifififif isempty(varargin)isempty(varargin)isempty(varargin)isempty(varargin)disp(disp(disp(disp('Self'Self'Self'Self test!!'test!!'test!!'test!!'););););aaaa ==== zeros(10,10,10);zeros(10,10,10);zeros(10,10,10);zeros(10,10,10);forforforfor i=1:11;i=1:11;i=1:11;i=1:11; xxxx ==== i-6;i-6;i-6;i-6;forforforfor j=1:11;j=1:11;j=1:11;j=1:11; yyyy ==== j-6;j-6;j-6;j-6;forforforfor k=1:11;k=1:11;k=1:11;k=1:11; zzzz ==== k-6;k-6;k-6;k-6;ifififif sum([sum([sum([sum([ xxxx yyyy zzzz ].^2)<=25;].^2)<=25;].^2)<=25;].^2)<=25; a(i,j,k)a(i,j,k)a(i,j,k)a(i,j,k) ==== 1;1;1;1; endendendend;;;;

endendendendendendendend

endendendendendendendend

ifififif length(varargin)>=1;length(varargin)>=1;length(varargin)>=1;length(varargin)>=1;aaaa ==== varargin1;varargin1;varargin1;varargin1;

endendendend;;;;ifififif length(varargin)>=2;length(varargin)>=2;length(varargin)>=2;length(varargin)>=2;vox_sizevox_sizevox_sizevox_size ==== varargin2;varargin2;varargin2;varargin2;

endendendend;;;;ifififif length(varargin)>=3;length(varargin)>=3;length(varargin)>=3;length(varargin)>=3;cccc ==== varargin3;varargin3;varargin3;varargin3;

endendendend;;;;ifififif length(varargin)>=4;length(varargin)>=4;length(varargin)>=4;length(varargin)>=4;stylestylestylestyle ==== varargin4;varargin4;varargin4;varargin4;

endendendend;;;;ifififif length(varargin)>=5;length(varargin)>=5;length(varargin)>=5;length(varargin)>=5;alphaalphaalphaalpha ==== varargin5;varargin5;varargin5;varargin5;

endendendend;;;;

ifififif ndims(a)==2ndims(a)==2ndims(a)==2ndims(a)==2

%%%% AlreadyAlreadyAlreadyAlready inininin coordinatecoordinatecoordinatecoordinate formatformatformatformatifififif strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2) |||||||| strcmp(mode,MODE_3)strcmp(mode,MODE_3)strcmp(mode,MODE_3)strcmp(mode,MODE_3)SSSS ==== a;a;a;a;

elseelseelseelseSSSS ==== [];[];[];[];

endendendendS2S2S2S2 ==== S;S;S;S; %%%% optimizationoptimizationoptimizationoptimization requiredrequiredrequiredrequired forforforfor coordcoordcoordcoord formatformatformatformat

casecasecasecaseelseifelseifelseifelseif ndims(a)==3ndims(a)==3ndims(a)==3ndims(a)==3%%%% 3D3D3D3D occupancyoccupancyoccupancyoccupancy matrixmatrixmatrixmatrix -->-->-->--> convertconvertconvertconvert totototo coordinatecoordinatecoordinatecoordinate

formatformatformatformatifififif strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2) |||||||| strcmp(mode,MODE_3)strcmp(mode,MODE_3)strcmp(mode,MODE_3)strcmp(mode,MODE_3)SSSS ==== sparse3D(a);sparse3D(a);sparse3D(a);sparse3D(a);

elseelseelseelseSSSS ==== [];[];[];[];

endendendend

ifififif license(license(license(license('test''test''test''test',,,,'image_toolbox''image_toolbox''image_toolbox''image_toolbox'))))bbbb ==== bwperim(a);bwperim(a);bwperim(a);bwperim(a);S2S2S2S2 ==== sparse3D(b);sparse3D(b);sparse3D(b);sparse3D(b);

elseelseelseelseS2S2S2S2 ==== sparse3D(a);sparse3D(a);sparse3D(a);sparse3D(a);

endendendendelseelseelseelseerror(error(error(error('Missmatching'Missmatching'Missmatching'Missmatching numernumernumernumer ofofofof dimensions:dimensions:dimensions:dimensions: mustmustmustmust bebebebe 2222

orororor 3'3'3'3'););););endendendend

%%%% StartStartStartStart drawingdrawingdrawingdrawingboxboxboxbox ==== [[[[ 1111 1111 1111 ]]]] **** vox_size;vox_size;vox_size;vox_size;

holdholdholdhold onononon;;;;hhhh ==== [];[];[];[];zszszszs ==== unique(S2(:,3));unique(S2(:,3));unique(S2(:,3));unique(S2(:,3));forforforfor i=1:length(zs)i=1:length(zs)i=1:length(zs)i=1:length(zs)

%%%% Pre-drawPre-drawPre-drawPre-drawifififif strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2) |||||||| strcmp(mode,MODE_3)strcmp(mode,MODE_3)strcmp(mode,MODE_3)strcmp(mode,MODE_3)idxidxidxidx ==== find(S(:,3)==zs(i));find(S(:,3)==zs(i));find(S(:,3)==zs(i));find(S(:,3)==zs(i));hd1hd1hd1hd1 ==== [];[];[];[];ifififif strcmpi(style,strcmpi(style,strcmpi(style,strcmpi(style, VOXEL)VOXEL)VOXEL)VOXEL)forforforfor j=1:size(idx,1)j=1:size(idx,1)j=1:size(idx,1)j=1:size(idx,1)hd2hd2hd2hd2 ==== voxel(S(idx(j),:),box,c2,alpha);voxel(S(idx(j),:),box,c2,alpha);voxel(S(idx(j),:),box,c2,alpha);voxel(S(idx(j),:),box,c2,alpha);hd1hd1hd1hd1 ==== vertcat(hd1,hd2);vertcat(hd1,hd2);vertcat(hd1,hd2);vertcat(hd1,hd2);

endendendendelseelseelseelsehd1hd1hd1hd1 ==== plot3(S(idx,1),plot3(S(idx,1),plot3(S(idx,1),plot3(S(idx,1), S(idx,2),S(idx,2),S(idx,2),S(idx,2), S(idx,3),S(idx,3),S(idx,3),S(idx,3), [c2[c2[c2[c2

style]);style]);style]);style]);endendendend

ifififif strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2)strcmp(mode,MODE_2)pause(timed_t);pause(timed_t);pause(timed_t);pause(timed_t);

elseelseelseelsepause;pause;pause;pause;

endendendenddelete(hd1);delete(hd1);delete(hd1);delete(hd1);

endendendend

idx2idx2idx2idx2 ==== find(S2(:,3)==zs(i));find(S2(:,3)==zs(i));find(S2(:,3)==zs(i));find(S2(:,3)==zs(i));h1h1h1h1 ==== [];[];[];[];ifififif strcmpi(style,strcmpi(style,strcmpi(style,strcmpi(style, VOXEL)VOXEL)VOXEL)VOXEL)forforforfor j=1:size(idx2,1)j=1:size(idx2,1)j=1:size(idx2,1)j=1:size(idx2,1)h2h2h2h2 ==== voxel(S2(idx2(j),:),box,c,alpha);voxel(S2(idx2(j),:),box,c,alpha);voxel(S2(idx2(j),:),box,c,alpha);voxel(S2(idx2(j),:),box,c,alpha);h1h1h1h1 ==== vertcat(h1,h2);vertcat(h1,h2);vertcat(h1,h2);vertcat(h1,h2);

endendendendelseelseelseelseh1h1h1h1 ==== plot3(S2(idx,1),plot3(S2(idx,1),plot3(S2(idx,1),plot3(S2(idx,1), S2(idx,2),S2(idx,2),S2(idx,2),S2(idx,2), S2(idx,3),S2(idx,3),S2(idx,3),S2(idx,3), [c[c[c[c

style]);style]);style]);style]);endendendendhhhh ==== vertcat(h1,h);vertcat(h1,h);vertcat(h1,h);vertcat(h1,h);

endendendend

ifififif nargout>0nargout>0nargout>0nargout>0varargout1varargout1varargout1varargout1 ==== h;h;h;h;

endendendend%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%functionfunctionfunctionfunction SSSS ==== sparse3D(M)sparse3D(M)sparse3D(M)sparse3D(M)SSSS ==== [];[];[];[];forforforfor z=1:size(M,3)z=1:size(M,3)z=1:size(M,3)z=1:size(M,3)[[[[ xxxx yyyy ]]]] ==== find(M(:,:,z)==1);find(M(:,:,z)==1);find(M(:,:,z)==1);find(M(:,:,z)==1);SSSS ==== vertcat(S,[vertcat(S,[vertcat(S,[vertcat(S,[ xxxx yyyy ones(size(x,1),1)* zones(size(x,1),1)* zones(size(x,1),1)* zones(size(x,1),1)* z ]);]);]);]);

endendendend

89

Page 101: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Artical

VASPVASPVASPVASP编译个人心得veryman(veryman(veryman(veryman(萨百晟))))厦门大学材料学院

[email protected]@[email protected]@gmail.com

1、编译器,PGI和 INTEL 的都很可靠,但是 PGI的试用

期只有 7天,半年只能申请一次;INTEL 的每次申请的试用期

是一个月,可以一直申请,个人推荐。最好不要用 10.0或者 10.1的,很多人遇到了楼主遇到的问题,我也遇到过,降低优化的

优先级并不能确保避免这个问题。ifort11被官方认可为可以正

确编译 vasp了。经我个人测试了大概 7、8个版本的 ifort 吧,

11.0.074是我现在在用的,编出来的 vasp在速度和稳定性上都

非常不错。

2、数学库,主要有 fftw和 lapack,其实如果是使用 ifort11的话,这些在它附带的 mkl里面都有,可以直接用。但是 fftw我个人推荐 fftw3,用 mkl 的 fftw还存在要按照 ifc 编译的问题,

而且会出问题,不好有效解决。使用fftw3就可以绕过这个问题,

我用的版本是 fftw3.1.3。至于 GotoBLAS 用起来和 mkl 差别不

大,只有一个文件,引用起来比较容易,速度应该会比mkl快10%左右,个人没测试过,个人推荐用 ifort11带的 mkl。还有一个

就是 scalapack,很多时候 vasp不推荐用它,但是编译的时候可

以带进去。这东西单独弄起来超级复杂,但是 mkl 有带,这也

是我推荐 mkl 的一个原因。

3、mpi,mpich2是首选,只是需要一些编译技巧,个人

推荐使用 gforker管理单机任务,mpd管理多机互联。也就是说,

如果只有单机的话,mpd是可以不要的。

4、Makefile的解释:

Example file:vasp.4.6/makefile.linux_ifc_P4为了节省版面,我把没有说明的部分都略去了,最好结合

原文件一起看。

.SUFFIXES: .inc .f .f90 .F 这行是所谓隐含规则,

定义了下面会使用到的一些变量,不需要更改,如果只是想编

译 VASP 的话大概知道就好了,详细的定义可以去学习 makefile的相关教程。

#----------------------------------------------------------------------- #开头的是注释,里面是一些可以阅读的信息和未被使用的语句,初学者最好都看一下。

# all CPP processed fortran files have the extension .f90SUFFIX =.f90 定义默认的编译 后缀为 f90#-----------------------------------------------------------------------# fortran compiler and linker#-----------------------------------------------------------------------

FC=ifc 定义 fortran 编译器为 ifc,现在一般我们用的是 ifor t或者 pgf90 之类的。# fortran linker

FCL=$(FC) 定义 fortran 的 linker 为便利FC,也就是上面的 ifc 啦。#-----------------------------------------------------------------------# whereis CPP ?? (I need CPP, can't use gcc with proper options)CPP_ = ./preprocess <$*.F | /usr/bin/cpp -P -C -traditional >$*$(S UFFIX) 定义 C预编译器,这个不同系统不一样,但是只要选对了 makefil e就不需要改。#-----------------------------------------------------------------------# possible options for CPP:CPP = $(CPP_) -DHOST=\"Li nuxIFC\" \ C预编译器的参数,在上面的注释和说明书里面都有讲到,一开始可以不管,后面再根据需要的功能 调整。

-Dkind8 -DNGXhalf -DCACHE_SIZE=12000 -DPGF90 -Davoidalloc \# -DRPROMU_DGEMV -DRACCMU_DGEMV#-----------------------------------------------------------------------# general fortran flags (there must a traili ng blank on this line)#-----------------------------------------------------------------------

FFLAGS = -FR -lowercase -assume byterecl fortran 编译器的参数,需要根据使用的编译 器不同更改。早 先ifc 的参数现在的 ifor t大多已经不支持。

OFLAG=-O3 -xW -tpp7 中间生成文件的参数,也是需要更具编译器不同更改的。

OFLAG_HIGH = $(OFLAG) 把变量 OFLAG_HIG H定义成 OFLAG,不需要改。

OBJ_HIGH = 留空的参数,不管它就好

OBJ_NOOPT = 同上

DEBUG = -FR -O0 debug模式下的编译参数,不管它。

INLINE = $(OFLAG) 把变量 INLIN E 定义成OFLAG,不需要改。

下面是一定要更改的 ~数学函数库的选择:#-----------------------------------------------------------------------# the following lines specify the position of BLAS and LAPACKBLAS= /opt/libs/libgoto/libgoto_p4_512-r0.6.so 定义函数库 BLAS 的路径

LAPACK= ../vasp.4.lib/lapack_double.o 定义函数库 LAPACK的路径

这两行是一般困然初学者的最大问题,需要根据自己机器的实际 情况更改。

#-----------------------------------------------------------------------LIB = -L../v asp.4.lib -ldmy \ 定义编译 VASP 时候使用到的库 文件,里面包括 vasp.4.li b里的文件和上面定义的 BLAS 和 LAPACK。

../vasp.4.lib/li npack_double.o $(LAPACK) \$(BLAS)

# options for linking (for compiler version 6.X, 7.1) nothing is required

LINK = 一个很重要的参数,却被 VASP 开发者默认留空了。一 般要加上编译器的 svml 文件地址和 fftw3.f 的地址。

FFT3D = fftw3d.o fft3dlib.o /opt/libs/fftw-3.0.1/li b/libfftw3.a 定义 fft数学库,也就是所谓的快速傅里叶变换数学库,推荐使用 fftw3,需要改下最后 libfftw3.a 的地址。#-----------------------------------------------------------------------

# MPI section, uncomment the following lines 接下来是并行编译的部 分了。如果使用这部分的话,前面出现过的同样的函数 将不再起作用,而是被后面的取代。

#FC=mpif77 并行的 fortran 编译器。

#FCL=$(F C) 并行的 fortran 编译器 linker。#CPP = $(CPP_) -DMPI -DHOST=\"Li nuxIFC\" -DIFC \ 并行的 C预编译器参数。

# -Dkind8 -DNGZhalf -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc \# -DMPI_ BLOCK=500 \## -DRPROMU_DGEMV -DRACCMU_DGEMVBLACS=$(HOME)/archives/SCALAPACK/BLACS/SCA_=$(H OME)/arc hives/S CALAPACK/S CALAPACKSCA= $(SCA_)/libsc alapack.a \$(BLACS)/LIB/blacsF77init_MPI-LIN UX-0.a $(BLACS)/LIB/blacs _MPI- LINUX-0.a $(BLACS)/LIB/blacsF77init_MPI-LIN UX-0.aSCA=

上面这几行是定义 SCALAPACK的函数,一些具体的说明我会写在后面的部 分。

#LIB = -L../v asp.4.lib -ldmy \ 编译并行版本 VASP 时候使用到的库 文件。

# ../vasp.4.lib/li npack_double.o $(LAPACK) \# $(SCA) $(BLAS)

#FFT3D = fftmpiw.o fftmpi_map.o fft3dlib.o /opt/libs/fftw-3.0.1/li b/libfftw3.a 并行版本的 fft数学库,也只要改 下 libfftw3.a 的地址就可以了。

接下来就是正式编译的命令了,除非要使用修改版的 VASP,否则不需要更改。

# special rules 这些是特殊的编译规则,就是说当遇到某个文件编译不过去的时候可以修改这里的参数,一般也不需要管它们。fft3dlib.o : fft3dlib.F

$(CPP)$(FC) -FR -lowercase -O1 -tpp7 -xW -unroll0 -e95 -vec_report3 -c $*$(SUFFIX)

90

Page 102: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

Research of Computation and Simulation, 2020202010101010,,,, Vol. 1, No. 1

Volcker Report

量子化学研究应该怎么做

hairanhairanhairanhairan

元旦前的 12月 29日,hiaran在量子化学版发起了一个调

查,讨论量子化学研究应该怎么做?

帖子地址如下:

http://emuch.net/bbs/viewthread.php?tid=1763305本次投票共设两个选项,分别为:

1、应该主要以发展新方法为主,然后通过对一些化学问

题的解决证实方法的正确性。

2、应该以应用量子化学方法解决化学问题为主,遇到问

题再发展方法解决。

本次调查共获得虫友有效投票 78次,其中支持选项 1的投票为 13次,占投票总数的 16.67%,支持选项 2的投票为 65次,占投票总数的 83.33%。

从投票结果上看,大多数虫友支持“应该以应用量子化学

方法解决化学问题为主,遇到解决不了的问题再发展方法解决”

的研究模式。这个投票从一定程度上反映了国内量子化学研究

的状态。

代表性建议(顺序不分先后)mengfc:我觉得,对我们一般做量化的选择第二种,因为现有的一些

程序方法可以不错的解决问题。方法的这块感觉难处成果。但现在的问题,

我们用的方法有国人写的吗?我们用的量化程序有国人写的吗?对后面两

个问题,我觉得从发展中国量化上来说,有必要去研究方法,我也很期待着

国产的量化软件的出现!让洋鬼子都出钱买咱们的版权!

zhangwc5020:个人认为:应用是最重要的,是动力,是起点,我支持

第二个选项!

liuxiaomai:我觉得两者都是量化要做的研究,目的是以应用量子化学

方法解决化学问题,必要过程是发展新方法,这譬如磨刀不误砍柴工。

zpppanda111:所谓的理论用来指导实验,实验为理论研究提供对象,

目前的量子化学应以解决化学问题为主。但是提前发展理论也不为过,因为

理论上可以预测的,实验上可能无法做到。llhaustin:我支持第一种想法。因为真正的理论创造或者说真正有想法

的理论创新,都在发展新方法、新思想里面。这个和数学可能有点相似。如

果只是一味地强调应用,遇到问题再解决方法的问题,那会使理论思维受到

极大的限制,而且会过度地滞后于实验。工程问题和物理基础问题会促进数

学的发展,但真正的数学方向的发展要远远超前于实际的需求。非欧几何、

矩阵、群论,我们理论化学人经常接触的几个,无不是这样的例子。希望在

这块阵地上,千万别再出现“造不如买”的后果。

quantumor:楼主的选项太少。实际上,两个选项我都想选,而且都是

必须的。这两个选项实际上对应着理论量子化学和应用量子化学。没有理论

量子化学的发展与基础,便不可能有应用量子化学的结果。正如当今相当多

的人热衷于搞什么“应用”化学而不愿花时间学习化学理论一样,没有化学

的理论基础,我们能去应用什么呢?

fcfifa2002:第二种,但是我认为,如果有实力的话还是对于方法的研

究更值得研究也更值得发展,因为这是硬件!这个发展好了才能更好的解决

问题!zhuanyong:基金委有基金委的考虑,但个人也有个人的考虑。不能被

人牵着鼻子走,那样走不远,看不透,做不长,吃不饱。

czyzsu:的感觉就是计算化学需要很强的理论基础,所以计算软件的开

发那是更需要深厚的理论基础和深刻的计算编程经验。

因此一般来说绝大部分的人(包含我本人)都是拿来主义,那个软件

好用、那个计算方法流行,就用那个。而开发计算软件的具有相当的内力才

行,比如我们国家的 BDF。hzfish:在目前的科研评价机制下,没有人愿意出力不讨好,大部分人

都是花钱买软件,招学生计算,发文章,搞课题。国内做方法人很少,开发

软件更是凤毛麟角,因为做方法和开发软件见效慢,很完成单位规定科研工

作量,完不成工作量,再申请课题难,收入也大打折扣,也有可能被解聘。

在当前就业形式下,又有多少硕士、博士是真正愿意搞科研的,大家无非是

想拿个证找工作而已。

csfn:在我们国家,目前没有文章就没有项目,也没有奖励,其他东西

更没份了。做纯方法的人不好出文章,很可能“不成仁便成义了”。如果是

为了科学为献身的不担心生活的人,应该大力鼓励引导去从事这方面的研

究。但是如果只是普通老百姓出身,需要迫切考虑生活,还是先选择第二项

吧。先 2后 1,生活不愁再说吧

hairanhairanhairanhairan的点评

量子化学方法实际上也是为了解决化学问题而被发展起

来的,方法的开发实际上和实验上仪器的开发是一样的,目的

都是为解决化学问题提供一种新的研究手段。因此,大多数虫

友选择第二项是从源头上面是正确的。

但具体到中国的国情又不太一样。国内大多数高校都不具

备完善的实验条件,而学校又逼着教师出科研成果,恰巧 98年计算化学方向的科学家获得了诺贝尔化学奖,因此投资少,又

能发文章的计算化学就一窝蜂的在这些实验条件不完善的学校

开展起来。不可否认,计算化学一样能作出杰出的工作,但在

中国已发文章为目的的科研模式下,大多数计算化学的工作是

在盲目的跟谁国际上的研究热点。研究的方向是国外的大牛挑

起来的,研究的方法大多数也是他们提的或者开发的,因此我

们的研究整体上缺乏深度和原始性创新。这一点,国家早就看

出来了。因此在国家提倡原始性创新的背景下,我们计算化学

领域的原始性创新也就只剩下方法开发这一个大的方向。基金

委对基金审批的导向也在这个背景下开始向方法开发倾斜,个

人认为这个导向是正确的。

但是,具体到我们个人怎么来研究时,我们要因地制宜,

在本版的虫子估计没有那种大牛级的人物,因此我将虫子大致

分成两类,

一类是跟随吃喝不愁的大牛工作,将来肯定有吃喝不愁的

待遇;另一类是在一般学校或者条件差的科研院所单打独斗的

青椒和全体研究生。

对于第一类,只要有献身科研的信念,自可以选择本次调

查的第一种研究模式,但你需要耐得住寂寞,顶住出不了成果

的压力,将来你肯定也能成为大牛。

对于第二类,我们需要再分成两种,一种是我发发文章,

找个工作或者混个职称就满足的乐天型,此类虫子就一直坐调

查中第二种研究模式,但不用在遇到解决不了的问题时开发方

法,能做的东西多的是,解决不了,放到一边去,有人能解决

的时候再说;

另一种是还想在科研方面作出一些事情,以科研为乐趣和

挑战。我想对有这一种想法的虫子,骑士区长在最后给的建议

不失为一种好的研究模式。就是先做选项 2的东西,积累起了

合适的条件再做选项 1中的工作。

厦门大学的会议上,江元生院士在开幕式致辞中慷慨激昂

的痛斥官本位的科研管理模式,使大家大呼过瘾,同时他还鼓

励大家不要为计算化学现在的一时困难所吓倒,他预言科研的

管理模式一定会改变的,我们的搞计算化学人的境遇也一定会

好起来的。

91

Page 103: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

MS 问答专栏整理版

答疑者:liuxiaocundeliuxiaocundeliuxiaocundeliuxiaocunde、identationidentationidentationidentation、B.C.WangB.C.WangB.C.WangB.C.Wang、yjmaxpayneyjmaxpayneyjmaxpayneyjmaxpayne、linggang87linggang87linggang87linggang87、csfncsfncsfncsfn、sars518sars518sars518sars518、huangychuangychuangychuangyc、xiaowandouerxiaowandouerxiaowandouerxiaowandouer、bay__gulfbay__gulfbay__gulfbay__gulf、njuswjnjuswjnjuswjnjuswj

整理者:identationidentationidentationidentation

1.1.1.1. MSMSMSMS 中如何画ZnOZnOZnOZnO 的三维晶体结构?答:以六方钎锌矿结构 ZnO 为例,查到六方 ZnO 空间群(SpaceGroup)为P63MC(No.186);晶胞参数为 a=3.25Å、c=5.21 Å。点击

工具栏中的 Build→Crystals→Build Crystal,弹出对话框,在 EnterGroup中输入 186后按 Tab键,点击对话框上的 Lattice Parameters,在 lengths 下面的 a和 c 框中分别输入 3.25和 5.21,点击对话框上

的 Build按钮;点击工具栏中的 Build→AddAtoms→在 Element中把元素换成 Zn,a、b、c中分别输入 Zn 的原子坐标(晶体数据库

中可查):0.333、0.667、0.000,点击 Add;同样方法,把元素换成

O,a、b、c中分别输入 O 的原子坐标:0.333、0.667、0.383,点

击 Add ;关 掉 Add Atoms 对话 框 , 点 击 工 具 条 中 的

Build→Crystals→Rebuild Crystal,点击弹出对话框下面的 Rebuild按钮,完成建模。

建模是每个初学者必经之路,此问题对晶体中的建模有普遍借鉴的

意义,其中的操作步骤也同样适用于其他晶体。 熟练的建模技术

是做计算模拟的虫子的一个法宝, 建议虫子们在这个基础上多多

练习, 争取早日掌握 MS 建模技巧。

2.2.2.2. 怎样在单胞中替换原子?答:一般做掺杂计算,可以根据要掺杂的浓度建立一个足够大的超

晶胞,然后把相应要替换的原子改成掺杂原子。以立方闪锌矿结构

ZnO 为例,立方闪锌矿的结晶学晶胞中包含 8个原子(Zn 4O4),例

如要用 0.125 百分含量的 S 取代 O 原子(ZnO 0.875S0.125=>Zn8O7S),

可以在 ZnO 结晶学原胞的基础上如下进行:点击工具条上的

Build→Symmetry→Supercell,在 A、B、C后的框中分别输入 1、1、2,点击 Create Supercell,然后选中要替换的 O 原子,点击工具条中的

Modify→Modify Element→Periodic Table→选中 S 原子,点击 OK,

建模完成。如果要在 ZnO 的结晶学晶胞中(Zn4O4)把一个 O 原子

换成 S 原子,因为体系此时的对称性为 F-43M,那么当你把其中一

个 O 原子Modify成 S原子时,你会发现:所有的 O 原子都变成了

S 原子 , 解 决 这 个 问 题 首 先 你 要 点 击 工 具 栏 中

Build→Symmetry→Make P1,之后再在要取代的 O原子位置,按上

述办法把 O 原子Modify成 S原子,那么得到的就是 0.25百分含量

的 O 被 S取代的 ZnO 0.75S0.25模型了。

3.3.3.3. 无序固溶体怎样建模?答:以A-B合金无序体系的建模为例,可以先选取一个足够大的 A晶体超晶胞,随机选取 A 的位置用 B取代,要把各种可能情况都

考虑到。此外,MS4.0 以上的版本支持一种叫做虚拟晶体近似

(Virtual Crystal Approximation, VCA)的建模方法,使得可以指定

x%A 原子+(100-x)%B原子(当然,也可以是三种或三种以上原子)

占 据 晶 胞 中 同 一 个 位 置 , 具 体 建 模 操 作 :

View→Explorers→Properties Explorer,然后选定要替换的原子,双

击 properties 框中的 ismixtureatom进行设定。关于虚拟晶体近似,

根据淡江大学李明宪老师的说法 [参见 CASTEP/Materials Studio 计

算化学高级训练课程-CASTEP 实战守则-模型选定]:“这种方法的

精确度通常只适用于合金材料,故要小心使用。”因此,如果对二

元合金计算,根据计算的晶格常数与 Vegard定律、部分实验值或

CPA等计算值的符合情况有助于对 VCA 计算的可靠性进行判定。

4.4.4.4. 如何利用MSMSMSMS 建立表面膜型?答:关于此问题,小木虫论坛介绍了构造 sqrt(3×2)的 Pt(111)表面,步骤如下

[网址 http://emuch.net/bbs/viewthread.php?tid=646969&view=old]:A、打开MSmodeling,建立一个项目,如 test;B、右击 test项目,在下拉菜单中选择 import,在弹出的菜单中选

择 Structures/metals/pure-metals/Pt;C、在主菜单中的 Build选择 surfaces/Cleave surface;D、在弹出的菜单中处理数据

(i)在 surface box界面下

a)你所要做的表面 [例如(111)晶面],也就是将 cleave plane [h k l]修改成 [1 1 1],b) 修改深度,即将 depth修改成你所需要的原子层数(如 4 层);

(ii)在 options界面下

将 Orientation standard选项改成 U 矢量沿 x轴方向,V 在 xy平面;

(iii)在 surface Mesh的界面下

修改 U,V矢量,如保持 U 不变,将 V 矢量修改成 0.5 0.5 -1;E、点击 cleave,产生一个[1 1 1]的表面模型;

F、在主菜单中的 Build选择 Crystals/Build Vaccum Slab;G、在弹出的菜单中修改相应的参量,比如将真空厚度修改成

14angstrom, 点击 build产生一个 Slab模型;

H、在主菜单中的 Build选择 Symmetry/supercell,将单胞修改成你

所需要的大小(如将 A 修改成 2,点击 Create supercell);这样产生了你所要的表面。

5.5.5.5. 如何构建固溶体晶胞?答:以B固溶于 A 中的 A-B合金固溶体为例,以A 为基的合金固

溶体,其晶体结构和 A 一致。因此先构建 A 晶体的超晶胞,超晶

胞的大小根据 B固溶于 A 中的浓度确定,然后把 A晶体超晶胞的

某些 A 为原子替换成 B原子;至于 A-B固溶体晶格常数(即先前

所见 A 超晶胞晶胞常数)的确定,可以根据 vegard定律,但建模

之后还是要对体系进行几何优化,获得平衡态的结构,然后才可进

行后续计算或建模。

6.6.6.6. 纳米管模型构建的两个问题。(1)如何在MS中构建大口径的碳纳米管?

答:MS4.0以上版本提供专门构建碳纳米管的模块,在其中可以完

成Single-wall/Multi-wall以及Periodic/Non-periodic等碳纳米管的建

模。以单壁碳纳米管为例,单击工具栏中的 Build→BuildNanostructure→Single-wall Nanotube,把弹出对话框中的 N 和 M、

Type以及Bond length设定为需要的数值[如果要构建周期性的碳纳

米管,即把碳纳米管放置在晶体中,还要保证 Periodic nanotube是勾选的;若构建的不是周期性的,则无需勾选 Periodic nanotube],然后点击对话框下部的 Build按钮,即可完成构建。

(2)构建碳纳米管时改变Bond length后,各原子之间的化学键不

显示了应该如何调整?

答:在构建纳米管模型时,有时要根据文献值调整 Bond length,这

可能导致构建出的纳米管原子之间相互孤立,没有化学键连接。对

此,可通过点击工具栏中的 Build→Bonds,在弹出的对话框中点击

Connectivity Options,通过调整 Bond-length tolerance 下面的 From和 To参数进行。

92

Page 104: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

走进 rcs 走近 csfn

RCSRCSRCSRCS主编主编主编主编csfncsfncsfncsfn 采访录采访录采访录采访录

木虫记者雨霏(yurou1218)很荣幸采访计算模拟区区刊的主编 csfn,首

先要谢谢计模区区务所有为这次采访出谋划策的

版版们,尤其是被我选中问题的那几位。

主要霏是首次采访,而且还是采访主编,不

免有些紧张。只不过还好,还是坚持下来了……硬

着头皮终于在某天临睡前开始了这个采访,整个采

访一直是围绕期刊打转,不敢问到八卦,虽然自己

也很想问,嘿嘿 。最后就问到一个小小的八卦,

别拍我(以下是采访记录)

霏:2007年 12月 3日,wangyulnu宣布小木

虫计算模拟版成立,小木虫计算模拟版即将 2岁了,在这周年庆典来临之际,计算机模拟版筹划出

一本属于计算区区刊《Research of Computation andSimula tion》。你作为主编,面对即将出炉的区刊,

你的心情如何?

csfn:万千欣喜,说实话,是真的很高兴和

期待。以前也曾经多次想策划出版一个小木虫计算

的电子书或期刊,但是一个人总感觉力不从心。记

得那时候就我一个人和国防科技大学一个硕士生

整理了计算版所有的资源帖,然后出版了一个简单

的 ms 电子书。

那个虫子的 id 是:lm_nudt那本电子书是:计算模拟版之MS专辑

http://emuch.net /bbs/viewthread.php?tid=870818非常辛苦,但是这个简单的电子书却受到了

很大的关注。多家论坛转载,在网络上广泛留传,

至今在计算区都一直不断收到虫子的好评。现在有

这么多热心的朋友一起来办这个期刊,我相信肯定

能取得成功。非常期盼他能第一期的成功出版,感

谢所有朋友的支持:-)

霏 :能说说创建这个区刊的初衷吗

csfn:开始希望能将小木虫计算 2年来的精

品资源,有代表性的求助问题,原创学术帖整理出

来,为做计算的朋友提供一本精品电子书。

霏:目前的期刊主要集中在量化版块,非量

化版块应该如何做才能突出其特色,积极参与到期

刊发展中?

csfn:期刊定位在计算和模拟,并非集中在

量化版块。因此非量化版块应该积极参与进来,需

要编辑,版主,以及虫子都大力支持才可能带动和

促进非量化版块的发展,以及在期刊中的影响。

霏:很高兴,在计算机模拟区周年庆典到来

之际,能出这个区刊,请问主编对于新期刊今后的

发展你有什么想法?

csfn:希望期刊能扎实的办好,扎根小木虫

计算,也超越小木虫计算。争取办成一本成功的电

子期刊,能真正的为做计算的朋友服务。希望能有

机会将期刊或部分内容变成纸版出版。

霏:很高兴我能采访主编。让我们共同期待

此刊能顺利出刊。最后霏代表个别虫友问个比较八

卦的问题。听说您很帅,谈对象了嘛?对于您的私

人生活和论坛生活,两者哪个更重要?在繁忙的科

研生活中,您是如何处理平衡的?有没有想过在论

坛中物色一个漂亮美眉?

csfn:关于对象问题,真的是还没有,这是

一个费心的问题,呵呵,因为不是一个人能解决的 。

私人生活和论坛生活,我认为是私人生活更重要。

但是现在对我来说,很多时候是交杂到一起了。论

坛是虚拟的,容易沉迷。科研是现实的,容易苦恼 。

但是应该正面现实。不过偶尔可以到论坛上来休闲

下。尤其是遇到苦恼时候,来论坛和大家交流下科

研,或许就能豁然开朗。我周围很多朋友虽然都在

国外,但都乐于在小木虫上和大家交流学术科研问

题。呵呵,论坛上的美眉很多,确实曾经想过。不

过光靠网络可能不行,毕竟感情最后需要走入现实

交流:-)

整个采访从开始到结束不到半小时,霏的首

次采访就这样结束了…… 不管怎么样,衷心祝福

csfn 在日本顺利,计算机模拟区越办越好,期刊

首刊成功。

93

Page 105: 计算与模拟研究 - Fuzhou Universitymcmf.fzu.edu.cn/attach/2014/12/17/58046.pdf · e¯ zÄ"¼ ã/67 já Û ¡ h s $ ü,ó r0nkÈÞ¹,È4 e¤|È ¾ Ý0ï 5 è $ Ûß,x/67 ! v!8È

RCSRCSRCSRCS编辑部各部门负责人

排名不分先后

主编 csfn常务副主编 yjcmwgk

ChemPhys&PhysChem 分部

Gaussian 办公室负责人 erylingjetMS 办公室负责人 yjmaxpayneVASP 办公室负责人 fegg7502量子化学基础理论办公室负责人 yjcmwgk

分部编辑:jiewei、逍遥游、仙人球、钟成、abinit、hairan、aylayl08、freshgirl、greekgreek、

iamkz、kugou521、放飞梦想、qasd、Robin、trickle、wuli8、zld ing、古德里安、花楹、外星人

MC&MDMC&MDMC&MDMC&MD分部

MC办公室负责人 lei0736MD 办公室负责人 bay__gulf618

Sim&ProgSim&ProgSim&ProgSim&Prog分部

仿真办公室负责人 nono2009编程办公室负责人 senlia

分部编辑:hitzhang、wangen994、wuguocheng、专业无聊人

工具与美工分部

科研工具办公室负责人 jassica文艺美术办公室暨记者站负责人 yurou1218

分部编辑:风之惑、duyuhai、暖

排名不分先后

投稿邮箱 [email protected]

identation

封面设计:风之惑

ChemPhys&PhysChemChemPhys&PhysChemChemPhys&PhysChem