Gauss可以做周期性结构的计算吗-print

Gauss可以做周期性结构的计算吗-print
Gauss可以做周期性结构的计算吗-print

1)Gauss可以做周期性结构的计算吗?

答:可以,例如聚合物和晶体。关键词:PBC,但很耗费资源,计算此类体系不是Gauss的强项。G03的PBC模块是比较差的,大部分的体系都比较难收敛,G09的稍稍好点。推荐用VASP或者MS的Castep模块. MS建模很方便。

2)使用6-31G基组,以Mg原子为例,计算其AO和GF的个数,为什么只考虑到3p而不考虑3d轨道?

答:对Mg原子,需要加极化函数才能考虑3d轨道,例如:6-31G*。对不同原子,基组的定义可以从EMSL基组数据库上获得,也就是进入

https://https://www.360docs.net/doc/8c13217734.html,/bse/portal。点击元素符号,左侧点击要用的基组,然后Format 选Gaussian94,然后点Get Basis Set按钮,把里面的数据拷下来即可。Gaussian 自己也有基组库,对于Linux版本是能直接看到的,也就是Gaussian目录下的basis子目录。比如用文本编辑器打开其中的6311.gbs,就会看到6-311G对各种元素的定义,而6311s.gbs里记录了6-311G的极化函数对各种元素的定义,若将它们和从EMSL上拷下来的基组定义相对比,会发现是一致的。

6-31G,Mg:1s2 2s2 2p6 3s2 3p

内层1s, 2s和2p共有1+1+3=5个AO和6*5=30个GF

价层3s有2个AO和4个GF

价层3p有6个AO和12个GF

共5+2+6=13个AO和30+4+12=46个GF

3)目前做Gauss计算,对于较大分子,输入文件应该是通过软件构建。对于小分子,一般倾向于用软件构建还是手写输入?一般多大的分子可以手写输入?什么情况下需要设虚原子?

答:输入文件的创建大致可分为两类:

(一)利用晶体文件产生输入文件:可以利用汪洋所编写的一个程序将晶体数据转化为高斯输入文件

(https://www.360docs.net/doc/8c13217734.html,/disparticle.php?boardName=Gaussian&ID=14201)。

(二)利用绘图软件(Chem3D 和HperChem)画出分子结构然后转换为输入文件。GVIEW可以直接生成用于高斯计算的输入文件。需要注意的是可以用绘图软件绘图并不表示我们可以随意构建分子结构,相反,与用晶体数据构建高斯输入文件相比,在这个构建高斯输入文件的过程中,我们要付出更多努力,要更加的谨慎,因为只有一个合理的输入结构才能确保下一步量化计算的顺利和正确。量化计算中很多的错误都是由于所给的输入结构不合理和命令不熟悉造成的。所以在用绘图软件构建输入文件前,一定要仔细的琢磨所要研究的物质,确保输入的构型在原子的杂化方式(如C 的SP2 对应一个平面三角形的结构,在画分

子结构时要将其体现出来),键长,空间结构和对称性等方面的准确性,否则计算就会出错。可以通过Gauss输出文件中列出的分子所属点群信息判断输入结构是否有误。

虚原子(哑原子)的使用:对于小分子,对称性好的分子和线性分子较常使用。最多可加7个虚原子,包括:原点,x,y,z轴的正向和反向。

使用的目的:通过选择一个合适的参比点,减少计算所需的变量,提高计算效率。此外高斯自带的坐标体系描述线性分子有困难,需要通过虚原子的加入,使分子成为非线性的,高斯才能识别。例如:CO2

例如氨:为限制角度和二面角使其相等,需添一个虚原子。

苯:需添加两个虚原子。首先因为对称结构,但对称中心处无原子,则需要添加一个虚原子在对称中心处。另外,为保证角度和二面角一样可再添加一个虚原子,也就是将角度和二面角中的两个量都固定下来。苯分子的点群D6h

C7H7+

1 1

X

X 1 r1

C 2 r2 1 a1

C 2 r2 1 a1 3d1

C 2 r2 1 a1 4d1

C 2 r2 1 a1 5d1

C 2 r2 1 a1 6d1

C 2 r2 1 a1 7d1

C 2 r2 1 a1 8d1

H 2 r3 1 a1 3d2

H 2 r3 1 a1 4d2

H 2 r3 1 a1 5d2

H 2 r3 1 a1 6d2

H 2 r3 1 a1 7d2

H 2 r3 1 a1 8d2

H 2 r3 1 a1 9d2

r2 1.69082

r3 2.77070

r1 1.0

a190.0

d151.42857142857

d20.0,

4)RHF, ROHF, UHF的区别以及计算精度与计算速度的差异。

答:

RHF:Spin-Restricted Hartree-Fock Theory,自旋限制性HF理论,双占据轨道对α和β电子使用相同的空间函数,即ψRHF,它是限制性波函数,是指同一自旋轨道内α自旋和β自旋的空间部分是一样的。ψRHF主要用于处理闭壳层体系,即所有轨道都是双占据的体系。

