NO OF BASIS FUNCTIONS = 15 NO TO BE DELETED = 0
也就是说Gauss判断只有15个态,即我们预期45个态的3分之一。考虑到我们计算的是3重态Si原子,我们可以判断:Gauss的这15个态并没有把自旋多重度包含进来;也就是说,对于3重态Si,总自旋z方向分量可以有-1、0、1三种可能,而显然Gauss只考虑了其中一种,即z方向分量为1的情况。因子只有预期的3分之一。为了验证这个判断,我们接下来我们用NRoot=15输出15个态的总能:
#P CASSCF(4,4,NRoot=15)/STO-3G
Si Atom Singlet 0 3 Si
本征能量的输出结果如下(省略了本征矢量):
( 1) EIGENVALUE -285.4771931916 ( 2) EIGENVALUE -285.4771705603 ( 3) EIGENVALUE -285.4755331430 ( 4) EIGENVALUE -285.1588544212 ( 5) EIGENVALUE -285.1587180933 ( 6) EIGENVALUE -285.1586346814 ( 7) EIGENVALUE -285.1581896041 ( 8) EIGENVALUE -285.1581891466 ( 9) EIGENVALUE -285.1041229954 (10) EIGENVALUE -285.1040032414 (11) EIGENVALUE -285.1034018646 (12) EIGENVALUE -284.9396659869 (13) EIGENVALUE -284.7136826269 (14) EIGENVALUE -284.7114674021 (15) EIGENVALUE -284.7113936872
可以看出( 1)到( 3)是近似简并的,对应于我们预期的3P (3s23p2),( 4)到( 8)也近似简并,对应于3D (3s13p3),接下来的( 9)到(11)对应于3P (3s13p3),(12)对应于3S (3s13p3),(13)到(15)则对应于3P (3s03p4)。可以看出,除了各个态能量不简并之外,结果基本上和我们的预期符合,因此这进一步证实了我们的判断。当然,如果考虑LS耦合之后,3P也会按照总角量子数J而分裂。但由于Gauss在默认情况下没有考虑这个效应,因此Gauss给出的3P内部分裂不能与实验相比较,只能比较不同态之间的能量差。例如实验上给出3D (3s13p3)和3P (3s23p2)的能量差为: 48399.15 / 109737.31 * 13.6 = 6.00 (eV), 而我们的结果为:
(285.1581891466 - 285.4771931916) * 27.2 = 8.68 (eV)。
二者有一定差别。另外,实验定出1D (3s23p2)与3P (3s23p2)的能量差(即单重态Si原子基态与
三重态Si原子基态的能量差)为:
6298.81 / 109737.31 * 13.6 = 0.78 (eV); 计算结果为:
(285.4771931916 - 285.4244894198) * 27.2 = 1.12 (eV)。 这些差别应该和基组较小、没有正确处理自旋轨道耦合等有关。
光谱数据来源:Charlotte E. Moore,《Atomic Energy Levels as Derived From the Analyses of Optical Spectra, Volume I, H to V》,1971
17:01 | 添加评论 | 固定链接 | 查看引用通告 (0) | 写入日志
过渡态的优化
寻找过渡态不是一件容易的事(对于我和大多数刚涉及量化的人来说),因此我希望通过写这个经验小结能对大家有些帮助。
1.首先遇到的问题是,用哪种方法来寻找过渡态?
GAUSSIAN提供的方法是QSTN和TSN方法。两种方法各有优点和缺点。QSTN方法特别QST3方法要求输入反应物,过渡态的猜测结构,产物这三者的结构。特别麻烦。但很管用,一般不会出现不收敛的情况。对于TSN(对应关键词为OPT=TS)方法,只要求输入过渡态的初始结构,但这个初始结构非常的关键,如果结构不好,则很容易出现不收敛的情况。所以我建议,如果是刚开始做过度态的话,用QSTN方法是好的选择,等有了“感觉”之后,再用TSN方法。
2. 怎么解决经常出现的错误?
在找过度态的时候,经常碰到的一些问题就是(1)不收敛,(2)有一个错误的本征值(错误信息为:there is a wrong sign eigenvalue in hessian matrix.....),(3)和LINK9999错误导致退出。对于不收敛的情况,可以分为两类,比如提示信息里的CONVERGENCE FAILER 提醒收敛到了10(-5),而此时你设定的SCF循环次数也仅仅是64步,那么完全有希望通过加大SCF循环次数来达到收敛的目的。倘若只收敛到10(-3)或10(-2),此时加大循环次数可能就没用了。结果还是CONVERGE FAILER。 此时可采用SCF=QC,来达到强制收敛的目的 。因为SCF=QC(LINK508)的计算量比默认的L502要大,所以不到万不得以就不用它了。出现第二个错误可以直接用 关键词OPT=NOEIGEN 来实现。LINK9999出错是因为已经走完了默认的步数,但还未完成。系统会自动跳出。出现这种情况大多数就是因为优化步数和SCF步数超过了默认值。可用OPT(MAXCYCLE=100)和SCF(MAXCYCLE=300)来改错。
3.怎么样控制过渡态的优化,使得过渡态不至于收敛到其他的分子结构中去?
我用GAUSS VIEW 可以解决这个问题 ,当刚开始运行GAUSSIAN时,你用GVIEW去打开输出文件时,你可以看到你的过渡态的初始输入结构,当一个循环过后(从上一个LINK502到下一个LINK502),你再打开输出文件,你就可以清晰地看到优化一步后分子的构型,这样就可以随时监控过度态分子的结构,倘若已经有收敛到其他分子构型的趋势时,你就可以把它给KILL了,而不至于需要等全部工作结束后,打开输出文件才知道已经不是想要的过渡态了。 如果收敛到其它的构型上去,可以考虑缩小OPT的步长.iop(1/8=2或3)即可。
4. 还需要加其它的关键词吗?
建议在OPT中加入CALCFC。这样可以加大找到过渡态的几率。本人深有体会!
5. 如何控制寻找过渡态的步长?
这个可以用IOP来实现。具体相应的IOP是iop(1/8)=2,此语句说明在找过度态的时候,以2A(A为基本单位长度)为单位来寻找过渡态。
16:55 | 添加评论 | 固定链接 | 查看引用通告 (0) | 写入日志 | 计算机与 Internet 7月6日
OPT收敛失败的解决方法
1.1.首先用小基组进行计算,由前一个结果得到用于大基组计算的初始猜测(Guess=Read自动进行); 2. 增大OPT的最大优化循环数量; 3. 降低收敛标准;
4. 选择已优化结构中最好的 (Force最小)重新进行优化;
5. 如果Force已经收敛而Stepsize接近但未收敛,终止运算,取出最后结构重新进行优化。 23:29 | 添加评论 | 固定链接 | 查看引用通告 (0) | 写入日志 | 计算化学
SCF收敛失败的解决办法
1.1. 在Guess关键字中使用Core,Huckel或Mix选项,试验不同的初始猜测;
2. 对开壳层体系,尝试收敛到同一分子的闭壳层离子,接下来用作开壳层计算的初始猜测。添加电子可以给出更合理的虚轨道,但是作为普遍的经验规则,阳离子比阴离子更容易收敛。选项Guess=Read定义初始猜测从Gaussian计算生成的checkpoint文件中读取;
3. 另一个初始猜测方法是首先用小基组进行计算,由前一个波函得到用于大基组计算的初始猜测(Guess=Read自动进行); 4. 尝试能级移动(SCF=Vshift);
5. 如果接近SCF但未达到,收敛标准就会放松或者忽略收敛标准。这通常用于不是在初始猜测而是在平衡结构收敛的几何优化。SCF=Sleazy 放松收敛标准,Conver选项给出更多的控制; 6. 一些程序通过减小积分精度加速SCF。对于使用弥散函数,长程作用或者低能量激发态的体系,必须使用高积分精度:SCF=NoVarAcc;
7. 尝试改变结构。首先略微减小键长,接下来略微增加键长,接下来再对结构作一点改变; 8. 考虑使用不同的基组;
9. 考虑使用不同理论级别的计算。这并不总是实用的,但除此之外,增加迭代数量总是使得计算时间和使用更高理论级别差不多;
10. 更多的SCF迭代( SCF(MaxCycle=N),其中N是迭代数)。这很少有帮助,但值得一试; 11. 关闭DIIS外推(SCF=NoDIIS)。同时进行更多的迭代( SCF=(MaxCycle=N) );
12. 使用强制的收敛方法。SCF=QC通常最佳,但在极少数情况下SCF=DM 更快。不要忘记给计算额外增加一千个左右的迭代。应当测试这个方法获得的波函,保证它最