高斯对不收敛问题的对策

合集下载

gauss-seidel迭代法收敛判断

gauss-seidel迭代法收敛判断

Gauss-Seidel迭代法是一种用于求解线性方程组的迭代算法,该算法在科学计算和工程领域被广泛应用。

在使用该算法时,我们需要考虑其收敛性,以确保结果的准确性和可靠性。

下面我们将介绍Gauss-Seidel迭代法收敛判断的相关内容。

1. 收敛性定义在使用迭代法求解线性方程组时,迭代算法的收敛性是一个非常重要的问题。

一个迭代算法如果能够在有限步内得到一个接近于真实解的近似解,就称为收敛。

否则,如果迭代算法无法收敛或者收敛速度非常慢,就需要考虑改进算法或者选择其他更适合的算法。

2. Gauss-Seidel迭代法Gauss-Seidel迭代法是一种逐次逼近法,它通过不断地逼近线性方程组的解来求得近似解。

这种迭代算法的优点是简单易行,适用于各种情况。

然而,它的收敛性需要进行严格的判断。

3. 收敛条件对于Gauss-Seidel迭代法,我们可以使用以下收敛条件来进行判断:a) 对角占优条件:如果线性方程组的系数矩阵是严格对角占优的,那么Gauss-Seidel迭代法一定收敛。

b) 正定条件:如果线性方程组的系数矩阵是正定的,即所有的特征值都是正的,那么Gauss-Seidel迭代法也一定收敛。

c) 非奇异条件:如果线性方程组的系数矩阵是非奇异的,即行列式不为0,那么Gauss-Seidel迭代法也一定收敛。

4. 不收敛的情况尽管Gauss-Seidel迭代法在很多情况下能够收敛,但也存在一些情况下它不收敛的情况。

当线性方程组的系数矩阵不满足对角占优条件、正定条件或者非奇异条件时,Gauss-Seidel迭代法就可能不收敛。

此时,我们需要考虑改进算法或者选择其他更适合的迭代算法。

5. 收敛速度除了考虑Gauss-Seidel迭代法的收敛性外,还需要关注其收敛速度。

一般来说,Gauss-Seidel迭代法的收敛速度相对较快,特别是在满足对角占优条件、正定条件或非奇异条件的情况下。

然而,如果在实际使用中发现收敛速度较慢,也可以考虑使用加速方法如SOR方法等来提高收敛速度。

如何应对深度学习技术中的模型不收敛问题

如何应对深度学习技术中的模型不收敛问题

如何应对深度学习技术中的模型不收敛问题深度学习技术的快速发展为许多领域带来了革命性的进步,但与此同时,深度学习模型不收敛的问题也成为了许多研究者和开发者所面临的挑战。

在深度学习中,模型不收敛通常表示模型的训练过程过早停止或在训练过程中无法达到预期的性能。

本文将介绍一些常见的原因和解决方案,帮助读者有效地应对深度学习技术中的模型不收敛问题。

首先,模型不收敛的原因可以归结为两类:设计问题和训练问题。

在模型设计方面,一些常见的问题包括:模型的复杂度过高导致过拟合,模型的复杂度过低导致欠拟合,以及输入数据的特征选择不当。

针对这些问题,我们可以采取以下解决方案: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关键字)。

高斯常见错误及注意地方

高斯常见错误及注意地方

优化1在优化时采用Scf(tight)的选项,增加收敛的标准。

再去计算频率。

如果还有虚频,参见下一步。

2.对称性的影响,很多情况下的虚频是由于分子本身的对称性造成的。

这样,在优化时,如果必要,要将对称性降低,还有,输入文件有时是用内坐标。

建议如果有虚频的话,将内坐标改成直角坐标优化。

3.如果上述方法还有虚频,看一下虚频,找到强度较大的,将在频率中产生的原子的振动坐标加到相应的输入文件中。

这样,重新计算。

直到虚频没有。

4实际上,如果分子柔性较大,很难找到最低点,这是电子结构计算的问题,这种情况下,需要动力学的东西,用构象搜寻的办法解决。

如:模拟退火,最陡下降法,淬火法等。

将得到的能量最低的构象做一般的电子结构计算,这样,应当没有问题。

不要讲你还没有得到最稳定的结构,那么,是你的分子有问题,要么计算错了,要么就是游离出现代计算的范畴1。

低频率振动模式时,力常数很小,必须使用opt=tight以确保适当的收敛和随后任务步骤中频率计算的可靠度。

比如我曾经算过一个体系,第一个频率振动的力常数只有10~20,很不放心,加入tight后,优出来的结构却与前面大相径庭,而且还出现了一个虚频。

2。

做IRC计算的时候,如果步长很小,必须要用verytight。

就曾有人步长设为1,而不加verytight,算出来的反应路径是v字形倒海鸥状的。

3。

使用int指定用于数值积分的积分网格来用于消虚频的时候,必须注意,在比较能量的时候,对所有的计算要使用相同的积分网格。

检查错误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关键词。

高斯错误修改总结

高斯错误修改总结