UHF:Spin-Unrestricted Hartree-Fock Theory,自旋非限制性HF理论,使用两个不同的空间函数分别来表示α和β自旋的电子,ψUHF,它是非限制性波函数,是指所有α自旋和β自旋态的空间部分都是不一样的。UHF用于开壳层体系的研究。这是因为对于开壳层体系来说,最外层的单电子和所有与它具有相同态的电子之间不但有库仑相关[就是J ij项],还有交换相关[就是K ij项],但和不同态的电子之间只有库仑相关,所以不同自旋态之间的空间部分由于交换相关作用的存在应该是不一样的。UHF的计算更精确,但所需时间久,而且有时难收敛。这时可以考虑采用ROHF的方法。

ROHF : 限制性开壳层HF 方法,双占据轨道对α和β电子使用相同的空间函数。ψROHF ,是限制性开壳层波函数, 即对开壳层体系使用限制性波函数。通常该方法得到的能量要较UHF 略高。

总之,对闭壳层体系应使用RHF ,没有必要使用UHF 。对开窍层体系,使用UHF ,若难收敛,考虑使用ROHF 。

5)为什么鞍点有且只有一个虚频?若有两个虚频应如何消除?

从数学意义来讲,极小点是势能对所有坐标的一阶导数都为零,而二阶导数都为正。真正的极小点需要做频率分析,所计算出的频率均应为正。鞍点则是势能对所有坐标的一阶导数都为零,二阶导数除一个为负外,其他均为正。频率分析验证,须有且只有一个虚频(频率为负)。能量对坐标的一阶导数为力F ,二阶导数就是频率吗? 为什么二阶导数就是频率呢?

在Gaussian 计算中,为了确定优化得到的几何结构是势能面上的局域极小点还是鞍点,或者要得到相关的热力学性质,经常需要对优化后的几何结构进行振动分析。首先,原则上说,振动频率分析只对稳定结构有意义。这里所说的稳定结构包括是势能面上的局域极小点和鞍点。实际上,一个分子可以有很多的自由度,如果在所有自由度上分子都处在稳定平衡,就是稳定的分子。频率分析的结果是所有频率都是正的,表明这是一个局域的极小点。如果分子只在一个自由度上处于不稳定平衡位置,其他自由度上都处在稳定平衡位置,说明该结构是一阶鞍点。分子在稳定自由度方向上的振动才是真实的振动,在不稳定自由度方向上的实际上是不会有振动的。不过我们可以对不稳定方向上的运动也按振动来做数学处理,会得到负的振动频率,我们称它为虚频。虚频的出现表明该结构为鞍点。

gaussian 计算消除虚频实用技巧

首先,关于对称性的问题,如果只有一个虚频,比较大(大于100cm-1),虚频振动方向垂直某对称面,这时就要降低对称性。一个简单的例子就是用D3h 对称性优化NH3的时候会得到一个平面分子,会有一个很大的虚频,垂直于分子平面。(NH3应是C3V 点群)

其次,关于初始猜测的问题,如果初始结构很接近某过渡态,还是很有可能优化到某个过渡态的结构。原因很简单,虽然RFO 算法在做几何结构更新的时候加22

0,0i i E E F x x ??=-=>??

了一些限制以保证结构向minimum的方向移动,但是几何优化在找到stationary point之后就结束了,所以RFO只是"努力",但并没"担保"一定会找到minimum。这时候我们可以用opt=tight或者verytight,去提高收敛度,继续几何优化,以争取几何结构能够逃离transition state的区域。但这个方法往往也不管用,解决这类问题的根本,还是应该改变初始结构,因为虚频的振动方向是指向两个minimum的,所以检查振动坐标,并叠加到原始坐标当中,或者在GaussView里沿虚频振动方向调整初始结构(比如旋转某C-C单键)这些方法往往能够很好的解决问题。也可以在opt内加入saddle关键词,saddle=1代表一个虚频,saddle=0没有虚频。当虚频较小时加saddle=0是可以的,它与opt=tight作用相似。但注意一定具体问题具体分析,因为最好的初始结构的猜测,还是人的大脑做出来的。

第三,计算精确度的问题。某些时候得到的虚频很小,比如只有-10cm-1,如果你使用DFT方法的话,就要考虑计算精确度的问题。大家都知道DFT是在空间取点数值积分,数值积分的误差很可能造成频率的偏差,所以很有可能把

+10cm-1 的频率算成-10cm-1。如果确认是计算精度的问题,我认为是可以忽略的,但如果想得到可信的结果,可以用scf=tight或者verytight,或者使用更小的grid: int(grid=ultrafine)。INT关键词的用法:高斯计算默认的积分网格是(75,302)一般是用int=finegrid来指定。但在计算很低的频率时也可用

int=ultrafine, 指定了一个(99,590)的网格,也就是说积分格点变密了。我上次就是用这个方法消去了一个10以下的虚频。当然,改变计算方法,换用不同的functional,或者不同的基组,都有可能解决这类的虚频问题。

第四,还有很多虚频是因为软件Bug,比如之前我们用Turbomole算numerical frequency的时候出现很多很大的虚频,而同样的结构Gaussian却是minimum。后来发现是Turbomole算数值频率restart时候的bug。

相关主题
相关文档
最新文档