1、高斯收敛问题首先,我们必须理解收敛是什么意思。在自洽场(SCF)计算中,自洽循环中,首先产生一个轨道占据的初始猜测,1)然后根据此轨道占据构造电荷密度和哈密顿量。2)对角化哈密顿量,得到新的轨道能级和占据。3)产生新的电荷分布和哈密顿量,重复步骤2)经过一定次数的循环后,某次循环前和循环后的电荷密度差别小于一定的标准,我们称之为收敛。如果以上过程不能收敛,则 gaussian 给出 convergence failure 的警告。如果 SCF 计算收敛失败,你首先会采取哪些技巧呢?这里是我们强烈推荐的首选方法。 1 考虑使用更小的基组由于一定的基组对应于一定精度和速度,所以更换基组并不在所有的
2、情况下都适用。方法是首先用小基组进行计算,由前一个波函得到用于大基组计算的初始猜测(Guess=Read 自动进行) 。2 增加最大循环步数Gaussian 默认的最大循环步数为64 (SCF=DM 或 SCF=QC 方法则为512),如果循环次数超过这个数目则会汇报 convergence failure。在一定的情况下,不收敛的原因仅仅是因为最大循环步数不够。可以通过设置 maxcyc 来增大最大循环步数。更多的 SCF 迭代(SCF(MaxCycle=N),其中 N 是迭代数)。这很少有帮助,但值得一试。3 放宽收敛标准如果接近 SCF 但未达到,收敛标准就会放松或者忽略收敛标准。这通常
3、用于不是在初始猜测而是在平衡结构收敛的几何优化。SCF=Sleazy 放松收敛标准,Conver 选项给出更多的控制。在 Gaussian 中设置收敛标准的命令行是Conv=8 表示10-8,你可以将这个标准降低,比如改为10-5 等等。微调结构是比较有效的方法,能量收敛标准不宜太低,最好不低于10-7. 4尝试改变初始构型首先略微减小键长,接下来略微增加键长,接下来再对结构作一点改变。5 尝试能级移动 Level shifting (SCF=Vshift)如果不收敛的原因是波函数的震荡行为,通常是因为在相近的能量上的泰的混合。对于这种情况,我们可以采用 level shifting 的方法。
4、Level shifting的含义是人工的升高非占据轨道的能级,以防止和最高占据轨道之间的混合,以达到收敛的目的。在 Gaussian 中此方法的关键词为 SCF=Vshift6 使用强制的收敛方法 SCF=QCSCF=QC 通常最佳,但在极少数情况下 SCF=DM 更快。此关键字将大大增加计算时间,但是收敛的机会更大。不要忘记给计算额外增加一千个左右的迭代。应当测试这个方法获得的波函,保证它最小,并且正好不是稳定点(使用Stable 关键字) 。7 对开壳层体系,尝试收敛到同一分子的闭壳层离子,接下来用作开壳层计算的初始猜测。添加电子可以给出更合理的虚轨道,但是作为普遍的经验规则,阳离子比阴
5、离子更容易收敛。选项 Guess=Read 定义初始猜测从Gaussian 计算生成的 checkpoint 文件中读取。8 一些程序通过减小积分精度加速 SCF。对于使用弥散函数,长程作用或者低能量激发态的体系,必须使用高积分精度:SCF=NoVarAcc。9 改变模型或方法可以考虑改变模型方法。比较常见的方法有 HF,GVB,MCSCF,CASSCF,MPn等。改变模型方法通常也会收敛性质。通常,精度更高的方法更难收敛。精度比较低的方法产生的计算结果可以作为高精度计算的初始猜测。考虑使用不同理论级别的计算。这并不总是实用的,但除此之外,增加迭代数量总是使得计算时间和使用更高理论级别差不多。
6、10关闭 DIIS 外推(SCF=NoDIIS)。同时进行更多的迭代(SCF=(MaxCycle=N)。11 试着改用 DIIS 之外其它方法(SCF=SD 或 SCF=SSD)。Gaussian 不收敛的可能原因及对策:1 由于体系有很多能量相近的能级,导致计算不收敛。如果计算中采用的是 Hartree-Fock 方法或者其他的混合形式的交换相关势(如 B3LYP),则可以尝试一下的方法进行改进。scf=(noincfock,conver=11,maxcyc=1025) iop(5/22=20)用以上的命令行将强制 Gaussian 采用 EDIIS 的算法。此算法计算量更大,但是更加稳定。
7、在命令行里也增加了最大循环数,以增加收敛的到基态的可能性。2检查是否有初始文件错误常见初级错误:a. 自旋多重度错误b. 变量赋值为整数c. 变量没有赋值或多重赋值d. 键角小于等于 0度,大于等于180度e. 分子描述后面没有空行f. 二面角判断错误,造成两个原子距离过近g. 分子描述一行内两次参考同一原子,或参考原子共线3 SCF(自洽场) 不收敛则一般是 L502错误,省却情况做 64个 cycle 迭代(G03缺省128 cycles)a. 修改坐标,使之合理b. 改变初始猜Guess=Huckel 或其他的,看 Guess 关键词。c. 增加叠代次数 SCFCYC=N (对小分子作计
8、算时最好不要增加,很可能结构不合理) d. iop(5/13=1)这样忽略不收敛,继续往下做。4分子对称性改变a. 修改坐标,强制高对称性或放松对称性b. 给出精确的、对称性确定的角度和二面角。如 CH4的角度给到109.47122c. 放松对称性判据Symm=loosed. 不做对称性检查 iop(2/16=1) (最好加这个选项)iop(2/16=2) 则保持新的对称性来计算5 Opt 时收敛的问题a. 修改坐标,使之合理b. 增加叠代次数 optcyc=N6优化过渡态,若势能面太平缓,则不好找到。iop(1/8=10) 默认30(下一个结构和该结构的差别0.3) ,可改成10 。如果每一
9、步都要用到小的步长,应该加 opt(notrustupdate)7在 CI(组态)方法中如 QCISD(T),CCSD(T),CID 方法中,省却最大循环 50,若出错(L913 错误)解决方法:#P QCISD(maxcyc=N) 注:N5128优化过渡态opt=TS (给出过渡态)opt=qst2 (给出反应物和产物)opt=qst3 (给出反应物和产物和过渡态)a.用 G03时的出错 opt=ts 必须加 FC (force constant)写法:opt=(TS, calcFc)or opt=(TS,calchffc)计算 HF 力常数,对 QCISD,CCSD 等方法用;or opt
10、=(TS,modRedundant)(最好写这个)b. 如果计算采用 QCISD 计算(不好计算 FC)则写为 QCISD opt=(TS, calcHFFC) (用 HF 计算 FC)9. 无法写大的 Scratch 文件 RWFa. 劈裂 RWF 文件 %rwf=loc1,size1,loc2,size2,locN,-1b. 改变计算方法 MP2=Direct 可以少占硬盘空间c. 限制最大硬盘 maxdisk=N GB,*MB,有些系统写2GB 会出错,可以写2000MB10. FOPT 出错原因是变量数与分子自由度数不相等。可用 POPT 或直接用 OPT11. 优化过渡态只能做一个
11、STEP 原因是负本征数目不对添加iop(1/11)=1 或者 noeigentest (eigentest 是表示优化过渡态检测分子振动的本征值,过渡态只有一个负值,但优化的时候往往出现两个或者更多的情况,默认的是如果出现多于一个的情况就停止优化计算,这往往时不必要的,noeigentest 表示优化时不坐此检测,实际上优化过渡态的时候出现两个三个很正常的,只是第一个一般负的很大,接着的比较小,不会影响过渡态的搜寻,当然有时候需要自己判断是不是接近真实的过渡态。其实经验上也是过渡态的本征虚频越小,相对越难找。)对于 (L502, L508, L9999)出错的对策对于一个优化计算,它的过程是
12、先做一个 SCF 计算,得到这个构型下的能量,然后优化构型,再做 SCF,然后再优化构型。 。 。因此,会有两种不收敛的情况:一是在某一步的 SCF 不收敛(L502 错误 ),或者构型优化没有找到最后结果(L9999错误) 。预备知识:计算时保存 chk 文件, 可以在后续计算中使用 guess=read 读初始猜测.对于 SCF 不收敛,通常有以下的解决方法:1. 使用小基组,或低级算法计算,得到 scf 收敛的波函数,用guess=read 读初始波函数。2. 使用 scf=qc,这个计算会慢,而且需要用 stable 关键字来测试结果是否波函数稳定。如果这个还不收敛,会提示 L508错
13、误。3. 改变键长,一般是缩小一点,有时会有用。4. 计算相同体系的其他电子态,比如相应的阴离子、阳离子体系或单重态体系,得到的收敛波函数作为初始猜测进行计算。对于优化不收敛,即 L9999错误,实际上是在规定的步数内没有完成优化,即还没有找到极小值点。 (或者对于过渡态优化,还没有找到过渡态)这有几种可能性:1. 看一下能量的收敛的情况,可能正在单调减小,眼看有收敛的趋势,这样的情况下,只要加大循环的步数(opt(maxcycle=200)) ,可能就可以解决问题了。2. 加大循环步数还不能解决的(循环步数有人说超过200再不收敛,再加也不会有用了,这虽然不一定绝对正确,但200步应该也差不
14、多了) ,有两种可能。一是查看能量,发现能量在振荡了,且变化已经很小了,这时可能重新算一下,或者构型稍微变一下,继续优化,就可以得到收敛的结果(当然也有麻烦的,看运气和经验了) ;二是构型变化太大,和你预计的差别过大,这很可能是你的初始构型太差了,优化不知道到哪里去了,这时最好检查一下初始构型,再从头优化。3. 对于 L9999快达到收敛时 ,考虑减小优化步长有时对于能量振荡的情况也是有用的,opt(maxstep=1).(flyingheart )http:/ is the summary of all the answers I got for my problem. Thanks (in
15、alphabetically order) to Laurence Cuffe, Kerwin Dobbs, Paul Kiprof, LiviuMirica, Cory Pye and Dave Shobe.The problem was solved by increasing the number of SCF cycles, assuggested by many. This seems very often necessary with transition metals.The two other suggestions (using first a small basis set
16、 before switchingto the larger, or turning off “vshift“, did not work, unfortunately.Thanks again,R.Herrmann.The original question:-Hello,I recently tried to calculate the NMR chemical shifts of VOCl3with Gaussian 98:-#B3LYP/6-31G* SP NMRVOCl30 1clcl 1 clcl2cl 2 clcl3 1 clclcl3o 3 ocl4 2 oclcl4 1 di
17、h4v 3 vcl5 2 vclcl5 1 dih5clcl3 3.506243clclcl3 59.999ocl4 2.938735oclcl4 53.376dih4 -64.586vcl5 2.118170vclcl5 34.144dih5 -31.640-The result (even with several variations in the input) is always anerror termination when trying the “incremental Fock formation“(convergence criterion not met). The str
18、ucture was optimized withGAMESS.Any suggestion what I could do is wellcome - thank you!-108 basis functions 288 primitive gaussians41 alpha electrons 41 beta electronsnuclear repulsion energy 561.9817715949 Hartrees.One-electron integrals computed using PRISM.NBasis= 108 RedAO= T NBF= 108NBsUse= 108
19、 1.00D-04 NBFU= 108Projected Huckel Guess.Requested convergence on RMS density matrix=1.00D-08 within 64 cycles. Requested convergence on MAX density matrix=1.00D-06.Virtual orbitals will be shifted by 0.200 hartree.Restarting incremental Fock formation.Restarting incremental Fock formation.Restarti
20、ng incremental Fock formation. Convergence criterion not met.SCF Done: E(RB+HF-LYP) = -2359.59549049 A.U. after 65 cycles Convg = 0.5851D-03 -V/T = 1.9657S*2 = 0.0000Convergence failure - run terminated.Error termination via Lnk1e in /usr/local/g98_a7/l502.exe.Job cpu time: 0 days 0 hours 16 minutes
21、 33.0 seconds.File lengths (MBytes): RWF= 14 Int= 0 D2E= 0 Chk= 1 Scr= -The answers:1. From: Kerwin D Dobbs To: “Rudolf Herrmann Subject: Re: CCL:G98: VOCl3 problem: convergence criterion not met Dr. Herrmann,Try turning off the “vshift“ by changing the line,#B3LYP/6-31G* SP NMRto 1# B3LYP/6-31G* SP
22、 NMR IOP(5/10=-1)When there is a TM in the molecule, G98 automatically turnson “VSHIFT“ which usually makes SCF convergence worse. The above addition to your line turns off “VSHIFT“. Give it a try and see what happens.Kerwin-2. From: Cory PyeTo: Rudolf Herrmann Subject: Re: CCL:G98: VOCl3 problem: c
23、onvergence criterion not met Hello,your SCF is not converging. Try running, at first, HF/STO-3G. If it works, thenThen try B3LYP/6-31G* afterwards with guess=read in the input. It usually works like a charm for me, I always use something like this.-Cory-3. From: LiviuMihailMiricaTo: Rudolf Herrmann
24、Subject: Re: CCL:G98: VOCl3 problem: convergence criterion not metTry adding SCFcyc=1000 in your command lines. This will increase the # of SCF cycles up to the desired number (1000 in this case). that should be enough for your system.-4. From: Laurence CuffeTo: Rudolf Herrmann Subject: Re: CCL:G98:
25、 VOCl3 problem: convergence criterion not met And it should run these keywords change the default SCF method and then increase the number of SCF cycles allowed. I got the job to complete in about 50 minutes running it in core on a linux box with a memory limit of 600MB but it this doesnt make sense
26、toyou dont worry about it. Try using the modified line above and if there are any problems dont hesitate to come back to me.All the bestLaurence Cuffe-5. From: Paul KiprofTo: herrmann-: at :-itqb.unl.ptSubject: VOCL3Dear Dr. Herrmann,I would add to the inputSCF(direct,qc,maxcycle=1000)This will incr
27、ease the number of convergence cycles and hopefully converge the calculation. I always do that when I have transition metal compounds.Best wishes,Paul Kiprof-6. From: “Shobe, Dave“ To: Rudolf Herrmann Subject: RE: G98: VOCl3 problem: convergence criterion not metThe standard 64 SCF “cycles“ (or iter
28、ations of the variationalprocedure) is rarely enough for transition metal compounds, even closed shell ones like VOCl3. Read the section in the Gaussian manual describing the “scf“keyword, and you will find various options which may improve theconvergence. A lot of it is trial and error, with these
29、different scfoptions. The simplest is scf(maxcyc=999) which increases the number of cycles/iterations to 999 before the program “gives up“ and prints theerror message. Scf=qc and scf(vshift=#) have also been useful in myexperience.More advice: once you get a good wavefunction, make a backup of thech
30、eckpoint file, so if the wave function becomes corrupted in subsequentcalculations you can always go back to it.-Dr. Rudolf HerrmannInstituto de TecnologiaQuimica e Biologica (ITQB)Av. da Republica, EAN, Apt. 127P-2781-901 Oeirase-mail: herrmann-: at :-itqb.unl.ptgaussian 学习笔记(一)默认分类 2008-11-17 17:4
31、1:53 阅读124 评论0 字号:大中小订阅 用 Gaussian 计算不收敛的问题问题一:Problem detected with inexpensive integrals.Switching to full accuracy and repeating last cycle.Cycle 2 Pass 1 IDiag 1:Warning! Spurious integrated density:NE= 188 NElCor= 0 Integral= -76.06821 Tolerance=1.00D-03Consistency failure #2 in CalDSu.Error te
32、rmination via Lnk1e in /home/gaussian/g98/l502.exe.Job cpu time: 1 days 3 hours 21 minutes 30.2 seconds.File lengths (MBytes): RWF= 118 Int= 0 D2E= 0 Chk= 17 Scr= 1解决:(from ccl)As far as I know its a dft-related error. Gaussian checks the chargeresulting from the integration of the density to the nu
33、mber of electrons,and in case of a large difference prints this eror message. Try a densergrid with the “integral“ keyword.可是我采用 integral(Grid=ultrafine )网格仍是出现以下错误信息:Raffenetti 2 integral format.Two-electron integral symmetry is turned off.306 basis functions 778 primitive gaussians51 alpha electro
34、ns 51 beta electronsnuclear repulsion energy 865.0704012775 Hartrees.One-electron integrals computed using PRISM.1 Symmetry operations used in ECPInt.ECPInt: NShTT= 17391 NPrTT= 123061 LenC2= 14761 LenP2D= 57336. LDataN: DoStor=F MaxTD1= 3 Len= 28LDataN: DoStor=T MaxTD1= 3 Len= 28NBasis= 306 RedAO=
35、T NBF= 306NBsUse= 306 1.00D-04 NBFU= 306Projected Huckel Guess.of initial guess= 0.0000Requested convergence on RMS density matrix=1.00D-06 within 800 cycles. Requested convergence on MAX density matrix=1.00D-04.Integral accuracy reduced to 1.0D-05 until final iterations.Warning! Spurious integrated
36、 density:NE= 102 NElCor= 0 Integral= 102.20958 Tolerance=1.00D-03Consistency failure #2 in CalDSu.Error termination via Lnk1e in /usr/people/gaussian/g98/l502.exe.Job cpu time: 0 days 0 hours 13 minutes 24.7 seconds.File lengths (MBytes): RWF= 90 Int= 0 D2E= 0 Chk= 2 Scr= 1请问各位大侠有没有什么解决方法?问题二: Conve
37、rgence criterion not met.SCF Done: E(UB-PW91) = -1306.37542885 A.U. after 801 cyclesConvg = 0.1221D+01 -V/T = 2.0190S*2 = 0.0000KE= 1.281978320748D+03 PE=-8.302694580633D+03 EE= 3.210822249139D+03 Annihilation of the first spin contaminant:S*2 before annihilation 0.0000, after 0.0000Convergence fail
38、ure - run terminated.Error termination via Lnk1e in /usr/people/gaussian/g98/l502.exe.Job cpu time: 2 days 2 hours 6 minutes 40.2 seconds.File lengths (MBytes): RWF= 97 Int= 0 D2E= 0 Chk= 19 Scr= 1一般而言,解决收敛的问题有以下几种,第一,波函数初猜,不稳定的波函数,积分难以收敛是肯定的,解决方案是作 stable opt,做完以后,在此基础上从 check 文件中读入波函数。link1 %chk#p
39、 hf opt guessread geomcheck第二,过渡金属原子会出现 d 轨道分裂问题,如果分裂能不够大,电子显然会在高能轨道 和低能轨道之间跳动,能量会上下波动,难以收敛,解决方案是加入 vshift 关键词第三,氢键,过渡金属,默认的129cycle 所难以达到收敛,所以加大scf(cyc=500)可能可 以解决问题。第四,初始结构一直容易被人所忽略,所以很多方法没有解决问题的时候,还是希望能 仔细检查一遍结构第五,scf 的时候,检查一下力常数也是好的,通常的解决方案作一下calcfc对于第二个收敛的问题,我正在用 SCF(vshift,QC) 尝试,得过几天才知道行不行。至少
40、我已尝试了将内坐标改为直角坐标;加大循环次数(800仍不收敛)从 check 文件中读入,这些都不行。对于第一个问题,我是用 massage 考虑分子间相互作用,可是好多都出现第一个问题,根本不让你算,用了 integral(grid=ultrafine) 还是不行,输入文件如下:(这是一个不含金属原子的,有好几个含金属的输入,也是出现这个情况。芝麻582:1. 在 Guess 关键字中使用 Core,Huckel 或 Mix 选项,试验不同的初始猜测。 2. 对开壳层体系,尝试收敛到同一分子的闭壳层离子,接下来用作开壳层计算的初始猜测。添加电子可以给出更合理的虚轨道,但是作为普遍的经验规则,
41、阳离子比阴离子更容易收敛。选项 Guess=Read 定义初始猜测从Gaussian 计算生成的 checkpoint 文件中读取。 3. 另一个初始猜测方法是首先用小基组进行计算,由前一个波函得到用于大基组计算的初始猜测(Guess=Read 自动进行)。 4. 尝试能级移动(SCF=Vshift) 。5. 如果接近 SCF 但未达到,收敛标准就会放松或者忽略收敛标准。这通常用于不是在初始猜测而是在平衡结构收敛的几何优化。SCF=Sleazy 放松收敛标准,Conver 选项给出更多的控制。.6. 一些程序通过减小积分精度加速 SCF。对于使用弥散函数,长程作用或者低能量激发态的体系,必须使
42、用高积分精度:SCF=NoVarAcc。7. 尝试改变结构。首先略微减小键长,接下来略微增加键长,接下来再对结构作一点改变。8. 考虑使用不同的基组。 9. 考虑使用不同理论级别的计算。这并不总是实用的,但除此之外,增加迭代数量总是使得计算时间和使用更高理论级别差不多。 10. 关闭 DIIS 外推(SCF=NoDIIS)。同时进行更多的迭代( SCF=(MaxCycle=N) )。11. 更多的 SCF 迭代( SCF(MaxCycle=N),其中 N 是迭代数)。这很少有帮助,但值得一试。12. 使用强制的收敛方法。SCF=QC 通常最佳,但在极少数情况下SCF=DM 更快。不要忘记给计算
43、额外增加一千个左右的迭代。应当测试这个方法获得的波函,保证它最小,并且正好不是稳定点(使用 Stable 关键字)。13. 试着改用 DIIS 之外其它方法(SCF=SD 或 SCF=SSD)。L9999错误,实际上是在规定的步数内没有完成优化,即还没有找到极小值点。 (或者对于过渡态优化,还没有找到过渡态)这有几种可能性:1。看一下能量的收敛的情况,可能正在单调减小,眼看有收敛的趋势,这样的情况下,只要加大循环的步数(opt(maxcycle=200)) ,可能就可以解决问题了。2。加大循环步数还不能解决的(循环步数有人说超过200 再不收敛,再加也不会有用了,这虽然不一定绝对正确,但200
44、步应该也差不多了) ,有两种可能。一是查看能量,发现能量在振荡了,且变化已经很小了,这时可能重新算一下,或者构型稍微变一下,继续优化,就可以得到收敛的结果(当然也有麻烦的,看运气和经验了) ;二是构型变化太大,和你预计的差别过大,这很可能是你的初始构型太差了,优化不知道到哪里去了,这时最好检查一下初始构型,再从头优化。一个建议是,对于大体系,难收敛体系,先用小基组,低精度算法优化一下,以得到较高的初始构型,再用高精度的计算接着算。如果前面的方法保留了 chk 文件,重新计算时需要使用 geom=allcheck 读入构型(就不必麻烦地写构型了) , guess=read(读入初始波函数,可以加
45、快第一步 SCF 收敛) 。确实是不收敛!有几种方法参考:1、添加关键词 scf=qc;2、添加关键词scf=vshift 或 scf=vshift=n(n 取1200) ,有时候会成功收敛,但成功率不高,不常用;3、改变初始结构(楼上的已说,常用) ; 4、改用不同的方法(常用)5、增加计算步长(也不常用) 我就用过这些,仅供参考!希望能有帮助.使用了 SCF=QC 后,计算量要远远超过同等级的非 QC 计算。另外,QC 计算得到的结果还需要进行波函数稳定性分析,这也是为什么不推荐使用 QC 的原因之一,实在要用,可以参照我前面的帖子用scf=(maxcycle=n,xqc), n 是一个你认为合适的数值,推荐不要超过100,这样能节省绝大部分的计算量,因为这个参数只在必要时使用 qc。