A list of error messages and possible solutions -Gaussian calculations can fail with various error messages. Some error messages from .out and .log files - and possible solutions - have been compiled here to facilitate problem solving.-These are divided into:-Syntax and similar errors-语法类错误Memory and similar errors-内存类错误Convergence problems -不收敛错误Errors in solvent calculations -溶剂中的计算错误Errors in log files-错误文件-ERROR MESSAGES IN OUTPUT FILES-Syntax and similar errors:End of file in ZSymb.-Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l101.exe Solution: The blank line after the coordinate section in the .inp file is missing. (输入文件空行丢失)Unrecognized layer "X".-(不识别层X)Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l101.exeSolution: Error due to syntax error(s) in coordinate section (check carefully). If error is "^M", it is caused by DOS end-of-line characters (e.g. if coordinates were written under Windows). Remove ^M from line ends using e.g. emacs. To process .inp files from command line, use sed -i 's/^M//' File.inp (Important: command does not work if ^M is written as characters - generate ^M on command line using ctrl-V ctrl-M).-QPERR --- A SYNTAX ERROR WAS DETECTED IN THE INPUT LINE.-Solution: Check .inp carefully for syntax errors in keywords -RdChkP: Unable to locate IRWF=0 Number= 522.-Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l401.exe or-FileIO operation on non-existent file.-[...] Error termination in NtrErr:-NtrErr Called from FileIO.Solution: Operation on .chk file was specified (e.g.geom=check, opt=restart), but .chk was not found. Check that:-%chk= was specifed in .inp-.chk has the same name as .inp-.chk is in the same directory as .inp -run script transports .chk to temporary folder upon job start. Run scripts downloaded here should do this. -The combination of multiplicity N and M electrons is impossible.-(多重性)Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l301.exeSolution: Either the charge or the multiplicity of the molecule was not specified correctlyin .inp.-(电荷和多重性指定错误)Memory and similar errors: Out-of-memory error in routine RdGeom-1 (IEnd= 1200001 MxCore= 2500)-Use %mem=N MW to provide the minimum amount of memory required to complete this step-Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l101.exe or-Not enough memory to run CalDSu, short by 1000000 words.-Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l401.exe or-[...] allocation failure: -(表示配分失败)Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l1502.exe Solution: Specify more memory in .inp (%mem=Nmb). Possibly, also increase pvmem value in run script. Especially solvent calculations can exhibit allocation failures and explicit amounts of memory should be specified.-galloc: could not allocate memory.-(无法分配内存)Solution: The %mem value in .inp is higher than pvmem value in run script. Increase pvmem or decrease %mem. -Probably out of disk space(磁盘空间). Write error in NtrExt1 Solution: /scratch space is most likely full. Delete old files in temporary folder. -Convergence problems: Density matrix is not changing but DIIS error= 1.32D-06 CofLast= 1.18D-02.-(收敛问题)The SCF is confused. Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/linda-exe/l502.exel Solution: Problem with DIIS. Turn it off completely, e.g. using SCF=qc, or partly by usingSCF=(maxconventionalcycles=N,xqc), where N is the number of steps DIIS should be used (see SCF keyword). -Convergence criterion not met. SCF Done: E(RHF) = NNNNNNN A.U. after 129 cycles -[...] Convergence failure -- run terminated. Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/linda-exe/l502.exe Solution: One SCF cycle has a default of maximum 128 steps, and this was exceeded without convergence achieved. Possible solution: In the route section of input file, specify SCF=(MaxCycle=N), where N is the number of steps per SCF cycles. Alternatively, turn of DIIS (e.g. by SCF=qc) (see SCF keyword).--Problem with the distance matrix.-(距离矩阵)Error termination via Lnk1e in /pkg/gaussian/g03/l202.exe Solution: Try to restart optimization from a different input geometry. -(重新不同几何异构体的输入优化)New curvilinear step not converged(新曲线步骤不收敛). Error imposing constraints-Error termination via Lnk1e in /pkg/gaussian/g03/l103.exe-Solution: Problem with constrained coordinates (e.g. in OPT=modredun calculation). Try to restart optimization from a slightly different input geometry. -(一种稍微不同的输入几何)-Optimization stopped. -- Number of steps exceeded, NStep= N-[..] Error termination request processed by link 9999.-Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l9999.exe Solution: Maximum number of optimization steps is twice the number of variables to be optimized. Try increasing the value by specifying OPT=(MaxCycle=N) in .inp file, where N is the number of optimization steps (see OPT keyword). Alternatively, try to start optimization from different geometry.--Errors in solvent calculations: AdVTs1: ISph= 2543 is engulfed by JSph= 2544 but Ae( 2543) is not yet zero!-Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l301.exe Solution: Problem is related to building of the cavity in solvent calculations(溶剂效应优化计算错误). One possible solution is to change the cavity(腔) model (default in g03 is UAO, can be changed by adding RADII keyword in section below coordinates in the .inp file, e.g. RADII=UFF, see SCRF keyword).--Hydrogen X has 2 bounds. Keep it explicit at all point on the-potential energy surface to get meaningful results.Solution: In UAO cavity model, spheres are placed on groups of atoms, with hydrogens assigned to the heavy atom, they are bound to. If assignment fails (e.g. because heavy atom-H bond is elongated), cavity building fails. Possible solutions: a) use cavity model that also assigns spheres to hydrogens (e.g. RADII=UFF) or b) Assign a sphere explicity on problematic H atom (use SPHEREONH=N, see SCRF keyword)--ERROR MESSAGES IN LOGFILES =>> PBS: job killed: wall time N exceeded limit M-signal number 15 received. Solution: Job did not finish within specified wall time. Retrieve .out and .chk files from temporary folder /global/work/$USER/$JOB (or $PBS_JOBID) and restart calculation if possible (using e.g. opt=restart or scf=restart). -cp: cannot stat $JOB.inp: No such file or directory Solution: The .inp file is not in the directory from where the job was submitted (or its name was misspelled during submission. If error reads: cp: cannot stat $JOB .inp .inp, the .inp file was submitted with extension).-ntsnet: unable to schedule the minimum N workers Solution: The value of %N proc Linda=N in the .inp file is higher than the number of nodes asked for during submission. Make sure these values match.Connection refused [...] died without ever signing in-Sign in timed out after 0 worker connections. Did not reach minimum (N), shutting downSolution: Error appears if you run parallel calculations but did not add this file to your $HOME directory: .tsnet.config containing only the line: Tsnet.Node.lindarsharg: ssh (see also guidelines for submission). -Density matrix is not changing but DIIS error - Suggested solutions1/- SCF=qc will probably solve the problem, albeit at a cost- Change the SCF converger to either SD, Quadratic or Fermi2/- lower the symmetry of optimize with and optimizewith the "nosymm" keywordI solved the problem using a variation on the first suggestion. Normally the scf took less than 80 cycles to converge. So i used scf=(Maxconventionalcycles=100,xqc) which resulted in a good compromise between using scf=qc and optimisation speed.In the case of the DIIS error the scf always took more than 100 cycles before the error,so by adding scf=(Maxconventionalcycles=100,xqc) the scf switched to qc after 100 cycles in the standard DIIS mode.l9999错误是优化圈数不够,把out文件保存成gjf,修改后接着优化。

不收敛的解决方案

不收敛的解决方案

不收敛的解决方案首先要分清scf不收敛和几何构型优化不收敛:scf不收敛指的是自洽场叠代不收敛(什么?没听说过什么叫自洽场?那还是回去学习些量化基础知识再开展计算吧!),可以认为是对指定结构的波函数不断优化的过程,是为了找到这个某个指定结构下能量最低的波函数,而几何构型优化是对结构的优化的过程,是为了找到某个指定的组分下能量极小结构(注意,不一定是能量最小结构)。

在量子化学计算的几何构型优化中,每一步的几何构型优化都包含的很多次的scf计算。

1、scf不收敛的解决方案。

(1) 可以加大scf的循环次数,默认的循环次数是128次,通过scf=(maxcycle=n)来设置最大循环次数n。

建议不要超过512,更多的循换没有必要。

(2) 如果加大循环次数不管用,在分子有对称性的情况下,使用scf=dsymm关键词来强制密度对称,有时可以收敛。

另外,此关键词很多时候对"scf is confused”这种错误很管用。

(3) 使用scf=symm关键词,使用的前提同上,有时可以收敛。

(4) 如果(2)(3)两步都不行,可以将对称的分子中的某几个原子的位置微调,使分子丧失对称性。

这等效于nosymm关键词,但个人经验,这种方式比nosymm好用的多。

