| 查看: 3616 | 回复: 4 | ||||||||||
| 当前主题已经存档。 | ||||||||||
yyx19840628木虫 (著名写手)
鹰的眼睛,狼的耳朵,豹的速 ...
|
[交流]
【分享】高斯对不收敛问题的对策
|
|||||||||
|
首先,我们必须理解收敛是什么意思。在自洽场(SCF)计算中,自洽循环中,首先产生一个轨道占据的初始猜测, 1)然后根据此轨道占据构造电荷密度和哈密顿量。 2)对角化哈密顿量,得到新的轨道能级和占据。 3)产生新的电荷分布和哈密顿量,重复步骤2) 经过一定次数的循环后,某次循环前和循环后的电荷密度差别小于一定的标准,我们称之为收敛。 如果以上过程不能收敛,则gaussian给出convergence failure的警告。 如果SCF计算收敛失败,你首先会采取哪些技巧呢?这里是我们强烈推荐的首选方法。 1 考虑使用更小的基组 由于一定的基组对应于一定精度和速度,所以更换基组并不在所有的情况下都适用。方法是首先用小基组进行计算,由前一个波函得到用于大基组计算的初始猜测(Guess=Read自动进行)。 2 增加最大循环步数 Gaussian默认的最大循环步数为64 (SCF=DM或SCF=QC方法则为512),如果循环次数超过这个数目则会汇报convergence failure。在一定的情况下,不收敛的原因仅仅是因为最大循环步数不够。可以通过设置maxcyc来增大最大循环步数。更多的SCF迭代(SCF(MaxCycle=N),其中N是迭代数)。这很少有帮助,但值得一试。 3 放宽收敛标准 如果接近SCF但未达到,收敛标准就会放松或者忽略收敛标准。这通常用于不是在初始猜测而是在平衡结构收敛的几何优化。SCF=Sleazy放松收敛标准,Conver选项给出更多的控制。 4 尝试改变初始构型 首先略微减小键长,接下来略微增加键长,接下来再对结构作一点改变。 5 尝试能级移动Level shifting (SCF=Vshift) 如果不收敛的原因是波函数的震荡行为,通常是因为在相近的能量上的泰的混合。对于这种情况,我们可以采用level shifting的方法。Level shifting的含义是人工的升高非占据轨道的能级,以防止和最高占据轨道之间的混合,以达到收敛的目的。在Gaussian中此方法的关键词为SCF=Vshift 6 使用强制的收敛方法SCF=QC SCF=QC通常最佳,但在极少数情况下SCF=DM更快。此关键字将大大增加计算时间,但是收敛的机会更大。不要忘记给计算额外增加一千个左右的迭代。应当测试这个方法获得的波函,保证它最小,并且正好不是稳定点(使用Stable关键字)。 7 对开壳层体系,尝试收敛到同一分子的闭壳层离子,接下来用作开壳层计算的初始猜测。添加电子可以给出更合理的虚轨道,但是作为普遍的经验规则,阳离子比阴离子更容易收敛。选项Guess=Read定义初始猜测从Gaussian计算生成的checkpoint文件中读取。 8 一些程序通过减小积分精度加速SCF。对于使用弥散函数,长程作用或者低能量激发态的体系,必须使用高积分精度:SCF=NoVarAcc。 9 改变模型或方法 可以考虑改变模型方法。比较常见的方法有HF,GVB,MCSCF,CASSCF,MPn等。改变模型方法通常也会收敛性质。通常,精度更高的方法更难收敛。精度比较低的方法产生的计算结果可以作为高精度计算的初始猜测。考虑使用不同理论级别的计算。这并不总是实用的,但除此之外,增加迭代数量总是使得计算时间和使用更高理论级别差不多。 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的算法。此算法计算量更大,但是更加稳定。在命令行里也增加了最大循环数,以增加收敛的到基态的可能性。 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 (对小分子作计算时最好不要增加,很可能结构不合理) d. iop(5/13=1)这样忽略不收敛,继续往下做。 4. 分子对称性改变 a. 修改坐标,强制高对称性或放松对称性 b. 给出精确的、对称性确定的角度和二面角。 如CH4的角度给到109.47122 c. 放松对称性判据 Symm=loose d. 不做对称性检查 iop(2/16=1) (最好加这个选项) iop(2/16=2) 则保持新的对称性来计算 5. Opt时收敛的问题 a. 修改坐标,使之合理 b. 增加叠代次数optcyc=N 6. 优化过渡态,若势能面太平缓,则不好找到。 iop(1/8=10) 默认30(下一个结构和该结构的差别0.3Å),可改成10。如果每一步都要用到小的步长,应该加opt(notrustupdate) 7. 在CI(组态)方法中 如QCISD(T),CCSD(T),CID方法中,省却最大循环50,若出错(L913错误) 解决方法:#P QCISD(maxcyc=N) 注:N≤512 8. 优化过渡态 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=(TS,modRedundant) (最好写这个) b. 如果计算采用QCISD计算(不好计算FC) 则写为QCISD opt=(TS, calcHFFC) (用HF计算FC) 9. 无法写大的Scratch文件RWF a. 劈裂RWF文件 %rwf=loc1,size1,loc2,size2,……..,locN,-1 b. 改变计算方法 MP2=Direct可以少占硬盘空间 c. 限制最大硬盘 maxdisk=N GB,****MB,有些系统写2GB会出错,可以写2000MB 10. FOPT出错 原因是变量数与分子自由度数不相等。 可用POPT 或直接用OPT 11. 优化过渡态只能做一个STEP 原因是负本征数目不对 添加 iop(1/11)=1或者noeigentest (eigentest 是表示优化过渡态检测分子振动的本征值,过渡态只有一个负值,但优化的时候往往出现两个或者更多的情况,默认的是如果出现多于一个的情况就停止优化计算,这往往时不必要的,noeigentest表示优化时不坐此检测,实际上优化过渡态的时候出现两个三个很正常的,只是第一个一般负的很大,接着的比较小,不会影响过渡态的搜寻,当然有时候需要自己判断是不是接近真实的过渡态。其实经验上也是过渡态的本征虚频越小,相对越难找。) 对于 (L502, L508, L9999)出错的对策 对于一个优化计算,它的过程是先做一个SCF计算,得到这个构型下的能量,然后优化构型,再做SCF,然后再优化构型。。。因此,会有两种不收敛的情况:一是在某一步的SCF不收敛(L502错误),或者构型优化没有找到最后结果(L9999错误)。 预备知识:计算时保存chk文件,可以在后续计算中使用guess=read读初始猜测. 对于SCF不收敛,通常有以下的解决方法: 1. 使用小基组,或低级算法计算,得到scf收敛的波函数,用guess=read读初始波函数。 2. 使用scf=qc,这个计算会慢,而且需要用stable关键字来测试结果是否波函数稳定。如果这个还不收敛,会提示L508错误。 3. 改变键长,一般是缩小一点,有时会有用。 4. 计算相同体系的其他电子态,比如相应的阴离子、阳离子体系或单重态体系,得到的收敛波函数作为初始猜测进行计算。 对于优化不收敛,即L9999错误,实际上是在规定的步数内没有完成优化,即还没有找到极小值点。(或者对于过渡态优化,还没有找到过渡态) 这有几种可能性: 1. 看一下能量的收敛的情况,可能正在单调减小,眼看有收敛的趋势,这样的情况下,只要加大循环的步数(opt(maxcycle=200)),可能就可以解决问题了。 2. 加大循环步数还不能解决的(循环步数有人说超过200再不收敛,再加也不会有用了,这虽然不一定绝对正确,但200步应该也差不多了),有两种可能。一是查看能量,发现能量在振荡了,且变化已经很小了,这时可能重新算一下,或者构型稍微变一下,继续优化,就可以得到收敛的结果(当然也有麻烦的,看运气和经验了);二是构型变化太大,和你预计的差别过大,这很可能是你的初始构型太差了,优化不知道到哪里去了,这时最好检查一下初始构型,再从头优化。 3. 对于L9999快达到收敛时,考虑减小优化步长有时对于能量振荡的情况也是有用的,opt(maxstep=1).(flyingheart ) |
» 收录本帖的淘帖专辑推荐
过渡态计算 | 我喜欢的日志 | MS资料 | 模拟计算 |
Gaussian | 理论计算 | 高斯学习中的基础问题 |
» 本帖@通知
» 猜你喜欢
Comsol 6.0 桶内肥料产热产湿过程模拟求助
已经有1人回复
南京大学软物质计算模拟方向硕博连读/直博生招生
已经有0人回复
物理化学论文润色/翻译怎么收费?
已经有251人回复
International Journal of Nanoscience属于中科院4区吗?
已经有0人回复
博士生招生, 材料模拟方向,University of South Carolina
已经有0人回复
博士生招生, 材料模拟方向,University of South Carolina
已经有1人回复
美国杰克逊州立大学周剑歌教授的化学计算与AI实验室诚聘博士后研究员
已经有4人回复
博士生招生, 材料模拟方向,University of South Carolina
已经有1人回复
澳大利亚南昆士兰大学量子点课题组招收博士生
已经有0人回复
博士生招生, 材料模拟方向,University of South Carolina
已经有0人回复
Tc数据拟合
已经有0人回复
» 本主题相关商家推荐: (我也要在这里推广)

2楼2008-12-01 16:49:11
maomao6972
木虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 3213.8
- 散金: 50
- 红花: 2
- 帖子: 1379
- 在线: 345.6小时
- 虫号: 260596
- 注册: 2006-06-18
- 性别: GG
- 专业: 计算化学
3楼2008-12-01 23:25:49
yangheng8052
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 234.7
- 散金: 50
- 帖子: 131
- 在线: 11.6小时
- 虫号: 625160
- 注册: 2008-10-13
- 性别: GG
- 专业: 原子和分子物理

4楼2009-01-03 11:15:38
quantumor
金虫 (著名写手)
快乐兔子
- 应助: 13 (小学生)
- 金币: 8506.3
- 散金: 10
- 红花: 14
- 帖子: 1898
- 在线: 215.9小时
- 虫号: 630331
- 注册: 2008-10-19
- 性别: GG
- 专业: 理论和计算化学
- 管辖: 量子化学

5楼2009-01-03 11:37:12
6楼2011-08-19 11:51:08










回复此楼


100