高斯计算中优化不收敛对策
- 格式:doc
- 大小:29.50 KB
- 文档页数:3
优化算法的稳定性和收敛性的方法在计算机科学和工程领域,优化算法是一种重要的工具,用于解决各种问题的最优化。
然而,优化算法在实际应用中可能面临一些挑战,如稳定性和收敛性问题。
本文将介绍一些优化算法的稳定性和收敛性的方法,以帮助提高算法的性能和效果。
为了提高优化算法的稳定性,我们可以采取以下几种策略。
一是使用合适的初始值。
算法的初始值对于优化过程的稳定性至关重要,因此我们需要选择一个合适的初始值来启动算法。
通常,合理的初始值应该接近问题的最优解,以避免算法陷入局部最优解。
我们可以采用合适的步长或学习率。
步长或学习率决定了每次迭代中参数更新的大小,过大的步长可能导致算法不稳定,无法收敛,而过小的步长则可能导致算法收敛速度过慢。
因此,我们需要根据具体问题和算法的性质选择一个合适的步长或学习率。
我们还可以引入正则化项。
正则化项可以在目标函数中加入一些惩罚项,以避免过拟合和提高算法的稳定性。
正则化项可以有效减少参数的波动,从而提高算法的收敛性和稳定性。
为了改善优化算法的收敛性,我们可以尝试以下几种方法。
可以采用自适应的学习率。
自适应学习率可以根据优化过程中的参数更新情况来动态调整学习率,以提高算法的收敛速度和效果。
常用的自适应学习率算法包括Adagrad、RMSprop和Adam等。
我们可以使用优化算法的改进版本。
例如,传统的梯度下降算法可能在处理一些非凸优化问题时收敛速度较慢,因此可以尝试使用改进的梯度下降算法,如随机梯度下降(SGD)、批量梯度下降(BGD)和迷你批量梯度下降(MBGD)。
这些改进的算法可以更有效地更新参数并加快收敛速度。
合适地设置迭代次数也是提高算法收敛性的一个关键因素。
迭代次数的选择通常是一个平衡问题,过多的迭代次数可能导致算法过拟合,而迭代次数太少可能无法达到优化的要求。
因此,我们需要根据问题的复杂度和算法的效果选择一个合适的迭代次数。
除了以上方法,还有一些其他策略可以用于优化算法的稳定性和收敛性。
如何应对深度学习技术中的模型不收敛问题深度学习技术的快速发展为许多领域带来了革命性的进步,但与此同时,深度学习模型不收敛的问题也成为了许多研究者和开发者所面临的挑战。
在深度学习中,模型不收敛通常表示模型的训练过程过早停止或在训练过程中无法达到预期的性能。
本文将介绍一些常见的原因和解决方案,帮助读者有效地应对深度学习技术中的模型不收敛问题。
首先,模型不收敛的原因可以归结为两类:设计问题和训练问题。
在模型设计方面,一些常见的问题包括:模型的复杂度过高导致过拟合,模型的复杂度过低导致欠拟合,以及输入数据的特征选择不当。
针对这些问题,我们可以采取以下解决方案:1. 调整模型复杂度:通过增加或减少模型的层数、节点数或使用正则化技术,如L1或L2正则化,来调整模型的复杂度。
这可以帮助降低过拟合或欠拟合的风险。
2. 数据预处理:对输入数据进行适当的处理,如标准化、归一化或特征选择,以提供更好的输入数据质量。
这有助于减少数据中的噪声和冗余信息,提高模型的准确性。
在训练过程中,模型不收敛的原因可能包括:学习率设置不当,训练数据的分布问题,以及训练数据集的大小不足。
以下是一些解决方案:1. 调整学习率:学习率是训练过程中的重要参数,过大或过小都可能导致模型不收敛。
可以尝试使用自适应学习率算法,如Adam或RMSprop,或使用学习率衰减策略,如逐渐减小学习率。
2. 数据增强:如果训练数据集较小或样本不均衡,可以使用数据增强技术来扩充训练数据。
例如,在图像分类任务中,可以使用旋转、缩放或镜像等方法生成更多的训练样本,以增加模型的泛化能力。
3. 改进网络结构:尝试更深或更宽的网络结构,增加网络的容量以提高模型的表达能力。
此外,使用批正则化、残差连接等技术也可以帮助模型更快地收敛。
4. 梯度消失或爆炸问题:在较深的神经网络中,梯度消失或爆炸是一个常见的问题。
可以尝试使用恰当的激活函数,如ReLU或LeakyReLU,或使用梯度裁剪等技术来缓解这些问题。
GAUSSION计算常见错误及解决方案1. 自旋多重度错误2. 变量赋值为整数3. 变量没有赋值4. 键角小于等于0度,大于等于180度5. 分子描述后面没有空行6. 二面角判断错误,造成两个原子距离过近7. 分子描述一行内两次参考同一原子,或参考原子共线运行出错1. 自洽场不收敛 SCFa. 修改坐标,使之合理b. 改变初始猜 Guessc. 增加叠代次数SCFCYC=Nd. iop(5/13=1)2. 分子对称性改变a. 修改坐标,强制高对称性或放松对称性b. 给出精确的、对称性确定的角度和二面角c. 放松对称性判据 Symm=loosed. 不做对称性检查iop(2/16=1)3. 无法写大的Scratch文件RWFa. 劈裂RWF文件%rwf=loc1,size1,loc2,size2,……..,locN,-1b. 改变计算方法MP2=Direct可以少占硬盘空间c. 限制最大硬盘maxdisk=N GB4. FOPT出错原因是变量数与分子自由度数不相等。
可用POPT 或直接用OPT5. 优化过渡态只能做一个STEP 原因是负本征数目不对添加iop(1/11)=16. 组态相互作用计算中相关能叠代次数不够,增加叠代次数QCISD(Maxcyc=N)Default.Rou设置•在Scratch文件夹中的Default.Rou文件中设置G03程序运行的省缺参数:• -M- 200MW•-P- 4•-#- MaxDisk=10GB•-#- SCF=Conventional or Direct•-#- MP2=NoDirect or Direct•-#- OPTCYC=200•-#- SCFCYC=200•-#- IOPs 设置如iop(2/16=1)Default.Rou设置中的冲突•Default route: MaxDisk=2GB SCF=Direct MP2=Direct OPTCYC=200 SCFcyc=100 iop(2/16=1) iop(5/13=1)• ------------------• # ccsd/6-31G** opt• ------------------• L903/L905 and L906 can only do MP2.问题在于,MP2=Direct!去掉这个设置,CCSD的作业就能进行了。
收敛失败是很正常的事也是很头痛的事,在Gaussian98高级注释一文中提到以下几种做法:我经常用的是3/5/8/12,而且如果你是计算过渡金属,降低收敛标准你就得小心。
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. 关闭DIIS外推(SCF=NoDIIS)。
同时进行更多的迭代( SCF=(MaxCycle=N) )。
11. 更多的SCF迭代( SCF(MaxCycle=N),其中N是迭代数)。
这很少有帮助,但值得一试。
12. 使用强制的收敛方法。
SCF=QC通常最佳,但在极少数情况下SCF=DM 更快。
不要忘记给计算额外增加一千个左右的迭代。
应当测试这个方法获得的波函,保证它最小,并且正好不是稳定点(使用Stable关键字)。
优化第一步:确定分子构型,可以根据对分子的了解通过GVIEW和CHEM3D等软件来构建,但更多是通过实验数据来构建(如根据晶体软件获得高斯直角坐标输入文件,软件可在大话西游上下载,用GVIEW可生成Z-矩阵高斯输入文件),需要注意的是分子的原子的序号是由输入原子的顺序或构建原子的顺序决定来实现的,所以为实现对称性输入,一定要保证第一个输入的原子是对称中心,这样可以提高运算速度。
我算的分子比较大,一直未曾尝试过,希望作过这方面工作的朋友能补全它。
以下是从本论坛,大话西游及宏剑公司上下载的帖子。
将键长相近的,如B12 1.08589B13 1.08581B14 1.08544键角相近的,如A6 119.66589A7 120.46585A8 119.36016二面角相近的如D10 -179.82816D11 -179.71092都改为一致,听说这样可以减少变量,提高计算效率,是吗?在第一步和在以后取某些键长键角相等,感觉是一样的。
只是在第一步就设为相等,除非有实验上的证据,不然就是纯粹的凭经验了。
在前面计算的基础上,如果你比较信赖前面的计算,那么设为相等,倒还有些依据。
但是,设为相等,总是冒些风险的。
对于没有对称性的体系,应该是没有绝对的相等的。
或许可以这么试试:先PM3,再B3LYP/6-31G.(其中的某些键长键角设为相等),再B3LYP/6-31G(放开人为设定的那些键长键角相等的约束)。
比如键长,键角,还有是否成键的问题,Gview看起来就是不精确,不过基本上没问题,要是限制它们也许就有很大的问题,能量上一般会有差异,有时还比较大如果要减少优化参数,不是仅仅将相似的参数改为一致,而是要根据对称性,采用相同的参数。
例如对苯分子分子指定部分如下:CC 1 B1C 2 B2 1 A1C 3 B3 2 A2 1 D1C 4 B4 3 A3 2 D2C 1 B5 2 A4 3 D3H 1 B6 2 A5 3 D4H 2 B7 1 A6 6 D5H 3 B8 2 A7 1 D6H 4 B9 3 A8 2 D7H 5 B10 4 A9 3 D8H 6 B11 1 A10 2 D9B1 1.395160B2 1.394712B3 1.395427B4 1.394825B5 1.394829B6 1.099610B7 1.099655B8 1.099680B9 1.099680B10 1.099761 B11 1.099604 A1 120.008632 A2 119.994165 A3 119.993992 A4 119.998457 A5 119.997223 A6 119.980770 A7 120.012795 A8 119.981142 A9 120.011343 A10 120.007997 D1 -0.056843 D2 0.034114 D3 0.032348 D4 -179.972926 D5 179.953248 D6 179.961852 D7 -179.996436 D8 -179.999514 D9 179.989175参数很多,但是通过对称性原则,并且采用亚原子可以将参数减少为:XX 1 B0C 1 B1 2 A1C 1 B1 2 A1 3 D1C 1 B1 2 A1 4 D1C 1 B1 2 A1 5 D1C 1 B1 2 A1 6 D1C 1 B1 2 A1 7 D1H 1 B2 2 A1 8 D1H 1 B2 2 A1 3 D1H 1 B2 2 A1 4 D1H 1 B2 2 A1 5 D1H 1 B2 2 A1 6 D1H 1 B2 2 A1 7 D1B0 1.0B1 1.2B2 2.2A1 90.0D1 60.0对于这两个工作,所用的时间为57s和36s,对称性为C01和D6H,明显后者要远远优于前者。
总结:高斯量化计算总结(必看)★★丫85丫(金币+2,VIP+0):谢谢关于自旋多重度定义: 多重度=2S+1, S=n*1/2,n为单电子数。
所以,关键是单电子的数目是多少。
当有偶数个电子时,例如O2,共有16个电子,那么单电子数目可能是0,即8个alpha 和8个beta电子配对,对应单重态,但是也可能是有9个α电子和7个β电子,那么能成对的是7对,还剩2个α没有配对,于是n=2,对应的是多重度3。
同理还可以有多重度5,7,9, ...一般而言,是多重度低的能量低,最稳定,所以,一般来说,偶数电子的体系多重度就是1。
但是也有例外,例如O2就是一个大家都知道的例子,它的基态是三重态,其单重态反而是激发态。
所以对于未知的体系,还是算几个保险一点,看哪个能量更低。
所以,总结一下,就是电子数目是偶数,未成对电子数目n=0,2,4,6,...自旋多重度是1,3,5,7,...电子数目是奇数,未成对电子数目n=1,3,5,7,...自旋多重度是2,4,6,8,...多数情况是多重度低的能量低,有时(特别是有“磁”性的时候,例如顺磁的O2,以及Fe啊什么的),可能会高多重度的能量低,所以需要都算算,看哪个能量更低。
关于赝势:简单来说,赝势就是不计算内层电子,而是把内层电子的贡献用一个势来描述,放在哈密顿里面。
适用于重元素。
赝势基组,实际上包括赝势和基组两个部分,内层电子采用赝势,即effective core potential (ECP),外层价电子采用一般的基组。
比如:LanL2DZ: D95V on first row, Los Alamos ECP plus DZ on Na-Bi.就是对第一行原子是D95V (这个是非赝势基组),对Na-Bi是使用一个叫做Los Alamos的有效核势加上一个DZ基组。
所以Lanl2dz就是对前面的原子全电子基组,对后面的原子是赝势基组。
(再次说明,量化里面,C,O那一行,算周期表的第一行)使用赝势的3个原因:1。
化学计算中帮助几何优化收敛的常用方法<来自小木虫>文/Sobereva First release: 2012-Oct-13几何优化,也就是寻找势能面极小点结构的过程。
量子化学计算中几何优化不收敛是个老生常谈的问题,在各种论坛里、群里都已经反复讨论过很多遍了,但是还是时常看到有人问,而且现有的讨论也都不怎么全面,所以觉得有必要撰文谈一下。
所谓几何优化不收敛,也就是始终,或者很难达到收敛要求。
通常会伴随着震荡行为,即受力、几何结构变化随优化步数呈现周期性趋势。
解决这种问题必须在结合经验和理论知识的前提下,通过考察实际收敛的趋势,尝试各种可能奏效处理办法。
本文列举一些常用的解决不收敛,也包括加速收敛的办法。
其中很多方法可以相互结合使用以达到更好的效果。
这里假定用户是用Gaussian,很多方法在其它程序中也可以类似地使用。
先说一下收敛标准。
Gaussian中判断几何优化收敛有四个标准,在默认收敛设定下,这四个标准是:最大受力<0.00045;方均根受力<0.00030;最大位移<0.00180;方均根位移<0.00120当这四个标准都满足了,达成四个YES,就宣告收敛。
另外,优化过程中只要受力小于预定的收敛限100倍,哪怕位移还没低于收敛限,则也算作已收敛。
这主要考虑到势能面非常非常缓的大的柔性分子,相对于这样尺度的分子,几何结构收敛到那么精确意义不大,放宽位移收敛限避免了收敛太慢。
有时候优化出错,不是因为几何收敛问题,而是因为每一步优化中连能量计算都没能完成。
优化也可能朝着明显错误的方向进行而导致难以收敛,这极有可能是理论方法、基组、电子态及其它诸多选项的设定不合理。
这些方面和优化不收敛问题本身没关系,所以不会在本文提到。
1 尝试不同的优化方法优化几何结构的方法有很多,以前我在《过渡态、反应路径的计算方法及相关问题》()当中详细介绍过的很多搜索过渡态的方法其实和搜索势能面极小点(即几何优化)的方法本质是一致的。
收敛问题的调整如果SCF计算收敛失败,你首先会采取哪些技巧呢?这里是我们强烈推荐的首选方法。
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. 关闭DIIS外推(SCF=NoDIIS)。
同时进行更多的迭代( SCF=(MaxCycle=N) )。
11. 更多的SCF迭代( SCF(MaxCycle=N),其中N是迭代数)。
这很少有帮助,但值得一试。
12. 使用强制的收敛方法。
SCF=QC通常最佳,但在极少数情况下SCF=DM更快。
不要忘记给计算额外增加一千个左右的迭代。
应当测试这个方法获得的波函,保证它最小,并且正好不是稳定点(使用Stable关键字)。
13. 试着改用DIIS之外其它方法(SCF=SD或SCF=SSD)。
Gaussian菜鸟常见问题分析1.检查是否有初始文件错误在命令行中加入%kJob L301 or%kJob L302如果通过则一般初始文件ok。
常见初级错误:a.自旋多重度错误b.变量赋值为整数c.变量没有赋值或多重赋值d.键角小于等于0度,大于等于180度e.分子描述后面没有空行f.二面角判断错误,造成两个原子距离过近g.分子描述一行内两次参考同一原子,或参考原子共线2.SCF(自洽场)不收敛则一般是L502错误省却情况做64个cycle迭代(G03缺省128 cycles)a.修改坐标,使之合理b.改变初始猜Guess=Huckel或其他的,看Guess关键词。
c.增加叠代次数SCFCYC=N(对小分子作计算时最好不要增加,很可能结构不合理)d.iop(5/13=1)这样忽略不收敛,继续往下做。
3.分子对称性改变a.修改坐标,强制高对称性或放松对称性b.给出精确的、对称性确定的角度和二面角。
如CH4的角度给到109.47122 c.放松对称性判据Symm=loose d.不做对称性检查iop(2/16=1)(最好加这个选项)iop(2/16=2)则保持新的对称性来计算4.Opt时收敛的问题a.修改坐标,使之合理b.增加叠代次数optcyc=N 5.优化过渡态,若势能面太平缓,则不好找到。
iop(1/8=10)默认30(下一个结构和该结构的差别0.3),可改成10。
如果每一步都要用到小的步长,应该加opt(notrustupdate)6.在CI(组态)方法中如QCISD(T),CCSD(T),CID方法中,省却最大循环50,若出错(L913错误) 解决方法:#P QCISD(maxcyc=N)注:N≤512 7.优化过渡态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)8.无法写大的Scratch文件RWF a.劈裂RWF文件%rwf=loc1,size1,loc2,size2,….,locN,-1 b.改变计算方法MP2=Direct可以少占硬盘空间c.限制最大硬盘maxdisk=N GB,*MB,有些系统写2GB会出错,可以写2000MB 9.FOPT出错原因是变量数与分子自由度数不相等。
【分享】高斯对不收敛问题的对策首先,我们必须理解收敛是什么意思。
在自洽场(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=Vshift6 使用强制的收敛方法SCF=QCSCF=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方法或者其他的混合形式的交换相关势(如B3L YP),则可以尝试以下的方法进行改进。
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.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。
如果每一步都要用到小的步长,应该加opt(notrustupdate)7.在CI(组态)方法中如QCISD(T),CCSD(T),CID方法中,省却最大循环50,若出错(L913错误)解决方法:#P QCISD(maxcyc=N) 注:N≤5128.优化过渡态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文件RWFa. 劈裂RWF文件%r wf=loc1,size1,loc2,size2,……..,locN,-1b. 改变计算方法MP2=Direct可以少占硬盘空间c. 限制最大硬盘maxdisk=N GB,****MB,有些系统写2GB会出错,可以写2000MB10. FOPT出错原因是变量数与分子自由度数不相等。
可用POPT 或直接用OPT11. 优化过渡态只能做一个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 )。