(5) 如果还不行,只能拿出杀手锏了,就是使用qc,但不建议直接使用,而是使用xqc关键词,比如scf=(maxcycle=80,xqc),意思是如果scf正常计算(dc)在80个循环之内不收敛才进行昂贵的qc计算,因为scf不收敛多数在几个优化的过程中出现,无法判断哪一步优化的时候会出现scf不收敛,所以用xqc比纯粹使用qc要省时的多。

(6) 中级用户可以在输入文件的井号“#”开头那一行井号后面加上字母"p"来输出更多的信息,其中就有自洽场叠代的信息,分析原因可能会对采用什么方法提供指导。

(7) 前面有虫子提到一个有用的方案但没说清楚,我这里补充一下:如果用用小基组计算,scf可以收敛,那么保存好检查点文件,换成大基组的时候从检查点文件中读取初始猜测(使用guess=read关键词),有时可以算过去。

如何解决高斯化学计算中优化收敛的问题

如何解决高斯化学计算中优化收敛的问题

化学计算中帮助几何优化收敛的常用方法<来自小木虫>文/Sobereva First release: 2012-Oct-13几何优化,也就是寻找势能面极小点结构的过程。

量子化学计算中几何优化不收敛是个老生常谈的问题,在各种论坛里、群里都已经反复讨论过很多遍了,但是还是时常看到有人问,而且现有的讨论也都不怎么全面,所以觉得有必要撰文谈一下。

所谓几何优化不收敛,也就是始终,或者很难达到收敛要求。

通常会伴随着震荡行为,即受力、几何结构变化随优化步数呈现周期性趋势。

解决这种问题必须在结合经验和理论知识的前提下,通过考察实际收敛的趋势,尝试各种可能奏效处理办法。

本文列举一些常用的解决不收敛,也包括加速收敛的办法。

其中很多方法可以相互结合使用以达到更好的效果。

这里假定用户是用Gaussian,很多方法在其它程序中也可以类似地使用。

先说一下收敛标准。

Gaussian中判断几何优化收敛有四个标准,在默认收敛设定下,这四个标准是:最大受力<0.00045;方均根受力<0.00030;最大位移<0.00180;方均根位移<0.00120当这四个标准都满足了,达成四个YES,就宣告收敛。

另外,优化过程中只要受力小于预定的收敛限100倍,哪怕位移还没低于收敛限,则也算作已收敛。

这主要考虑到势能面非常非常缓的大的柔性分子,相对于这样尺度的分子,几何结构收敛到那么精确意义不大,放宽位移收敛限避免了收敛太慢。

有时候优化出错,不是因为几何收敛问题,而是因为每一步优化中连能量计算都没能完成。

优化也可能朝着明显错误的方向进行而导致难以收敛,这极有可能是理论方法、基组、电子态及其它诸多选项的设定不合理。

这些方面和优化不收敛问题本身没关系,所以不会在本文提到。

1 尝试不同的优化方法优化几何结构的方法有很多,以前我在《过渡态、反应路径的计算方法及相关问题》()当中详细介绍过的很多搜索过渡态的方法其实和搜索势能面极小点(即几何优化)的方法本质是一致的。

高斯错误修改总结

高斯错误修改总结

A list of error messages and possible solutions ­Gaussian calculations can fail with various error messages. Some error messages from .out and .log files - and possible solutions - have been compiled here to facilitate problem solving.­These are divided into:­Syntax and similar errors­语法类错误Memory and similar errors­内存类错误Convergence problems ­不收敛错误Errors in solvent calculations ­溶剂中的计算错误Errors in log files­错误文件­ERROR MESSAGES IN OUTPUT FILES­Syntax and similar errors:End of file in ZSymb.­Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/l101.exe Solution: The blank line after the coordinate section in the .inp file is missing. (输入文件空行丢失)Unrecognized layer "X".­(不识别层X)Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/l101.exeSolution: Error due to syntax error(s) in coordinate section (check carefully). If error is "^M", it is caused by DOS end-of-line characters (e.g. if coordinates were written under Windows). Remove ^M from line ends using e.g. emacs. To process .inp files from command line, use sed -i 's/^M//' File.inp (Important: command does not work if ^M is written as characters - generate ^M on command line using ctrl-V ctrl-M).­QPERR --- A SYNTAX ERROR WAS DETECTED IN THE INPUT LINE.­Solution: Check .inp carefully for syntax errors in keywords ­RdChkP: Unable to locate IRWF=0 Number= 522.­Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l401.exe or­FileIO operation on non-existent file.­[...] Error termination in NtrErr:­NtrErr Called from FileIO.Solution: Operation on .chk file was specified (e.g.geom=check, opt=restart), but .chk was not found. Check that:­%chk= was specifed in .inp­.chk has the same name as .inp­.chk is in the same directory as .inp ­run script transports .chk to temporary folder upon job start. Run scripts downloaded here should do this. ­The combination of multiplicity N and M electrons is impossible.­(多重性)Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/l301.exeSolution: Either the charge or the multiplicity of the molecule was not specified correctly in .inp.­(电荷和多重性指定错误)Memory and similar errors: Out-of-memory error in routine RdGeom-1 (IEnd= 1200001 MxCore= 2500)­Use %mem=N MW to provide the minimum amount of memory required to complete this step­Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l101.exe or­Not enough memory to run CalDSu, short by 1000000 words.­Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l401.exe or­[...] allocation failure: ­(表示配分失败)Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/l1502.exe Solution: Specify more memoryin .inp (%mem=Nmb). Possibly, also increase pvmem value in run script. Especially solvent calculations can exhibit allocation failures and explicit amounts of memory should be specified.­galloc: could not allocate memory.­(无法分配内存)Solution: The %mem value in .inp is higher than pvmem value in run script. Increase pvmem or decrease %mem. ­Probably out of disk space(磁盘空间). Write error in NtrExt1 Solution: /scratch space is most likely full. Delete old files in temporary folder. ­Convergence problems: Density matrix is not changing but DIIS error= 1.32D-06 CofLast= 1.18D-02.­(收敛问题)The SCF is confused. Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/linda-exe/l502.exel Solution: Problem with DIIS. Turn it off completely, e.g. using SCF=qc, or partly by usingSCF=(maxconventionalcycles=N,xqc), where N is the number of steps DIIS should be used (see SCF keyword). ­Convergence criterion not met. SCF Done: E(RHF) = NNNNNNN A.U. after 129 cycles ­[...] Convergence failure -- run terminated. Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/linda-exe/l502.exe Solution: One SCF cycle has a default of maximum 128 steps, and this was exceeded without convergence achieved. Possible solution: In the route section of input file, specify SCF=(MaxCycle=N), where N is the number of steps per SCF cycles. Alternatively, turn of DIIS (e.g. by SCF=qc) (see SCF keyword).­­Problem with the distance matrix.­(距离矩阵)Error termination via Lnk1e in /pkg/gaussian/g03/l202.exe Solution: Try to restart optimization from a different input geometry. ­(重新不同几何异构体的输入优化)New curvilinear step not converged(新曲线步骤不收敛). Error imposing constraints­Error termination via Lnk1e in /pkg/gaussian/g03/l103.exe­Solution: Problem with constrained coordinates (e.g. in OPT=modredun calculation). Try to restart optimization from a slightly different input geometry. ­(一种稍微不同的输入几何)­Optimization stopped. -- Number of steps exceeded, NStep= N­[..] Error termination request processed by link 9999.­Error termination via Lnk1e in /global/apps/gaussian/g03.e01/g03/l9999.exe Solution: Maximum number of optimization steps is twice the number of variables to be optimized. Try increasing the value by specifyingOPT=(MaxCycle=N) in .inp file, where N is the number of optimization steps (see OPT keyword). Alternatively, try to start optimization from different geometry.­­Errors in solvent calculations: AdVTs1: ISph= 2543 is engulfed by JSph= 2544but Ae( 2543) is not yet zero!­Error termination via Lnk1e in/global/apps/gaussian/g03.e01/g03/l301.exe Solution: Problem is related to building of the cavity in solvent calculations(溶剂效应优化计算错误). One possible solution is to change the cavity(腔) model (default in g03 is UAO, can be changed by adding RADII keyword in section below coordinates inthe .inp file, e.g. RADII=UFF, see SCRF keyword).­­Hydrogen X has 2 bounds. Keep it explicit at all point on the­potential energy surface to get meaningful results.Solution: In UAO cavity model, spheres are placed on groups of atoms, with hydrogens assigned to the heavy atom, they are bound to. If assignment fails (e.g. because heavy atom-H bond is elongated), cavity building fails. Possible solutions: a) use cavity model that also assigns spheres to hydrogens (e.g. RADII=UFF) or b) Assign a sphere explicity on problematic H atom (use SPHEREONH=N, see SCRF keyword)­­ERROR MESSAGES IN LOGFILES =>> PBS: job killed: wall time N exceeded limit M­signal number 15 received. Solution: Job did not finish within specified wall time. Retrieve .out and .chk files from temporary folder /global/work/$USER/$JOB (or $PBS_JOBID) and restart calculation if possible (using e.g. opt=restart orscf=restart). ­cp: cannot stat $JOB.inp: No such file or directory Solution: The .inp file is not in the directory from where the job was submitted (or its name was misspelled during submission. If error reads: cp: cannot stat $JOB .inp .inp, the .inp file was submitted with extension).­ntsnet: unable to schedule the minimum N workers Solution: The value of %N proc Linda=N in the .inp file is higher than the number of nodes asked for during submission. Make sure these values match.Connection refused [...] died without ever signing in­Sign in timed out after 0 worker connections. Did not reach minimum (N), shutting downSolution: Error appears if you run parallel calculations but did not add this file to your $HOME directory: .tsnet.config containing only the line: Tsnet.Node.lindarsharg: ssh (see also guidelines for submission). ­Density matrix is not changing but DIIS error - Suggested solutions1/- SCF=qc will probably solve the problem, albeit at a cost- Change the SCF converger to either SD, Quadratic or Fermi2/- lower the symmetry of optimize with and optimizewith the "nosymm" keywordI solved the problem using a variation on the first suggestion. Normally the scf took less than 80 cycles to converge. So i usedscf=(Maxconventionalcycles=100,xqc) which resulted in a good compromise between using scf=qc and optimisation speed. In the case of the DIIS error the scf always took more than 100 cycles before the error, so by addingscf=(Maxconventionalcycles=100,xqc) the scf switched to qc after 100 cycles in the standard DIIS mode.l9999错误是优化圈数不够,把out文件保存成gjf,修改后接着优化。

