笔者经常碰到小伙伴在用Gaussian软件计算涉及自由基的反应时,不清楚何时该加关键词guess=mix,何时不该加;也可能会有师兄/老师这样告诉新手:碰到自由基一律用guess(mix,always)。前者可能量化基础不扎实,碰到这类问题不懂;后者则可能缺乏实际计算经验。趁假期有空,正好写上一篇,详细解释一下。当然,笔者写的绝对不是标准答案,只能力求合理性和正确性,仅供对这个问题不清楚的小伙伴们参考。

为方便起见,本文仅讨论RHF和UHF,所有内容对DFT同样适用。对UHF计算不熟悉的新手可以阅读本公众号发过的软件教程《用Gaussian做UHF计算》。本文中所涉及计算皆使用G16 A.03。

首先给出简单的结论:(1)guess=mix只在自旋极化单重态(即使用UHF方法在单重态下做计算,发现有严重自旋污染)时需要考虑加,其他情况(如二重态、三重态)等无需考虑这个问题;(2)always表示在结构优化的每一步中都执行guess=mix。顾名思义,这只在结构优化中可能有用,而在单点计算中无需加、加了也没用。

接下来我们一一解释。关于自旋极化单重态和guess=mix的含义,Sob老师的博文《谈谈片段组合波函数与自旋极化单重态》(http://sobereva.com/82)讲得十分详细,强烈推荐经常做此类计算、但又还没看过博文的小伙伴仔细阅读。这里再举一个简单的单点计算实例:在UHF/STO-3G水平下计算键长为2.0 Å的H2分子,对于如下三种关键词写法:

(1) #p RHF/STO-3G nosymm(2) #p UHF/STO-3G nosymm(3) #p UHF/STO-3G nosymm guess=mix

其中,写法(1)和(2)得到的电子能量是一样的,均为−0.783792 a.u., = 0,SCF迭代圈数均为1圈。打开(2)的log文件搜索Initial guess,会发现其波函数初猜是自旋纯态 = 0。这说明UHF默认的初始轨道与RHF的初始轨道是一样的,alpha、beta两列轨道一模一样。另外,由于是单重态,alpha、beta两列轨道里的电子数也是一样的。这些因素导致了迭代过程和结果也一样。

这样的UHF计算和结果显然没有太大价值,多花了计算时间却得到与RHF一样的解。而guess=mix的作用就是混合HOMO与LUMO轨道,使UHF的初始轨道与RHF不同,这样迭代就有可能收敛到更低的解上。

写法(3)得到的结果为−0.937213 a.u., = 0.946,能量明显低许多,代价是自旋不严格等于零,即不再是纯态。打开其log文件搜索Initial guess,会发现波函数初猜就已经不是纯态 = 1.0。

mix具体的做法并没有统一规定,可以是只混合alpha列的HOMO与LUMO轨道,也可以是alpha、beta两列的HOMO与LUMO轨道各自混合、但混合方式不一样。从Sob博文中展示的例子可以看出高斯是采用后者。当然,我们也可以自己手动操作一番,加深理解。例如,将下列计算产生的fchk文件打开

h2_uhf_only.gjf文件内容:

%chk=h2_uhf_only.chk#p UHF/STO-3G nosymm guess=(only,save)Title Card0 1H   0.0   0.0   0.0H   0.0   0.0   2.0

h2_uhf_only.fchk文件部分内容(修改前):

Alpha MO coefficients                      R   N=           4  6.68386924E-01  6.68386924E-01  7.53443037E-01 -7.53443037E-01Beta MO coefficients                       R   N=           4  6.68386924E-01  6.68386924E-01  7.53443037E-01 -7.53443037E-01

h2_uhf_only.fchk文件部分内容(修改后)

Alpha MO coefficients                      R   N=           4  1.00538561E+00 -6.01437543E-02 -6.01437543E-02  1.00538561E+00Beta MO coefficients                       R   N=           4  6.68386924E-01  6.68386924E-01  7.53443037E-01 -7.53443037E-01

容易看出,上述改动仅是将alpha一列轨道的HOMO与LUMO轨道混合了一下。更具体地说,就是按照如下公式进行混合(此即等比例混合):

再使用命令

unfchk h2_uhf_only.fchk h2_uhf_only.chk

将修改后的fchk转回chk文件。将gjf文件内关键词guess=(only,save)改为guess=read,重新提交计算,即可得出较低的UHF能量−0.937213 a.u.。当然,等比例混合只是一种做法,也可以用 (根号3)/2、1/2这种搭配,保持轨道的正交归一性即可。高斯内部源代码实现的就是这种功能,只不过我们举了个最简单的例子,用计算器就能算。

但若混合比例很离谱,比如在这个例子里直接把HOMO、LUMO轨道互换(这相当于把波函数直接置于鞍点上)

h2_uhf_only.fchk文件部分内容(再一次修改):

Alpha MO coefficients                      R   N=           4  7.53443037E-01 -7.53443037E-01  6.68386924E-01  6.68386924E-01Beta MO coefficients                       R   N=           4  6.68386924E-01  6.68386924E-01  7.53443037E-01 -7.53443037E-01

再转化为chk文件,使用guess=read提交计算,也能立即收敛出一个能量−0.665399 a.u.,但明显高很多,说明这种混合不合理。

我们还可以举出很多guess=mix有效的例子,如单重态O2分子、单重态卡宾、并苯体系(并的环越多,自旋污染越大)等等。

高斯的guess=mix虽然很傻瓜、黑箱化,很多时候很好用,但它不能保证没有其他更低的UHF解,也不能保证收敛到一个稳定的UHF波函数,少数时候甚至连对称性破缺波函数都得不到。这些情况笔者在平时计算中也见过几例:

(1)O2在键长1.25 Å时,仅使用

#p UHF/cc-pVDZ nosymm guess=mix

得到的电子能量为−149.589479 a.u.,对应=0.627,确实是对称破缺的,有自旋污染。然而如果加上关键词stable=opt算,会发现输出文件内提示内部不稳定性

The wave function has an internal instability

并自动使用二阶优化方法继续优化至稳定,能量为−149.596725 a.u.,对应=1.015,能量更低,自旋偏离纯态更多。实际上在这个例子里,O-O键长大于1.16 Å的几乎所有点都会有这个问题。

(2)自由基引发剂tBuOOH(叔丁基过氧化氢)分子,在M062X/6-31G(d)水平下优化得平衡几何结构,然后将O-O键长拉至1.90 Å,仅使用关键词

#p UM062X/6-31G(d) nosymm guess=mix

算单点得到的电子能量为−308.590951 a.u.,对应 = 0,显然是收敛到了RM062X的解上。但是一旦加上stable=opt,会发现能量降为−308.594232 a.u., = 0.439。

所以笔者的建议是,用guess=mix时总是加上stable=opt,即检验波函数稳定性,若发现不稳定则优化至稳定。

如果仅写stable,表示只检验波函数稳定性,若稳定则结束;若不稳定只会输出不稳定信息然后结束,不会继续优化至稳定。这时候还要手动补交guess=read stable=opt任务,相当于波函数稳定性检验了两次,多费了些时间,因此不如直接用stable=opt简单。

有三点要注意:(1)高斯中stable=opt不能与结构优化,限制性优化或IRC等一起使用(除非自己写脚本实现,但可以预见计算量会很大);(2)stable=opt只能保证得到稳定的波函数,对一些极特殊情况仍不能保证没有其他更低的UHF解,这一点以后再展开;(3)没有opt=stable这种东西。

诸如二重态、三重态这些情况,alpha、beta两列初始轨道可以一模一样,但由于两列轨道中的电子数不一样,对应的密度矩阵也不一样,因此不存在上述问题,无需guess=mix。

Reference

1. 《谈谈片段组合波函数与自旋极化单重态》http://sobereva.com/82

2. https://chemistry.stackexchange.com/questions/42005/initial-guess-for-unrestricted-hartree-fock-calculation

gaussian 和gaussview_谈谈Gaussian软件中的guess=mix相关推荐

  1. 谈谈对java中分层的理解_让我们谈谈网页设计中的卡片设计

    谈谈对java中分层的理解 "I want a card", this is the first demand point that the customer said in th ...

  2. android属于数据库管理系统,详细谈谈Android系统中的SQLite数据库的应用

    数据库是按照数据结构来组织.存储和管理数据的仓库,而在信息话的社会,数据库又不单单仅限与数据的相关内容,现在数据库技术是管理信息系统.办公自动化系统.决策支持系统等各类信息系统的核心部分,而SQL是结 ...

  3. 谈谈数字化转型中数据治理框架及数据战略规划的关键要素

    当前,数据作为新的生产要素提到了关键位置,众多组织认为数据是重要的战略资产.可是,如何发挥数据要素的生产力,数据资产又如何为企业创造价值,确有些无从下手.那么,这就是数据战略要解决的问题.企业怎么看待 ...

  4. cad沿线插入块 lisp_CAD制图软件中如何快速绘制推拉窗平面简图

    CAD建筑软件中为了方便绘图提供了强大的建筑门窗绘制功能.但是当电脑中没有CAD建筑软件的时候,怎么才能快速绘制出门窗或者简图呢?下面给大家分享一下CAD入门学习教程之在浩辰CAD中绘制推拉窗平面简图 ...

  5. invalid project description._[Project教程] 在Project软件中如何处理加班工时

    在微软Project软件中有处理加班工时的功能,但是我在系统课程中没有讲,为什么呢?就像Project软件中的[进度线]功能,这个功能还不够完善,所以暂时不建议大家使用.加班工时这个问题也是如此,总体 ...

  6. 软件中的易用性设计及测试(三)之实践

    易用性测试 在<软件工程产品质量>质量模型中,提出易用性包含易理解性.易学习性和易操作性:即易用性是指在指定条件下使用时,软件产品被理解.学习.使用和吸引用户的能力.易用性测试包括针对应用 ...

  7. cad打印样式ctb丢失_CAD制图软件中如何设置CAD打印样式表(CTB)?

    在浩辰CAD制图软件中绘制完成图纸后经常需要将其打印出来,一般情况下是用CAD打印样式表来控制打印输出效果,最主要的是输出颜色和线宽,当然还包括其他一些细节效果.有些CAD制图初学入门者不知道如何设置 ...

  8. 中如何构造有参和无惨_CAD制图初学入门:CAD机械软件中如何构造孔?

    在绘制图纸的过程中,如何快速构造不同类型的孔?刚开始进行CAD制图初学入门学习的小伙伴可能对此并不是很了解,那么下面小编就来给大家详细介绍一下构造孔的CAD制图初学入门教程吧! CAD机械软件中构造孔 ...

  9. 谈谈WEB开发中的苦大难字符集问题

    记得刚做javaweb开发的时候被这个编码问题搞得晕头转向,经常稀里糊涂的编码正常了一会编码又乱了.那个时候迫于项目进度大多都是知其然不知其所以然.后来有时间就把整个体系搞了个遍,终于摸通了来龙去脉. ...

  10. 如何控制在一个软件中特殊的字符比如#都显示为红色呢?该字符是作为标签中的内容出现的,可能出现在JLABEL,JCheckBox,JCombox的标签中的,

    如何控制在一个软件中特殊的字符比如#都显示为红色呢?该字符是作为标签中的内容出现的,可能出现在JLABEL,JCheckBox,JCombox的标签中的, 1)在资源文件中该如何配置, 2)如果是硬编 ...

最新文章

  1. ceph 面试_终于有人把Ceph分布式存储讲清楚了!
  2. Java集合篇:集合细节:为集合指定初始容量、asList的缺陷、subList的缺陷
  3. 洛谷P1157----组合数的输出
  4. 【Python函数】——sort,sorted
  5. 常用模块之 time,datetime,random,os,sys
  6. java比较equlse_java基础知识要点
  7. HTML animate()动画更改多个元素背景颜色但不同时生效问题
  8. Shell——文件包含
  9. Android -- 自定义View小Demo,绘制四位数随机码(一)
  10. 贾跃亭又造假,250亿灰飞烟灭!
  11. SQL Server如何制造大量测试数据
  12. 计算机系统-电路设计05-RS触发器的内部电路实现
  13. JSON与XML优缺点对比分析
  14. 使用windows自带的网络命令工具抓包
  15. 域控-笔记四(综合应用)
  16. 软件测试 技术类面试题问题集锦
  17. Easyrecovery激活码生成器分享
  18. specular高光贴图
  19. ubuntu18.04下nvidia-settings无法保存设置
  20. 普通打印机支持的airprint功能

热门文章

  1. 匈牙利算法解决指派问题(java版)
  2. oracle asm 日志,oracle 11g RAC 下ASM实例的alert日志告诉我们什么
  3. win10 桌面残留文件夹或其他应用关闭后的画面
  4. 大学高数常微分方程思维导图_思维导图_2016考研数学:高数中六种常见题型归纳_沪江英语...
  5. 定时任务cron表达式规则
  6. [刷机教程] android系列 adb操作命令详解,常用adb操作命令详解
  7. python 词频统计
  8. 性能工具之ab压力测试工具及ab命令详解
  9. html css div圆角边框,div圆角边框的css写法
  10. dicom协议开源库DCMTK安装和使用