总结出来的一些高斯常见错误txt

总结出来的一些高斯常见错误txt

总结出来的一些高斯常见错误txt近来一直在学习高斯,因为不精通常遇到各种错误。

结合自学的东西和查阅的资料总结出来一些错误,希望对和我一样的高斯初学者有所帮助。

1、Q:Error termination in NtrErr: ntran open failure returned to fopen. Segmentation faultE:Can't open a file.2、Q:Internal consistency error detected in FileIO for unit 1I= 4 J=0 I Fail= 1.E:Gaussian is limited to 16 GB of scratch space on the 32-bit nodes.3、Q:Out-of-memory error in routine UFChkP (IEnd= 12292175MxCore= 6291456)Use %Mem=12MW to provide the minimum amount of memory required to complete this step.Error termination via Lnk1e at Thu Feb 2 13:05:32 2006.Eefault memory (6 MW, set in $GAUSS_MEMDEF) is too small for unfchk.4、Q:galloc: could not allocate memory.: Resource temporarily unavailableor Out-of-memory error in routine...or End of file in GetChg. Error termination via Lnk1e ...E:Not enough memory.5、Q:IMax=3 JMax=2 DiffMx= 0.00D+00Unable to allocate space to process matrices in G2DrvN:NAtomX= 58 NBasis= 762 NBas6D= 762 MDV1= 6291106 MinMem= 105955841.E:Gaussian has 6 MW free memory (MDV1) but requires at least 106 MW (MinMem).6、Q;Estimate disk for full transformation -677255533 words. Semi-Direct transformation. Bad length for file.E:MaxDisk has been set too low.7、Q:Error termination in NtrErr:NtrErr Called from FileIO.E:The calculation has exceeded the maximum limit of maxcyc.8、Q:Erroneous read. Read 0 instead of 6258688. fd = 4 g_readE:Disk quota or disk size exceeded. Could also be disk failure or NFS timeout.9、Q:Erroneous write. Write 8192 instead of 12288. fd = 4E:Disk quota or disk size exceeded. Could also be disk failure or NFS10、Q:orig len = 12288 left = 12288 g_writeE:timeout11、另有link错误:如:Error termination request processed by link 9999对于优化不收敛,即L9999错误,实际上是在规定的步数内没有完成优化,即还没有找到极小值点。

转:解决SCF不收敛问题的方法

转:解决SCF不收敛问题的方法

转:解决SCF不收敛问题的⽅法解决SCF不收敛问题的⽅法⽂/Sobereva(3)First release: 2010-May-17 Last update: 2016-Feb-81 前⾔量⼦化学计算离不开SCF(⾃洽场)迭代,如半经验⽅法、HF、DFT等。

在SCF迭代中,由Fock矩阵F对⾓化获得新的系数矩阵C和轨道能{ε},然后构造密度矩阵D=C'C'^(T),其中C'为不含虚轨道的C矩阵,再由D构造新的Fock矩阵,反复进⾏直到收敛,可以写为F_(1)->C_(1)->D_(1)->F_(2)->C_(2)->D_(2)...。

收敛判据不是唯⼀的,⽐如Gaussian中⽤的判据是当前步与上⼀步的密度矩阵元变化量的最⼤值和⽅均根(RMS)以及能量的变化,当数值都⼩于⼀定范围就认为已经收敛了。

默认判据和设定下多数情况在25步以内能达到收敛。

但慢收敛甚⾄完全不能收敛的情况是经常会遇到的。

常见的是迭代后期能量随迭代呈现震荡,直到达到默认的最⼤步数仍未收敛。

也可能能量虽然震荡但总趋势是慢慢降低的,⼀直迭代下去能收敛,但震荡⾏为明显拖慢了收敛速度。

也可能震荡的规律性不显著,迭代过程能量曲线看上去有随机性,但就是很难达到收敛限。

不收敛、难收敛情况的出现有很多数值巧合因素,但有些情况不好收敛是众所周知的,例如:基组含弥散函数、体系处于明显的⾮平衡构型、前线区域轨道能级密集、HOMO-LUMO能隙较⼩(过渡⾦属化合物、成键⽅式古怪等静态相关较强体系中容易出现此情况)、限制性开壳层(RO)计算。

⼈们提出过⼀些⽅案加速收敛或试图解决不收敛,如DIIS、阻尼⽅法、温度展宽、能级移动、⼆次收敛⽅法等。

主流的量化程序,如Gaussian、ORCA中默认就会使⽤⼀部分这样的帮助收敛。

⽽这些主流的量化程序为了加速SCF计算耗时,会引⼊⼀些数值近似,⽐如⼀开始先默认⽤较低的DFT积分格点、忽略数值较⼩的积分、Incremental fock⽅式加速Fock矩阵的构建等等,这些近似有时候会阻碍收敛。

改进的高斯-赛德尔迭代法的收敛性分析

改进的高斯-赛德尔迭代法的收敛性分析

改进的高斯-赛德尔迭代法的收敛性分析黄湧辉【摘要】本文讨论了改进的高斯-赛德尔迭代法的收敛性。

在严格对角占优的L-矩阵条件下,该预条件加快了高斯-赛德尔迭代法的收敛速度,而且在该预条件下高斯-赛德尔迭代法的谱半径是单调下降的。

最后用数值例子说明本文得出的结论。

%In this papert,he convergence analysis for a new preconditioned Gauss-Seidel iterative method was discussed.If the matrix is the strictly dominant L-matrixt,he convergence rate of the preconditioned Gauss-Seidel iterative method is faster than one of the【期刊名称】《西昌学院学报(自然科学版)》【年(卷),期】2011(025)001【总页数】3页(P15-17)【关键词】严格对角占优L-矩阵;预条件迭代法;谱半径;弱正则分裂;收敛速度【作者】黄湧辉【作者单位】华南师范大学数学科学学院,广东广州510631【正文语种】中文【中图分类】O241.6引言本文考虑实线性方程组其中A=(aij)n×n∈Rn×n为n阶方阵,x∈Rn和b∈Rn是n维向量。

对系数矩阵A作A=M-N的分裂,M为非奇异矩阵,则对应方程组(1)的基本迭代形式为:其中称M-1为方程(1)的迭代矩阵,迭代形式(2)是否收敛取决于迭代矩阵M-1N。

当k→∞,M-1N→0,即k→∞时,谱半径ρ(M-1N)<1,并且其收敛速度随谱半径ρ(M-1N)的减小而加快。

一般地,对线性方程组(1)的系数矩阵A做如下的分裂其中D为非奇异对角矩阵,L为严格下三角矩阵,U为严格上三角矩阵。

为讨论方便,当A可逆时,总可以通过初等变换把A的对角元都化简为1,因此对于形如(3)的系数矩阵,Gauss-Seidel迭代法的迭代矩阵为:G=(I-L)-1U。

高斯赛德尔迭代收敛雅可比跌代不收敛的方程组

高斯赛德尔迭代收敛雅可比跌代不收敛的方程组

高斯赛德尔迭代收敛雅可比跌代不收敛的方程组高斯赛德尔迭代收敛雅可比跌代不收敛的方程组(G-S-E-A-D-E-A-PIB)是一种特殊的数学方程,用来描述系统的稳定性和可靠性。

它可以用来分析不同系统的性能,例如电路、计算机系统、仪表设备等。

高斯赛德尔迭代收敛雅可比跌代不收敛的方程组(G-S-E-A-D-E-A-PIB)可以描述一个系统的性能曲线,它的迭代收敛和跌代不收敛两个性质都很重要,它可以提供一个系统的可靠性和安全性。

有了这种方程,我们就可以分析某种系统的行为,找出系统中的可能的问题,及时采取纠正措施,避免发生不必要的事故。

高斯赛德尔迭代收敛雅可比跌代不收敛的方程组(G-S-E-A-D-E-A-PIB)最重要的性质就是迭代收敛和跌代不收敛,它可以用来描述一个系统的可靠性和安全性,这是一个非常重要的参数。

迭代收敛指的是随着一个系统的运行,系统中的参数比如负载,温度和压力等,都会慢慢收敛到一个固定的值,这样一个系统可以保持稳定的工作。

而跌代不收敛则是描述一种情况,即由于某种原因,系统中的参数不断增加,但没有达到一个阈值,这样就会导致系统的稳定性降低。

高斯赛德尔迭代收敛雅可比跌代不收敛的方程组(G-S-E-A-D-E-A-PIB)有着很强的理论和实践意义,可以用来描述系统稳定可靠和跌代不收敛的方程组,这是一种新兴的科学技术,它将来会被应用到更广泛的领域,有助于提高电路、计算机系统和仪表的可靠性、安全性和系统的性能。

综上所述,高斯赛德尔迭代收敛雅可比跌代不收敛的方程组(G-S-E-A-D-E-A-PIB)是一种重要的基础理论,它能够帮助我们更好地理解系统的性能和安全性,提高系统的可靠性,有助于开发出更节能、更高效的设备,并有助于降低生产成本,从而带来更多的经济效益。

在Gaussian计算中,应该注意的十个问题

在Gaussian计算中,应该注意的十个问题

在Gaussian计算中,为了确定优化得到的儿何结构是势能面上的局域极小点还是鞍点,或者要得到相关的热力学性质,经常需要对优化后的儿何结构进行振动分析。

这里我们将讨论儿个频率计算中常见的一些问题。

希望能对初学Gaussian的人有所帮助。

首先,原则上说,振动频率分析只对稳定结构有意义。

这里所说的稳定结构包括是势能面上的局域极小点和鞍点。

如下图1所示是一维自山度上的势能面,A 和B处在势能面的局域极小点,而处在势能面的鞍点上。

他们在都处在平衡位置(原子核受力为零),不同的是,A和B来说离开平衡位置会受到指向平衡位置处的力,而C离开平衡位置会受到远离平衡位置的力。

因此A和B处在稳定平衡点,C处在不稳定平衡点。

实际上,一个分子可以有很多的自由度,如果在所有自由度上分子都处在稳定平衡,就是稳定的分子。

频率分析得结果是所有频率都是正的,表明这是一个局域的极小点。

如果分子只在一个自由度上处于不稳定平衡位置,其他自山度上都处在稳定平衡位置,说明该结构是一阶鞍点。

分子在稳定自山度方向上的振动才是真实的振动,在不稳定自山度方向上的实际上是不会有振动的。

不过我们可以对不稳定方向上的运动也按振动来做数学处理,会的到负的振动频率,我们称它为虚频。

虚频的出现表明该结构为鞍点。

第二,Gaussian计算中,频率的计算一定要在和分子结构优化相同的方法,基组下进行,否则计算的结果是没有意义的。

我们知道,任何理论水平下的计算,都是在一定的近似下进行的,不同的理论水平的近似程度是不同的。

在一种理论水平A 下优化的稳定结构Geom_A会和另一种理论水平B下优化的稳定结构Geom_B有差别,也就是说Geom_A不会是理论水平B下的稳定结构。

根据前面我们所讨论的,在理论水平B下对一个不稳定的结构进行频率分析是没有意义的。

图2示意说明了不同理论水平下稳定点结构的不同。

图2不同理论水平下优化的稳定结构是不同的第三,频率计算中可以考虑同位素效应(Freq=Readlsotopes)o在波恩- 奥本海默近似下,对于同一种元素釆用不同的同位素对儿何优化和电子结构计算没有影响,频率计算所需的力常数矩阵(Hessian矩阵)也不会变化,变化的只是约化质量。

如何解决高斯化学计算中优化收敛的问题

如何解决高斯化学计算中优化收敛的问题

化学计算中帮助几何优化收敛的常用方法<来自小木虫>文/Sobereva First release: 2012-Oct-13几何优化,也就是寻找势能面极小点结构的过程。

量子化学计算中几何优化不收敛是个老生常谈的问题,在各种论坛里、群里都已经反复讨论过很多遍了,但是还是时常看到有人问,而且现有的讨论也都不怎么全面,所以觉得有必要撰文谈一下。

所谓几何优化不收敛,也就是始终,或者很难达到收敛要求。

通常会伴随着震荡行为,即受力、几何结构变化随优化步数呈现周期性趋势。

解决这种问题必须在结合经验和理论知识的前提下,通过考察实际收敛的趋势,尝试各种可能奏效处理办法。

本文列举一些常用的解决不收敛,也包括加速收敛的办法。

其中很多方法可以相互结合使用以达到更好的效果。

这里假定用户是用Gaussian,很多方法在其它程序中也可以类似地使用。

先说一下收敛标准。

Gaussian中判断几何优化收敛有四个标准,在默认收敛设定下,这四个标准是:最大受力<0.00045;方均根受力<0.00030;最大位移<0.00180;方均根位移<0.00120当这四个标准都满足了,达成四个YES,就宣告收敛。

另外,优化过程中只要受力小于预定的收敛限100倍,哪怕位移还没低于收敛限,则也算作已收敛。

这主要考虑到势能面非常非常缓的大的柔性分子,相对于这样尺度的分子,几何结构收敛到那么精确意义不大,放宽位移收敛限避免了收敛太慢。

有时候优化出错,不是因为几何收敛问题,而是因为每一步优化中连能量计算都没能完成。

优化也可能朝着明显错误的方向进行而导致难以收敛,这极有可能是理论方法、基组、电子态及其它诸多选项的设定不合理。

这些方面和优化不收敛问题本身没关系,所以不会在本文提到。

1 尝试不同的优化方法优化几何结构的方法有很多,以前我在《过渡态、反应路径的计算方法及相关问题》()当中详细介绍过的很多搜索过渡态的方法其实和搜索势能面极小点(即几何优化)的方法本质是一致的。

高斯常见问题

高斯常见问题

一、混合基组#p b3lyp/GenECP opt Gen 自己在输入文件末尾定义基组,ECP 使用赝势空行g03 opt空行0 1... ...... ...空行C H O 0 碳氢氧数字0 GEN6-31G** 基组名**** 结束符号Ru P Cl 0 Ru P Cl 数字0 GENLanl2dz 基组名**** 结束符号空行Ru P Cl 0 Ru P Cl 数字0 ECPLanl2dz 基组=====================建议你查看GEN 关键字。

上述,如不加ECP亦可。

二、出现错误提醒:(一)出现名言提示,表明是正常结束的;l9999终止,是因为循环次数不够。

建议用optcyc=100-999增加循环;或者把输出结果做为输入结构再次优化!1、是我感觉你要是maxcycle=200还是999死的话,就减小一下步长试试,可能会有用的!maxstep=12、该先看下收敛指标是不是很接近了,如果很接近就继续做(读chk)或取出最后一个坐标继续算,如果相差很远,可以加非线形实验下,再一个就是加大循环,缩短步长。

(二)L202是重新定位坐标,计算对称性,检查变量的,它出错应该就是输入结构有问题。

三、过渡态寻找过渡态的时候,可以用TS,QST2 和QST3 方法,那一种方法的效果更好一些?”取决于计算前所拥有的信息量。

当然,信息越多,结果越有把握。

所以,QST3 最有把握。

如果没有任何初始信息,那就没有什么选择了。

“我想不同的输入方法肯定不会产生一样的结果,那输入过程中限制它们间相对位置的条件是什么呢?”如果输入不同会导致结果不同,那么应当全面考虑。

首先可以用化学知识筛选。

如果此后仍有多种可能性,就应当通过计算比较。

我算过的用HF方法虚频超过1000,而用DFT只要100-300.所以说方法很重要。

但是,只要你找到的TS虚频与反应的方向一致并且IRC已经验证,这个TS就是可信的。

虚频也不能太小,比如小于100.过渡态与你的产物相差甚远说明在这条反应路径上还有过渡态你没有找到在优化过渡态的时候圈数设为100,步长5,怎么输入opt(TS,calcFC,maxcyc=100,maxstep=5)是这样寻找过渡态不是一件容易的事(对于我和大多数刚涉及量化的人来说),因此我希望通过写这个经验小结能对大家有些帮助。

如何解决机器学习中的模型不收敛问题

如何解决机器学习中的模型不收敛问题

如何解决机器学习中的模型不收敛问题解决机器学习中的模型不收敛问题机器学习中的模型不收敛问题是指在训练模型的过程中,模型的训练误差(例如损失函数)无法继续减小,或者训练误差波动很大,无法稳定收敛到最优解。

这个问题可能出现在各种机器学习算法中,例如线性回归、逻辑回归、神经网络等。

解决这个问题需要综合考虑多个因素,并采取相应的策略,下面将介绍一些解决机器学习中模型不收敛问题的常用方法。

1. 数据预处理数据预处理在机器学习中是非常重要的一步,其中的不足可能导致模型的不收敛。

首先,需要进行数据清洗,去除异常值和噪声,避免它们对模型训练的干扰。

其次,需要进行特征缩放,将特征值缩放到相似的范围内,避免某些特征对模型训练的影响过大。

另外,还需要进行特征选择,选择对问题有意义的特征,减少特征的维度,提高模型的效率。

2. 调整学习率学习率是指模型在每次参数更新时的步长大小,设置不合适的学习率可能导致模型不收敛。

如果学习率过大,模型参数可能会发散,导致训练误差反而增大;如果学习率过小,模型会收敛缓慢,训练时间变长。

通常的经验是,可以尝试使用自适应学习率的优化算法,如Adam、RMSProp等。

此外,可以尝试使用学习率衰减的策略,初始时使用较大的学习率,然后随着训练的进行逐渐减小学习率。

3. 增加训练数据量模型不收敛的另一个原因可能是训练数据量太少。

小样本数据集容易出现过拟合的问题,模型难以泛化到新的数据上。

因此,可以尝试增加训练数据量,获取更多的数据样本。

如果无法增加真实数据量,可以考虑数据增强技术,通过对现有数据进行一定变换或生成新的数据样本,扩充数据集。

4. 调整模型复杂度模型复杂度过高也可能导致模型不收敛。

过于复杂的模型会增加模型的参数数量,使得模型更加容易过拟合,难以收敛到最优解。

因此,可以尝试减少模型复杂度,例如减少模型的层数、减少隐藏单元的数量等。

5. 提前停止训练在训练模型时,可以通过监控模型的验证误差来判断模型是否收敛。

高斯牛顿

高斯牛顿

高斯牛顿法●问题描述:高斯牛顿法用于进行非线性最小二乘法拟合,即无约束最优化问题n是变量数目,目标函数f(x)是由m个辅助剩余函数定义r(x),最小二乘化就是要得到剩余函数平方和的最小值。

很多最优化的问题都是最小二乘法进行最小估计的问题。

下面看一个例子:上述函数是以t为自变量,y为函数值,t为年,y为人口数目;那么剩余函数就是我们所要构建的模型函数与实际函数的差值。

假设人口增长符合指数分布,那么令:那么剩余函数就是:●几何描述:最小化的问题就是求解上述函数平方和的最小值。

若把r看做是一个向量,可以得到:这个问题就可以引申为寻找Rn中点x1和x2来得到模型函数,而且这个点对应在Rm中的曲线是最接近函数原始值的。

●Gradient and Hessian⏹Gradient是这样定义的:雅克比矩阵:在向量微积分中,雅可比矩阵是一阶偏导数以一定方式排列成的矩阵,其行列式称为雅可比行列式。

雅可比矩阵的重要性在于它体现了一个可微方程与给出点的最优线性逼近。

因此,雅可比矩阵类似于多元函数的导数。

⏹Hessian是这样定义的:Hessian由两个函数决定,J(x)是一阶偏导数,Q(x)是二阶偏导数。

对于之前提到的那个应用问题:Hessian是两个部分的和若r(x)=0,则Q(x)=0,那么结果就会比较接近;高斯牛顿方法就是用来近似逼近使Q(x)=0,使用如下公式:如果假设J(X)是满秩的,那么J(x)TJ(x)就是正定的,而且pGN是下降收敛。

否则上式就无法得到收敛的结果。

假设r(x)用线性泰勒函数展开近似为:前面的公式就可以改变为:那么高斯牛顿线性逼近就如上图,即寻找O点距离模型图距离最近的点,也就是rk,那么就是这条直线与模型的切线。

那么与原来的牛顿方法进行比较:若f(x)=0,即Q(x)=0,那么高斯牛顿方法就和普通的牛顿方法一样收敛,如果J(x)是满秩的话;比牛顿方法优秀的地方在于不用计算二阶导数,省去了计算量;如果二阶导数值较大,那么高斯牛顿迭代的速度比普通的牛顿方法要慢;对于有些使用高斯牛顿方法局部不收敛的问题,如果没有一个好的全局策略,那么高斯牛顿都不会收敛,不管我们初始化的值距离收敛值多近。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果以上过程不能收敛,则gaussian给出convergence failure的警告。
如果SCF计算收敛失败,你首先会采取哪些技巧呢?这里是我们强烈推荐的首选方法。
1 考虑使用更小的基组
由于一定的基组对应于一定精度和速度,所以更换基组并不在所有的情况下都适用。方法是首先用小基组进行计算,由前一个波函得到用于大基组计算的初始猜测(Guess=Read自动进行)。
3 放宽收敛标准
如果接近SCF但未达到,收敛标准就会放松或者忽略收敛标准。这通常用于不是在初始猜测而是在平衡结构收敛的几何优化。SCF=Sleazy放松收敛标准,Conver选项给出更多的控制。
4 尝试改变初始构型
首先略微减小键长,接下来略微增加键长,接下来再对结构作一点改变。
5 尝试能级移动Level shifting (SCF=Vshift)
scf=(noincfock,conver=11,maxcyc=1025) iop(5/22=20)
用以上的命令行将强制Gaussian采用EDIIS的算法。此算法计算量更大,但是更加稳定。在命令行里也增加了最大循环数,以增加收敛的到基态的可能性。
2. 检查是否有初始文件错误
常见初级错误:
8 一些程序通过减小积分精度加速SCF。对于使用弥散函数,长程作用或者低能量激发态的体系,必须使用高积分精度:SCF=NoVarAcc。
9 改变模型或方法
可以考虑改变模型方法。比较常见的方法有HF,GVB,MCSCF,CASSCF,MPn等。改变模型方法通常也会收敛性质。通常,精度更高的方法更难收敛。精度比较低的方法产生的计算结果可以作为高精度计算的初始猜测。考虑使用不同理论级别的计算。这并不总是实用的,但除此之外,增加迭代数量总是使得计算时间和使用更高理论级别差不多。
b. 增加叠代次数optcyc=N
6. 优化过渡态,若势能面太平缓,则不好找到。
iop(1/8=10) 默认30(下一个结构和该结构的差别0.3Å),可改成10。如果每一步都要用到小的步长,应该加opt(notrustupdate)
7. 在CI(组态)方法中
如QCISD(T),CCSD(T),CID方法中,省却最大循环50,若出错(L913错误)
3. 对于L9999快达到收敛时,考虑减小优化步长有时对于能量振荡的情况也是有用的,opt(maxstep=1).(flyingheart )
高斯对不收敛问题的对策
首先,我们必须理解收敛是什么意思。在自洽场(SCF)计算中,自洽循环中,首先产生一个轨道占据的初始猜测,
1)然后根据此轨道占据构造电荷密度和哈密顿量。
2)对角化哈密顿量,得到新的轨道能级和占据。
3)产生新的电荷分布和哈密顿量,重复步骤2)
经过一定次数的循环后,某次循环前和循环后的电荷密度差别小于一定的标准,我们称之为收敛。
a. 自旋多重度错误
b. 变量赋值为整数
c. 变量没有赋值或多重赋值
d. 键角小于等于0度,大于等于180度
e. 分子描述后面没有空行
f. 二面角判断错误,造成两个原子距离过近
g. 分子描述一行内两次参考同一原子,或参考原子共线
3. SCF(自洽场)不收敛
则一般是L502错误,省却情况做64个cycle迭代(G03缺省128 cycles)
10. FOPT出错 原因是变量数与分子自由度数不相等。 可用POPT 或直接用OPT
11. 优化过渡态只能做一个STEP 原因是负本征数目不对 添加 iop(1/11)=1或者noeigentest (eigentest 是表示优化过渡态检测分子振动的本征值,过渡态只有一个负值,但优化的时候往往出现两个或者更多的情况,默认的是如果出现多于一个的情况就停止优化计算,这往往时不必要的,noeigentest表示优化时不坐此检测,实际上优化过渡态的时候出现两个三个很正常的,只是第一个一般负的很大,接着的比较小,不会影响过渡态的搜寻,当然有时候需要自己判断是不是接近真实的过渡态。其实经验上也是过渡态的本征虚频越小,相对越难找。)

对于 (L502, L508, L9999)出错的对策
对于一个优化计算,它的过程是先做一个SCF计算,得到这个构型下的能量,然后优化构型,再做SCF,然后再优化构型。。。因此,会有两种不收敛的情况:一是在某一步的SCF不收敛(L502错误),或者构型优化没有找到最后结果(L9999错误)。
9. 无法写大的Scratch文件RWF
a. 劈裂RWF文件 %rwf=loc1,size1,loc2,size2,……..,locN,-1
b. 改变计算方法 MP2=Direct可以少占硬盘空间
c. 限制最大硬盘 maxdisk=N GB,****MB,有些系统写2GB会出错,可以写2000MB
2 增加最大循环步数
Gaussian默认的最大循环步数为64 (SCF=DM或SCF=QC方法则为512),如果循环次数超过这个数目则会汇报convergence failure。在一定的情况下,不收敛的原因仅仅是因为最大循环步数不够。可以通过设置maxcyc来增大最大循环步数。更多的SCF迭代(SCF(MaxCycle=N),其中N是迭代数)。这很少有帮助,但值得一试。
10 关闭DIIS外推(SCF=NoDIIS)。同时进行更多的迭代(SCF=(MaxCycle=N))。
11 试着改用DIIS之外其它方法(SCF=SD或SCF=SSD)。
Gaussian不收敛的可能原因及对策:
1 由于体系有很多能量相近的能级,导致计算不收敛。
如果计算中采用的是Hartree-Fock方法或者其他的混合形式的交换相关势(如B3LYP),则可以尝试一下的方法进行改进。
a. 修改坐标,使之合理
b. 改变初始猜 Guess=Huckel 或其他的,看Guess关键词。
c. 增加叠代次数 SCFCYC=N (对小分子作计算时最好不要增加,很可能结构不合理)
d. iop(5/13=1)这样忽略不收敛,继续往下做。
4. 分子对称性改变
a. 修改坐标,强制高对称性或放松对称性
写法:opt=(TS, calcFc)
or opt=(TS,calchffc)计算HF力常数,对QCISD,CCSD等方法用;
or opt=(TS,modRedundant) (最好写这个)
b. 如果计算采用QCISD计算(不好计算FC)
则写为QCISD opt=(TS, calcHFFC) (用HF计算FC)
b. 给出精确的、对称性确定的角度和二面角。 如CH4的角度给到109.47122
c. 放松对称性判据 Symm=loose
d. 不做对称性检查 iop(2/16=1) (最好加这个选项)
iop(2/16=2) 则保持新的对称性来计算
5. Opt时收敛的问题
a. 修改坐标,使之合理
6 使用强制的收敛方法SCF=QC
SCF=QC通常最佳,但在极少数情况下SCF=DM更快。此关键字将大大增加计算时间,但是收敛的机会更大。不要忘记给计算额外增加一千个左右的迭代。应当测试这个方法获得的波函,保证它最小,并且正好不是稳定点(使用Stable关键字)。
7 对开壳层体系,尝试收敛到同一分子的闭壳层离子,接下来用作开壳层计算的初始猜测。添加电子可以给出更合理的虚轨道,但是作为普遍的经验规则,阳离子比阴离子更容易收敛。选项Guess=Read定义初始猜测从Gaussian计算生成的checkpoint文件中读取。
1. 看一下能量的收敛的情况,可能正在单调减小,眼看有收敛的趋势,这样的情况下,只要加大循环的步数(opt(maxcycle=200)),可能就可以解决问题了。
2. 加大循环步数还不能解决的(循环步数有人说超过200再不收敛,再加也不会有用了,这虽然不一定绝对正确,但200步应该也差不多了),有两种可能。一是查看能量,发现能量在振荡了,且变化已经很小了,这时可能重新算一下,或者构型稍微变一下,继续优化,就可以得到收敛的结果(当然也有麻烦的,看运气和经验了);二是构型变化太大,和你预计的差别过大,这很可能是你的初始构型太差了,优化不知道到哪里去了,这时最好检查一下初始构型,再从头优化。
3. 改变键长,一般是缩小一点,有时会有用。
4. 计算相同体系的其他电子态,比如相应的阴离子、阳离子体系或单重态体系,得到的收敛波函数作为初始猜测进行计算。
对于优化不收敛,即L9999错误,实际上是在规定的步数内没有完成优化,即还没有找到极小值点。(或者对于过渡态优化,还没有找到过渡态)
这有几种可能性:
解决方法:#P QCISD(maxcyc=N) 注:N≤512
8. 优化过渡态
opt=TS (给出过渡态)
opt=qst2 (给出反应物和产物)
opt=qst3 (给出反应物和产物和过渡态)
a. 用G03时的出错 opt=ts 必须加FC (force constant)
如果不收敛的原因是波函数的震荡行为,通常是因为在相近的能量上的泰的混合。对于这种情况,我们可以采用level shifting的方法。Level shifting的含义是人工的升高非占据轨道的能级,以防止和最高占据轨道之间的混合,以达到收敛的目的。在Gaussian中此方法的关键词为SCF=Vshift
预备知识:计算时保存chk文件,可以在后续计算中使用guess=read读初始猜测.
对于SCF不收敛,通常有以下的解决方法:
1. 使用小基组,或低级算法计算,得到scf收敛的波函数,用guess=read读初始波函数。
2. 使用scf=qc,这个计算会慢,而且需要用stable关键字来测试结果是否波函数稳定。如果这个还不收敛,会提示L508错误。
相关文档
最新文档