计算化学公社

标题: Gaussian中几何优化收敛后Freq时出现NO或虚频的原因和解决方法 [打印本页]

作者
Author:
sobereva    时间: 2015-1-17 00:58
标题: Gaussian中几何优化收敛后Freq时出现NO或虚频的原因和解决方法
Gaussian中几何优化收敛后Freq时出现NO或虚频的原因和解决方法
Reasons and solutions for solving appearance of NO or imaginary frequency when convergence of geometric optimization is reached in Gaussian

文/Sobereva @北京科音
First release: 2015-Jan-16   Last update: 2024-Feb-20


1 前言

众所周知,做振动分析之前必须先在相同级别下优化。总有Gaussian使用者问,优化收敛了,也显示四个YES了,怎么做freq之后四个收敛判断标准却有的出现NO,甚至还出现虚频了?此文件就专门说一下。Gaussian中opt=TS方式的搜索过渡态的算法和几何优化很相似,因此下面的讨论对于过渡态的优化也完全适用,只不过要消的虚频显然不是感兴趣的那个(看振动动画可判断),而是额外存在的多余的虚频。

特别要强调的是,按本文的做法,绝对不存在消不掉的虚频,笔者从来没见过例外(除非犯了低级错误,诸如振动分析之前没做几何优化,或几何优化和振动分析不在严格相同级别下进行等等)。不要在网上问我怎么按照此文的做法还是没消掉虚频,消不掉一定是没认真领会此文并充分尝试。不存在本文没提到的其它能解决虚频的做法。

当遇到数值非常小的虚频时,对于计算能量相关问题,并非必须不惜一切代价得把所有虚频消掉不可。关于这点我有博文做了深入讨论,非常建议阅读:《谈谈有小虚频时热力学量的计算》(http://sobereva.com/699)。


2 关于几何优化收敛的判断和出现虚频的原因

牛顿法是高效、最常用的寻找多元函数驻点的方法,在量化研究中,这个方法被广泛用来搜索过渡态和优化几何结构。然而,牛顿法的每一步需要计算一次Hessian矩阵(更具体来说是其逆矩阵),也就是能量对几何坐标的二阶导数矩阵,如果进一步考虑质量权重后就是所谓的力常数矩阵。对于较高计算级别或大体系,计算一次Hessian矩阵是相当耗时的,另外很多方法在Gaussian里没有二阶解析导数(如CCSD、MP4等),对于这样的方法计算大体系的Hessian矩阵更是耗时甚巨甚至无法承受。因此,为了节省优化时间,一般量子化学程序默认用的都是准牛顿法,也就是每一步不精确计算Hessian,而是只计算受力,通过受力和上一步的Hessian矩阵来近似得到这一步的Hessian矩阵。虽然准牛顿法由于用的是近似的Hessian矩阵,比起基于精确Hessian的牛顿法需要更多步数才能找到过渡态/极小点,但由于每一步的耗时低得多(比如准牛顿法的10步耗时可能只相当于牛顿法的1、2步),所以整体还是比牛顿法便宜得多得多,所以是大多数量化程序默认的优化方法。当Gaussian发现当前结构的受力以及位移(下一步结构相当于当前结构的变化)都收敛了,优化就停止。受力和位移都按照最大值和方均根(RMS)来检测,因此共有四个判断标准,即四个都YES时就宣告收敛。

做频率计算,则必须先精确计算一次Hessian矩阵(或者读取精确的Hessian矩阵),才能经过一番处理得到频率,参见《基于fch中的Hessian矩阵计算振动频率的简单程序Hess2freq》(http://sobereva.com/328)里的介绍。freq任务之后,Gaussian会自动根据当前结构的受力和现成的精确Hessian矩阵也用上述四个判断标准考察一下当前结构是否真的准确收敛到了极小点。

正因为几何优化默认用的是近似的Hessian矩阵,而频率计算用的是精确Hessian矩阵,因此判断收敛时,在后两项,即最大位移和均方根位移上的判断会存在差异(受力那两项是一致的)。常见的情况是优化的最后一步四个标准都显示YES了,但是到了freq任务时,基于精确Hessian矩阵判断则发现后两个并非都YES,甚至出现了虚频,这说明优化的精度不是很高。特别是虚频如果较大的话,更是体现当前结构偏离极小点可能挺明显。

下面是个典型的例子,opt最后的输出为
Maximum Force            0.000401     0.000450     YES
RMS     Force            0.000197     0.000300     YES
Maximum Displacement     0.001791     0.001800     YES
RMS     Displacement     0.000951     0.001200     YES

Freq最后的输出为
Maximum Force            0.000401     0.000450     YES
RMS     Force            0.000197     0.000300     YES
Maximum Displacement     0.002231     0.001800     NO
RMS     Displacement     0.001325     0.001200     NO


那么,opt最后都YES了但freq最后没有都YES,结果还能用么?笔者认为,如果数值比默认情况的收敛限高不太多,不超过2倍,且没有虚频出现,一般还是可以接受的。比如上面的情况就基本可以接受。但是,如果你对频率/结构的准确度要求高,或者都出现了虚频,则应当做更精确的优化。


3 提升优化和数值精度解决虚频的做法

下面介绍让优化更精确来避免freq最后出现NO乃至虚频的做法。

3.1 几何优化时用更严的收敛限

在opt里面写上tight可以将默认的优化收敛限设严一个数量级以上。由于极小点定位得更精准了,出现虚频的可能性自然大大降低了。但代价是达到收敛限的难度大大增加,因此优化达到收敛所需的步数会大大增加、耗时大大提升,还增加了因为震荡而一直达不到较严格的收敛限的概率。

注意如果写了opt=tight freq,则freq最后也会用tight标准来判断是否收敛,而实际上freq最后只要能满足默认收敛限判断标准就够了,不需要非得满足tight那么严苛的判断标准。

值得一提的是优化过程中即便位移没收敛,但只要受力小于收敛限的100倍也自动被Gaussian算作收敛。我认为这主要是考虑到势能面非常平缓的柔性大分子或分子团簇,相对于其体系的尺度,把结构收敛到那么精确意义也不大。这种情况下,连opt最后都有NO,显然freq最后也肯定有NO。若对结构精度要求高的话可以把优化的收敛限设严。

3.2 提升DFT积分格点精度

对于DFT计算要考虑交换-相关泛函的积分格点质量问题。如果不了解什么是DFT的积分格点,可参看《密度泛函计算中的格点积分方法》(http://sobereva.com/69)。如果积分格点质量不够理想,DFT计算的受力和Hessian的精度就不够高,这往往是造成虚频出现的原因。此时即便用了tight收敛限也解决不了问题,而且改用tight后可能还极难收敛、容易震荡。如果你是Gaussian 09的用户,用opt=tight时应同时搭配int=ultrafine使用比默认的int=fine更高精度的积分格点。从Gaussian 16开始int=ultrafine已成为默认,因此就不需要手动写了。

对积分格点的要求与使用的泛函、体系都有密切联系。一些明尼苏达系列泛函(比如M06-2X等,但不是所有)对于积分格点精度要求比B3LYP、PBE0、TPSS等其它常见泛函高得多。因此比如M06-2X在int=ultrafine下依然有时会因为积分格点精度不够而导致很微小的虚频的出现,此时可尝试更高档次的积分格点int=superfine,但这非常昂贵。

对于DFT计算极个别色散作用主导的弱相互作用体系,有时候更需要用int=superfine。比如笔者曾经在ωB97XD/def2-TZVP(-f)下计算C30嵌套结构,老是有二点几波数的微小虚频死活消不掉。最终有一次我虽然没设更严收敛限,但是用了int=superfine,可算把虚频给搞掉了。但这种情况极度罕见,切勿视为普遍情况。只是说对于某些弱相互作用体系,哪怕不是明尼苏达系列泛函,当你碰到极微小虚频且实在干不掉时,还是值得得试一把int=superfine。

3.3 使用精确的Hessian矩阵

在opt里写上calcall,那么几何优化过程中每一步都会精确计算Hessian,自然最终能优化得比基于近似Hessian的准牛顿法更准确。此时几何优化和freq所用的Hessian都是一致的,因此对收敛的判断结果也是完全相同的。也就是说,只要opt最后是YES则freq最后也必然是YES,并且多数情况可以确保无虚频(值得一提的是,用calcall的时候,优化任务结束后会自动做振动分析,因此完全没有必要再单独写freq关键词要求做振动分析了)。

不过,每一步优化都精确计算Hessian太耗时。如果你之前已经在默认情况下优化过,可以取最后的结构重新优化,并在opt里写上calcfc,这样只在优化第一步的时候精确计算Hessian,而之后还是近似估计Hessian,这样收敛后也往往可以避免freq之后出现NO和虚频。但是如果初始结构离实际极小点太远则这么做无效,因为等到结构收敛时Hessian矩阵可能又偏离精确Hessian比较远了。

从Gaussian 16开始,opt里加入了一个很有用的选项recalc。比如opt=recalc=n就代表第一步精确计算一次Hessian矩阵,之后每n步重新计算一次Hessian矩阵。这种做法的效果和耗时都介于calcfc和calcall之间。对计算Hessian成本不很高的情况,n取3~5左右比较合适,对计算Hessian成本较高的情况,n取5~10比较合适,能达到效果和耗时的权衡。读者请随机应变。


4 其它导致虚频的因素和解决方法

4.1 结构对称性问题

有时候虚频是由于优化所用的初始结构对称性太高导致的。比如联苯在基态下实际上两个苯环间是有一定二面角的,但优化联苯所用的初始结构如果是纯平面的,则优化过程就会一直保持平面状态,最终也得到平面构型,显然会发现有对应于两个平面彼此间扭转的虚频。碰到这种情况,最佳的解决方法是在GaussView观看振动模式的界面中选中虚频模式,选上Manual Displacement并拉动滑条来沿着虚频模式略微调整结构,然后点save structure得到新的结构,再拿这个新结构保存新的输入文件,重新优化和做振动分析后通常就已经没虚频了。有时候对于大体系,也可能因为某些局部区域的初始对称性太高,一直维持到最后而出现虚频,这时候也应按照虚频调节结构。对于其它情况,这么按照虚频调节结构的做法解决虚频的几率比较有限,虽然也可以尝试一下。而对于有多个虚频的情况,想通过这种做法一次性就把所有虚频都解决没太大可能。我经常看到网上有很多人但凡只要看到虚频就总是妄图通过这种按照虚频调结构的办法试图消掉,这是明显不对的!!!真正应该优先尝试的是本文前面说的做法!

4.2 SMD隐式溶剂模型问题

SMD隐式模型流行度很高,在《谈谈隐式溶剂模型下溶解自由能和体系自由能的计算》(http://sobereva.com/327)我专门介绍过。我强烈不建议对opt和freq任务用SMD模型,因为此模型下很容易由于数值噪音而产生虚假的虚频,而且还可能由此造成几何优化难收敛。因此当优化和振动分析必须在溶剂模型下做时,强烈建议用Gaussian的scrf关键词默认的IEFPCM溶剂模型。从几何优化结果来讲,SMD相较IEFPCM也没有丝毫额外的好处,如327号博文所述,SMD比IEFPCM长处在于额外多考虑了非极性部分,对计算溶剂环境下的能量很重要,而非极性部分对优化的结构影响甚微。所以,opt freq在IEFPCM下做,而之后算能量时再在SMD下做,是比较得当的做法。

4.3 IOp定义泛函的问题

在Gaussian中可以自定义泛函,见《Gaussian中非内置的理论方法和泛函的用法》(http://sobereva.com/344)和《在Gaussian中自定义范围分离泛函的方法》(http://sobereva.com/550),这需要用到IOp关键词。很多人用自定义泛函的时候还是按习惯写上opt freq关键词,这是不行的。要知道,IOp是没法传递到下一个任务的,结合opt freq用的时候只对opt有效,而对freq无效,自然会导致振动分析和优化时用的泛函定义不同、对应的势能面不同,故很可能因此出虚频。所以用自定义泛函的时候opt和freq必须分开做。

4.4 程序bug问题

Gaussian从G09 D.01版开始加入DFT-D3,相关介绍见《谈谈“计算时是否需要加DFT-D3色散校正?”》(http://sobereva.com/413)、《DFT-D色散校正的使用》(http://sobereva.com/210)、《乱谈DFT-D)《http://sobereva.com/83》。DFT-D3有零阻尼和BJ阻尼两个版本,分别用em=gd3和em=gd3bj关键词使用。后者最常用,因为算相互作用能的精度整体更好一点。BJ阻尼版本在G09 D.01里的解析二阶导数存在bug,会导致你结合DFT-D3(BJ)做优化完全精确的情况下,结合DFT-D3(BJ)做的振动分析也可能出现虚频。因此解决办法是用G09 E.01及以后的版本,或者用零阻尼版本DFT-D3(0)做opt和freq。


PS1:准牛顿法、牛顿法在不同量子化学程序里具体实现不同,有很多数值方面的技巧和额外考虑,本文中没有细谈。想了解更多的话可以看看《过渡态、反应路径的计算方法及相关问题》(http://sobereva.com/44)以及《几何优化、过渡态搜索、IRC综述与原文合集》(http://bbs.keinsci.com/thread-105-1-1.html)当中的详细讨论。Gaussian做opt默认用的方法并不是简简单单的准牛顿法,而是牵扯到很多细节,在手册的opt部分里有专门的描述。

PS2:有人问,为什么有的时候优化时明明用了calcall,但是基于其结构再做freq任务的时候显示的判断标准却依然和优化最后一步不同,甚至又出现了NO。可能原因有三 (1)优化时用的级别、数值设定(如DFT积分格点)等因素和几何优化时不完全一致 (2)用GaussView读取优化的输出文件,然后又保存成freq任务的输入文件的时候,由于小数位数有限,因此造成了一点数值误差 (3)几何优化的时候用了GDIIS(默认的GEDIIS也有一定GDIIS的成份),由于这种方法预测下一步位移的时候还会参考之前步的信息,因此会和freq时基于牛顿法判断出的位移有所不同。

作者
Author:
Shannon    时间: 2015-1-17 05:21
有没办法让opt=calcall每一步都输出Frequency呢? 如果让gaussian每步都算hessian却不计算出每一步的Freq,有点太浪费资源了。
如果能算出每一步的freq的话,在gaussianview 里面看每一步虚频的方向,这样万一跑歪了也能比较方便的人工矫正。
作者
Author:
sobereva    时间: 2015-1-17 06:36
Shannon 发表于 2015-1-17 05:21
有没办法让opt=calcall每一步都输出Frequency呢? 如果让gaussian每步都算hessian却不计算出每一步的Freq, ...


有些人喜欢手动去消虚频什么的,其实只要Hessian是精确的,优化算法自动会向着能够消除虚频的方向走。而所谓的手动去消虚频,则难以把握好尺度,移动小了没意义,移动大了则当前虚频没消掉反倒还产生了新的虚频(况且变量间还是耦合的,手动按照某个振动模式移动考虑不了这点)。所以calcall的话就不建议这么人为移动结构了。

至于每步都输出频率,利用IOp实现非标准计算路径可能能行。但没法指定gview读取哪一步的,而且如果不对输出文件做一些手工修改来帮助gview识别,可能一个都不认。
作者
Author:
Shannon    时间: 2015-1-17 07:12
sobereva 发表于 2015-1-17 06:36
有些人喜欢手动去消虚频什么的,其实只要Hessian是精确的,优化算法自动会向着能够消除虚频的方向走。 ...

用M062X优化过渡态结构,学校没好电脑,舍不得用int=ultrafine,常被m62x的 虚假势能面极小点坑害,所以想用calcall来找到到底是哪一步的时候过渡态优化跑歪了。
作者
Author:
jiangning198511    时间: 2015-1-17 12:04
Sob大侠每次出手都是精品之作
作者
Author:
sobereva    时间: 2015-1-17 14:56
Shannon 发表于 2015-1-17 07:12
用M062X优化过渡态结构,学校没好电脑,舍不得用int=ultrafine,常被m62x的 虚假势能面极小点坑害,所以 ...

int=ultrafine所付出的代价远远远远小于calcall。
calcall用了之后计算量和原来就不是一个数量级了,但int=ultrafine不会比原先多耗时太多,原先算得动那么用了这个也肯定能算得动。
作者
Author:
nkallwar    时间: 2015-1-26 12:37
sobereva 发表于 2015-1-17 14:56
int=ultrafine所付出的代价远远远远小于calcall。
calcall用了之后计算量和原来就不是一个数量级了,但i ...

如果是比较不同结构的能量,那么其中一个结构用了 int=ultrafine ,其余的结构是不是都得再用相同精度的积分格子重新算一边才能进行比较?
作者
Author:
sobereva    时间: 2015-1-26 12:49
nkallwar 发表于 2015-1-26 12:37
如果是比较不同结构的能量,那么其中一个结构用了 int=ultrafine ,其余的结构是不是都得再用相同精度的 ...

是的
作者
Author:
nkallwar    时间: 2015-1-26 12:51
sobereva 发表于 2015-1-26 12:49
是的

那是只需要计算一遍能量,还是要重新优化一些呢,前面的结构里并没有出现 opt收敛而freq不收敛的情况
作者
Author:
sobereva    时间: 2015-1-26 13:09
nkallwar 发表于 2015-1-26 12:51
那是只需要计算一遍能量,还是要重新优化一些呢,前面的结构里并没有出现 opt收敛而freq不收敛的情况

默认的int=fine和int=ultrafine对结构影响甚微,所以只需要在相同格点设定下算能量就够了
作者
Author:
nkallwar    时间: 2015-1-28 13:45
sobereva 发表于 2015-1-26 13:09
默认的int=fine和int=ultrafine对结构影响甚微,所以只需要在相同格点设定下算能量就够了

遇到一个奇怪的问题,opt和freq的结果让我ft了, 首先是opt的log文件:

******************************************
%chk=M06-Cr-Sym-simpleMe-S7-int.chk
%nprocshared=12
Will use up to   12 processors via shared memory.
%mem=800MW
---------------------------------------------------------------------
# opt=(calcfc,tight) genecp guess=mix geom=connectivity int=ultrafine


使用了opt=tight 和int=ultrafine ,基组是 6-31G(d) for C N O H, Lanl08(f) for Cr,

然后收敛看着很好:
  Item               Value     Threshold  Converged?
Maximum Force            0.000000     0.000015     YES
RMS     Force            0.000000     0.000010     YES
Maximum Displacement     0.000040     0.000060     YES
RMS     Displacement     0.000009     0.000040     YES

但得到的结构看上去上感觉很别扭,优化得到的坐标和freq作业输入文件如下:

%chk=M06-Cr-Sym-simpleMe-S7-int-freq.chk
%nprocshared=12
%mem=800MW
# freq genecp geom=connectivity int=ultrafine um06
dfstructure
0 7
Cr                -1.35587600   -0.13969200    0.22924400
Cr                 1.35588000    0.13972300    0.22925000
N                 -2.70474300    1.33577800    0.47363400
N                 -2.82567500   -1.37891500   -0.54018000
N                  2.70469100   -1.33578800    0.47364300
N                  2.82572500    1.37892200   -0.54014300
O                 -0.00000400   -0.00009000    1.47906000
O                  0.00000700    0.00011500   -0.99049600
C                 -2.20390300    2.59099800    1.02088400
C                 -3.97177500    1.26454000    0.16519300
C                 -4.65512700    0.18810100   -0.38935800
H                 -5.70338300    0.30686600   -0.58204600
C                 -4.06571400   -1.03367800   -0.72061300
C                 -2.39533600   -2.68415300   -1.01949400
C                  2.20382200   -2.59099100    1.02090800
C                  3.97172200   -1.26459300    0.16518300
C                  4.65510900   -0.18818000   -0.38937200
H                  5.70335600   -0.30698700   -0.58208000
C                  4.06574400    1.03363200   -0.72060100
C                  2.39543700    2.68418700   -1.01942800
H                 -4.56949100    2.14311400    0.36652500
H                 -4.72192000   -1.76414600   -1.17580300
H                 -1.98432800   -3.27211800   -0.20383400
H                 -3.21748400   -3.24523900   -1.45342100
H                 -1.62214600   -2.56620400   -1.76991400
H                 -1.65099300    3.14209900    0.26548000
H                 -3.01377300    3.22057200    1.37660500
H                 -1.53482600    2.38698900    1.84585300
H                  3.21759600    3.24522900   -1.45339200
H                  1.62220400    2.56628500   -1.76981100
H                  1.98450300    3.27217200   -0.20374400
H                  4.72197600    1.76407500   -1.17579200
H                  4.56940900   -2.14319000    0.36650500
H                  3.01367900   -3.22057800    1.37663700
H                  1.53474600   -2.38695400    1.84586900
H                  1.65090300   -3.14209100    0.26550900

频率分析结果一大堆虚频,收敛情况一塌糊涂:
Item               Value     Threshold  Converged?
Maximum Force            0.023783     0.000450     NO
RMS     Force            0.007623     0.000300     NO
Maximum Displacement     0.068771     0.001800     NO
RMS     Displacement     0.028796     0.001200     NO

这是什么情况?

作者
Author:
sobereva    时间: 2015-1-28 14:14
nkallwar 发表于 2015-1-28 13:45
遇到一个奇怪的问题,opt和freq的结果让我ft了, 首先是opt的log文件:

**************************** ...

你的几何优化和频率计算明显不是同一个级别进行的,出现一堆虚频是必然的
作者
Author:
nkallwar    时间: 2015-1-28 14:47
sobereva 发表于 2015-1-28 14:14
你的几何优化和频率计算明显不是同一个级别进行的,出现一堆虚频是必然的

丢人了,做opt的时候居然忘写UM06了, 居然还屁颠屁颠发出来被大神看笑话,不写的话默认就是HF了吧
作者
Author:
sobereva    时间: 2015-1-28 23:33
nkallwar 发表于 2015-1-28 14:47
丢人了,做opt的时候居然忘写UM06了, 居然还屁颠屁颠发出来被大神看笑话,不写的话默认就是HF了吧

是的,默认是HF/STO-3G
作者
Author:
虎王    时间: 2015-1-29 22:14
sobereva 发表于 2015-1-26 13:09
默认的int=fine和int=ultrafine对结构影响甚微,所以只需要在相同格点设定下算能量就够了

如果优化加了int=ultrafine,是否计算能量、轨道、跃迁等都需要加int=ultrafine?
作者
Author:
sobereva    时间: 2015-1-30 00:24
虎王 发表于 2015-1-29 22:14
如果优化加了int=ultrafine,是否计算能量、轨道、跃迁等都需要加int=ultrafine?

没这个必要
作者
Author:
nkallwar    时间: 2015-6-3 20:43
本帖最后由 nkallwar 于 2015-6-3 20:44 编辑

最近总出现这样的问题

两个displacement判据早早就变成了0
然后两个force判据就不动了,最后link 9999 错误


         Item               Value     Threshold  Converged?
Maximum Force            0.022910     0.000450     NO
RMS     Force            0.002915     0.000300     NO
Maximum Displacement     0.000000     0.001800     YES
RMS     Displacement     0.000000     0.001200     YES

****
Item               Value     Threshold  Converged?
Maximum Force            0.022910     0.000450     NO
RMS     Force            0.002915     0.000300     NO
Maximum Displacement     0.000000     0.001800     YES
RMS     Displacement     0.000000     0.001200     YES

*****
后面都是这样

这种情况是什么原因造成的?应该用什么方法帮助收敛呢?

作者
Author:
sobereva    时间: 2015-6-3 20:53
nkallwar 发表于 2015-6-3 20:43
最近总出现这样的问题

两个displacement判据早早就变成了0

gdiis和calcall都试试。
注意考察优化过程结构的变化
作者
Author:
dxyan    时间: 2016-2-25 09:06
本帖最后由 dxyan 于 2016-2-25 18:16 编辑

我的体系就是这样,优化算完后4个YES,然后算频率第三项就变成了NO,而且奇怪的是我每个体系算下来都是这样的。昨天按照楼主说的方式用了opt=tight int=ultrafine由在之前的最后结构上重新做了优化,优化后依然4个YES,但是算出的能量比之前稍微高了一些。然后用这个优化的结果重新做了光计算频率的输入文件,此时没选tight,结果频率计算下来反而后两项都变成了NO,而且还出现了一个虚频。不明白为什么啊?
作者
Author:
sobereva    时间: 2016-2-25 18:28
dxyan 发表于 2016-2-25 09:06
我的体系就是这样,优化算完后4个YES,然后算频率第三项就变成了NO,而且奇怪的是我每个体系算下来都是这样 ...

你优化时候用opt=tight int=ultrafine,在freq的时候就必须也得用int=ultrafine
作者
Author:
dxyan    时间: 2016-2-25 20:38
sobereva 发表于 2016-2-25 18:28
你优化时候用opt=tight int=ultrafine,在freq的时候就必须也得用int=ultrafine

注意:如果写opt=tight freq,则freq最后也会用tight标准来判断是否收敛。实际上只要能满足默认判断标准即可,不需要非得满足tight的判断标准
------------------------------------------那前面说算频率不小用tight啊,这算频率为什么要加int=ultrafine呢?
作者
Author:
sobereva    时间: 2016-2-25 22:15
dxyan 发表于 2016-2-25 20:38
注意:如果写opt=tight freq,则freq最后也会用tight标准来判断是否收敛。实际上只要能满足默认判断标准 ...


你几何优化用什么积分格点,频率计算就必须用什么积分格点,否则不是同一个级别
“算频率不小用tight啊”是病句,理解不能
作者
Author:
dxyan    时间: 2016-2-26 08:43
sobereva 发表于 2016-2-25 22:15
你几何优化用什么积分格点,频率计算就必须用什么积分格点,否则不是同一个级别
“算频率不小用tight ...

打错字了,不好意思。。我意思是之前帖子说算频率不需要非得满足tight的判断标准,我理解就是算频率不需要加上tight。因为之前帖子说opt=tight,必须加上int=ultrafine。所以后来算频率这2个都没加。
作者
Author:
dxyan    时间: 2016-3-5 21:35
Shannon 发表于 2015-1-17 05:21
有没办法让opt=calcall每一步都输出Frequency呢? 如果让gaussian每步都算hessian却不计算出每一步的Freq, ...

请问如何在gaussianview 里面看每一步虚频的方向,并且人工矫正啊?
作者
Author:
dxyan    时间: 2016-3-5 21:52
sob老师,请教一下,比如我想优化A,B两个分子,A由于结构优化4个YES,再算频率时出现了2个NO,然后用opt=tight int=ultrafine重新优化了结构,频率计算的时候只加了int=ultrafine来解决这个问题。这样算下来,能量的绝对值比不加opt=tight int=ultrafine时大。那我要比较A,B结构的能量,如果B没有出现出现opt收敛而freq不收敛的情况,是不是B也要用opt=tight int=ultrafine重新优化,并且加int=ultrafine再做频率计算。

另外我要算A和C,B和C的相互作用能,那么C也要用opt=tight int=ultrafine优化吗?AC和BC的复合物在优化的时候是否也要用opt=tight int=ultrafine?谢谢!
作者
Author:
sobereva    时间: 2016-3-6 02:13
dxyan 发表于 2016-3-5 21:35
请问如何在gaussianview 里面看每一步虚频的方向,并且人工矫正啊?


没法获得每一步虚频方向。只有freq任务处理的那个结构才能观看虚频模式。
作者
Author:
sobereva    时间: 2016-3-6 02:17
dxyan 发表于 2016-3-5 21:52
sob老师,请教一下,比如我想优化A,B两个分子,A由于结构优化4个YES,再算频率时出现了2个NO,然后用opt=ti ...


只要比较相互的能量、求差值,积分格点必须完全一致,int=ultrafine要加就都加。

其它分子倒不一定非得opt=tight,当前情况是否用tight收敛限对结构和能量的影响只是极为轻微的。不过若你是完美主义,还是都用tight为宜。
作者
Author:
dxyan    时间: 2016-3-6 17:38
sobereva 发表于 2016-3-6 02:17
只要比较相互的能量、求差值,积分格点必须完全一致,int=ultrafine要加就都加。

其它分子倒不一定 ...

哦哦,那就是出现了一个用了int=ultrafine,其他都要加。谢谢SOb老师。
作者
Author:
quora    时间: 2016-4-20 22:14
学习了,谢谢sob老师
作者
Author:
ayjaybfv    时间: 2016-6-29 01:59
学习了
作者
Author:
ter20    时间: 2016-7-5 08:35
最近在做激发态优化,用的Opt=Vtight, Int=UltraFine,有几个结构总是有一个虚频,怎么都消不掉,试了maxstep=1也不行(Sob也不推荐这个法子)。但是TD计算没有解析二阶导数,无法使用Opt=CalcAll,不知道该如何处理比较合适?是换优化算法吗?
作者
Author:
sobereva    时间: 2016-7-5 09:39
ter20 发表于 2016-7-5 08:35
最近在做激发态优化,用的Opt=Vtight, Int=UltraFine,有几个结构总是有一个虚频,怎么都消不掉,试了maxst ...

注意做振动分析的时候此时也得用ultrafine

拿最后结构,opt里写readfc读取freq产生的精确Hessian再优化几步
也可以尝试gdiis。
或按照虚频模式位移一点点再用calcfc并继续优化
作者
Author:
ter20    时间: 2016-7-5 11:04
sobereva 发表于 2016-7-5 09:39
注意做振动分析的时候此时也得用ultrafine

拿最后结构,opt里写readfc读取freq产生的精确Hessian再优 ...

感谢Sob老师的回复,我挨个试试。还有些问题:
1. 我试了CalcFC,会报错,说TD没有解析梯度,我想应该是您的笔误吧
2. 我看了结果文件,里面有Using GEDIIS/GDIIS optimiser这样的语句,应该是已经用了GDIIS算法了
3. 如果关键字opt=(vtight,maxstep=1) Int=UltraFine freq这样肯定是没问题的对吧?你说的Freq时也要用Int=UltraFine是指Freq和Opt分开做是吧

作者
Author:
sobereva    时间: 2016-7-5 12:54
ter20 发表于 2016-7-5 11:04
感谢Sob老师的回复,我挨个试试。还有些问题:
1. 我试了CalcFC,会报错,说TD没有解析梯度,我想应该是 ...


1 你就freq之后readfc就完了。应该也有选项强行让高斯用数值Hessian。
2 不是,高斯默认是自动把GEDIIS、RFO通过一定规则组合在一起用的,和直接用GDIIS不同。有时候默认的优化方式不收敛,改用GDIIS能解决。
3 没问题,但opt里还应该增加notrust,否则优化过程中程序还是会自动根据情况自动改变步长上限。通常步长上限用3、5就够了,1太费时间。是。
作者
Author:
ter20    时间: 2016-7-5 13:15
sobereva 发表于 2016-7-5 12:54
1 你就freq之后readfc就完了。应该也有选项强行让高斯用数值Hessian。
2 不是,高斯默认是自动把GEDII ...

多谢Sob老师!又学习了不少
作者
Author:
whtu    时间: 2016-7-11 16:29
sobereva 发表于 2015-1-28 14:14
你的几何优化和频率计算明显不是同一个级别进行的,出现一堆虚频是必然的

sob老师,我也遇到了类似的情况:
我的输入文件如下:
%chk=cation172.chk
%nprocshared=24
%mem=60GB
# opt=tight freq b3lyp/6-311G(d)

cation172

1 1
C                  2.14795413    1.19505188    0.11503324
C                  1.42130080   -0.06121699   -0.40010118
N                  0.03601540   -0.06227507    0.09171507
C                 -0.65757445    1.13905339   -0.39474465
C                 -0.65959441    1.14242752   -1.93473963
C                 -1.38621227    2.40096214   -2.44436410
C                 -1.38823228    2.40433624   -3.98435908
C                 -2.11485005    3.66287090   -4.49398356
C                  0.03794348   -0.06549587    1.56171027
C                  0.76456142   -1.32403044    2.07133474
C                 -0.65760824   -1.26144080   -0.40000417
C                 -2.10885962   -1.26254927    0.11523189
H                  1.41989737   -0.05887260   -1.47009770
H                  1.92615872   -0.93565334   -0.04601145
H                 -1.66591143    1.13828326   -0.03675591
H                 -0.15269190    2.01191552   -0.03682661
H                 -0.65901166   -1.25909641   -1.47000068
H                 -0.15275032   -2.13587716   -0.04591444
H                 -0.97039352   -0.06626604    1.91969897
H                  0.54282598    0.80736626    1.91962835
H                 -2.61374211   -2.13541141   -0.24268618
H                 -2.10745620   -1.26489365    1.18522841
H                 -2.61371754   -0.38811292   -0.23885785
H                  3.15629112    1.19582207   -0.24295548
H                  1.64309619    2.06948824   -0.23905647
H                  2.14935758    1.19270748    1.18502976
H                  0.76596484   -1.32637484    3.14133125
H                  0.25967891   -2.19689258    1.71341665
H                  1.77289841   -1.32326027    1.71334604
H                  0.34874256    1.14319759   -2.29272838
H                 -1.16447702    0.26956542   -2.29265766
H                 -2.39454924    2.40019209   -2.08637533
H                 -0.88132964    3.27382424   -2.08644610
H                 -0.37989531    2.40510622   -4.34234786
H                 -1.89311496    1.53147417   -4.34227708
C                 -2.11687009    3.66624499   -6.03397854
H                 -3.12318701    3.66210093   -4.13599477
H                 -1.60996736    4.53573296   -4.13606558
C                 -2.84348780    4.92477969   -6.54360301
H                 -1.10853312    3.66701491   -6.39196733
H                 -2.62175282    2.79338294   -6.39189652
H                 -2.84489134    4.92712402   -7.61359952
H                 -3.85182476    4.92400977   -6.18561421
H                 -2.33860506    5.79764173   -6.18568503

得到的log文件中,最后一个的最大受力、均方根位移等是4个YES:
         Item               Value     Threshold  Converged?
Maximum Force            0.000004     0.000015     YES
RMS     Force            0.000000     0.000010     YES
Maximum Displacement     0.000041     0.000060     YES
RMS     Displacement     0.000007     0.000040     YES
而最后显示有一个一个虚频,这个是因为做freq时上面的4项其实并不都是YES的么?只是没有写入到log文件?
作者
Author:
sobereva    时间: 2016-7-11 17:35
whtu 发表于 2016-7-11 16:29
sob老师,我也遇到了类似的情况:
我的输入文件如下:
%chk=cation172.chk


帖子里已经对原理分析讨论得很详细了,再仔细看。
关键是Hessian不同所导致的,优化时候是近似的,freq时候是精确的。
作者
Author:
菩城    时间: 2016-7-11 19:19
好贴,感谢!
作者
Author:
小丫姐姐    时间: 2017-7-14 09:56
老师好。结构优化不收敛后采用了帖子里的方法 SCF(novaracc,noincfock) int=acc2e=12  opt freq ,出现opt收敛freq后两项不收敛还差距较大的情况。http://gaussian.com/faq3/建议读取chk文件再优化,这个输入文件该如何写呢?本身计算花费了四天,如果calcall的话耗时会更多吧?感谢。
作者
Author:
sobereva    时间: 2017-7-14 10:07
小丫姐姐 发表于 2017-7-14 09:56
老师好。结构优化不收敛后采用了帖子里的方法 SCF(novaracc,noincfock) int=acc2e=12  opt freq ,出现opt ...

SCF(novaracc,noincfock) int=acc2e=12这是处理SCF不收敛的,和这里说的帮助结构收敛完全是两码事:
量子化学计算中帮助几何优化收敛的常用方法
http://sobereva.com/164
作者
Author:
小丫姐姐    时间: 2017-7-14 10:27
sobereva 发表于 2017-7-14 10:07
SCF(novaracc,noincfock) int=acc2e=12这是处理SCF不收敛的,和这里说的帮助结构收敛完全是两码事:
量 ...

嗯嗯,理解错误。那么我现在的freq不收敛用calcall的话可能耗时太久,我尝试一下用opt=tight freq,int=ultrafine。另外,如果按照http://gaussian.com/faq3/说的读取chk文件的话输入文件该怎么写呢?菜鸟一枚,想着多试几种方法,看哪一种比较合适。
作者
Author:
sobereva    时间: 2017-7-14 10:41
小丫姐姐 发表于 2017-7-14 10:27
嗯嗯,理解错误。那么我现在的freq不收敛用calcall的话可能耗时太久,我尝试一下用opt=tight freq,int=u ...


甭管高斯页面上的,特别是对于没有判断能力的初学者来说
光从chk里读取结构什么的根本不可能解决问题
作者
Author:
小丫姐姐    时间: 2017-7-14 10:44
sobereva 发表于 2017-7-14 10:41
甭管高斯页面上的,特别是对于没有判断能力的初学者来说
光从chk里读取结构什么的根本不可能解决问题

好的,那我试试opt=tight freq,int=ultrafine.谢谢老师。
作者
Author:
曼竹w    时间: 2017-9-12 18:24
sob老师,请问优化分子结构的时候出现了一个虚频,请问是提取出最后一步加opt=tight呢,还是在刚开始的输入文件中加opt=tight 呢?
作者
Author:
sobereva    时间: 2017-9-12 18:51
曼竹w 发表于 2017-9-12 18:24
sob老师,请问优化分子结构的时候出现了一个虚频,请问是提取出最后一步加opt=tight呢,还是在刚开始的输入 ...

最后一步
作者
Author:
曼竹w    时间: 2017-9-12 18:53
好的,谢谢sob老师。
作者
Author:
whtu    时间: 2017-9-21 10:47
sob老师,请问输入文件的关键词为:# opt freq b3lyp/cc-pvdz empiricaldispersion=gd3bj,log文件最后满足4个YES,但是用gview打开log文件,却发现有一个虚频,其大小为-9.01,请问这样是否可以接受?

作者
Author:
sobereva    时间: 2017-9-21 12:03
whtu 发表于 2017-9-21 10:47
sob老师,请问输入文件的关键词为:# opt freq b3lyp/cc-pvdz empiricaldispersion=gd3bj,log文件最后满足 ...

虽然不一定对你要研究的问题有什么明显不良影响,但还是应当消掉虚频,省得被审稿人吐槽之类。

PS:上传较大文件前请先压缩以节约论坛空间
作者
Author:
xylz6188    时间: 2017-9-21 13:59
sobereva老师,您好。请教一下,我用DMol3来作反应机理的时候,由于是周期性模型,偶尔会有一些小的虚频,实在消不掉,我一般把虚频小于40以下的全部忽律了,不知道这样可不可以。
作者
Author:
whtu    时间: 2017-9-21 14:10
sobereva 发表于 2017-9-21 12:03
虽然不一定对你要研究的问题有什么明显不良影响,但还是应当消掉虚频,省得被审稿人吐槽之类。

PS:上 ...

好的。谢谢sob老师
作者
Author:
sobereva    时间: 2017-9-21 18:40
xylz6188 发表于 2017-9-21 13:59
sobereva老师,您好。请教一下,我用DMol3来作反应机理的时候,由于是周期性模型,偶尔会有一些小的虚频, ...

最好都消掉,否则被问到,不好解释
作者
Author:
xylz6188    时间: 2017-9-21 19:58
sobereva 发表于 2017-9-21 18:40
最好都消掉,否则被问到,不好解释

各种方法都用了,就是消不掉,MS做过渡态确实有很多问题
作者
Author:
柒月小鱼    时间: 2017-9-22 10:08
刚好解决问题 谢谢sob老师
作者
Author:
qcn    时间: 2017-9-22 10:23
sobereva 发表于 2016-3-6 02:17
只要比较相互的能量、求差值,积分格点必须完全一致,int=ultrafine要加就都加。

其它分子倒不一定 ...

请问sob老师,A和B两分子,A在默认情况下几何收敛,B在opt=tight int=ultrafine或calcall下才收敛,随后它们在相同条件下计算单点能,算出来的单点能有可比性吗?还是A必须和B在相同条件下重新几何优化?
作者
Author:
sobereva    时间: 2017-9-22 15:50
qcn 发表于 2017-9-22 10:23
请问sob老师,A和B两分子,A在默认情况下几何收敛,B在opt=tight int=ultrafine或calcall下才收敛,随后 ...


两个结构的精度一般不会差多少,可忽略不计(但也有反例)。计算单点能时只需确保积分格点相同即可
作者
Author:
li447fan    时间: 2020-12-16 22:12
请问如果用orca计算出现虚频是不是就不能用第二种方法了?用B3LYPD3BJ/def2SVP算的上百原子的有机分子,出现2-3个虚频,应该opt时就采取严格收敛方式,还是,像http://bbs.keinsci.com/thread-2139-1-1.html评论中说的,改变原子坐标呢(这个原子振动坐标怎么加其实没看懂,在原坐标的基础上,根据振动频率加吗)
作者
Author:
sobereva    时间: 2020-12-17 09:31
li447fan 发表于 2020-12-16 22:12
请问如果用orca计算出现虚频是不是就不能用第二种方法了?用B3LYPD3BJ/def2SVP算的上百原子的有机分子,出 ...

不管什么程序,处理思想都大同小异,ORCA没有特殊性。
帖子里说了,通常只有破坏对称性的虚频才需要考虑按照虚频模式调节结构(原坐标加上正则坐标乘上人为指定的系数)

作者
Author:
li447fan    时间: 2020-12-18 10:36
sobereva 发表于 2020-12-17 09:31
不管什么程序,处理思想都大同小异,ORCA没有特殊性。
帖子里说了,通常只有破坏对称性的虚频才需要考虑 ...

如果用了tightopt,tightSCF,Grid5,依然有两处较小的虚频,应该继续使用更严格的verytight吗
作者
Author:
sobereva    时间: 2020-12-19 09:22
li447fan 发表于 2020-12-18 10:36
如果用了tightopt,tightSCF,Grid5,依然有两处较小的虚频,应该继续使用更严格的verytight吗

Grid6
如果用了RIJCOSX,也用gridx6
作者
Author:
li447fan    时间: 2020-12-21 00:30
sobereva 发表于 2020-12-19 09:22
Grid6
如果用了RIJCOSX,也用gridx6

社长,用了gridx6计算后,虚频反而比之前误用grid5更严重了,发现opt结束时不是全yes,是有一个no的,只是最后normal结束的。是不是应该重新更好地优化结构呢?还是绝对值小于10的虚频就不管了呢
作者
Author:
sobereva    时间: 2020-12-21 00:39
li447fan 发表于 2020-12-21 00:30
社长,用了gridx6计算后,虚频反而比之前误用grid5更严重了,发现opt结束时不是全yes,是有一个no的,只 ...

分清楚gridx和grid,各司其职
作者
Author:
li447fan    时间: 2021-3-29 10:14
在加入recalc=3之后,结构反而越来越难收敛了,基本只有1个yes或都是no,跑了快一个星期了。请问是继续等呢,还是尝试换个方法。(一开始,B3LYP-D3/6-311G**下opt四个yes,freq两个yes)
作者
Author:
北大-陶豫    时间: 2021-3-29 16:52
li447fan 发表于 2021-3-29 10:14
在加入recalc=3之后,结构反而越来越难收敛了,基本只有1个yes或都是no,跑了快一个星期了。请问是继续等呢 ...

优化的啥,能贴一下输入输出文件不
作者
Author:
HJC    时间: 2021-4-9 14:00
想请问老师,计算频率的时候虽然出现了两个NO,但无虚频,这样优化后的结构是否能用?谢谢您
         Item               Value     Threshold  Converged?
Maximum Force            0.000021     0.000450     YES
RMS     Force            0.000003     0.000300     YES
Maximum Displacement     0.008541     0.001800     NO
RMS     Displacement     0.002329     0.001200     NO
作者
Author:
喵星大佬    时间: 2021-4-9 19:47
HJC 发表于 2021-4-9 14:00
想请问老师,计算频率的时候虽然出现了两个NO,但无虚频,这样优化后的结构是否能用?谢谢您
         Ite ...

说明势能面比较平滑,力已经充分收敛了但是位移还没有,影响不大,如果介意也可以用这次振动分析得到的heseeian再优化一下,基本就OK了
作者
Author:
jiuyangli    时间: 2022-10-19 01:25
请问老师,我在做激发态优化时,opt的4个都是yes,但是用opt后的结构做频率计算,4个都是no,均是在同一计算级别下做的,这是怎么回事?
作者
Author:
sobereva    时间: 2022-10-19 01:26
jiuyangli 发表于 2022-10-19 01:25
请问老师,我在做激发态优化时,opt的4个都是yes,但是用opt后的结构做频率计算,4个都是no,均是在同一计 ...

freq的时候guess=read读取opt最后的波函数再试。若还有这个问题,把opt和freq的输入、输出文件都压缩后上传
作者
Author:
jiuyangli    时间: 2022-10-19 09:00
sobereva 发表于 2022-10-19 01:26
freq的时候guess=read读取opt最后的波函数再试。若还有这个问题,把opt和freq的输入、输出文件都压缩后上 ...

老师,这是guess=read重新计算的,还是这样。 (, 下载次数 Times of downloads: 2)



作者
Author:
sobereva    时间: 2022-10-19 18:58
jiuyangli 发表于 2022-10-19 09:00
老师,这是guess=read重新计算的,还是这样。

opt的gjf也上传,否则都不知道你用modredundant读的是什么
作者
Author:
jiuyangli    时间: 2022-10-22 09:34
sobereva 发表于 2022-10-19 18:58
opt的gjf也上传,否则都不知道你用modredundant读的是什么

老师,这是重新上传后的。

作者
Author:
sobereva    时间: 2022-10-23 04:17
jiuyangli 发表于 2022-10-22 09:34
老师,这是重新上传后的。

写modredundant是完全多余的

使用IOp自定义泛函的时候不要用opt freq,因为IOp没法传递到后续子任务,导致freq部分和opt部分用的不是同一个泛函

作者
Author:
Sui1999    时间: 2024-3-15 09:46
老师您好,我在做一个由CHONP元素组成的体系,使用orca501优化结构,关键词是! b3lyp/G cc-pVTZ d3 opt freq,计算的结果总是有虚频,使用tihgtopt,最后的结果仍然有虚频,利用“Recalc_Hess 3”则无法收敛;使用高斯用相同的关键词最后得到的结构没有虚频,拿该结构再用orca仍然会有虚频;使用cc-pvdz的话则可以收敛且没有虚频,但是使用该结构再去优化,仍然会有虚频;且上述虚频都是4个,大小和振动模式十分相似,想问一下老师这种情况有什么好的解决办法吗。
作者
Author:
sobereva    时间: 2024-3-15 17:35
Sui1999 发表于 2024-3-15 09:46
老师您好,我在做一个由CHONP元素组成的体系,使用orca501优化结构,关键词是! b3lyp/G cc-pVTZ d3 opt fre ...

提高积分格点精度再试

我自己基本不用ORCA做opt freq任务

cc-pVTZ给B3LYP用不是好主意,下文说了
谈谈量子化学中基组的选择
http://sobereva.com/336http://bbs.keinsci.com/thread-3545-1-1.html


作者
Author:
Sui1999    时间: 2024-3-15 18:42
sobereva 发表于 2024-3-15 17:35
提高积分格点精度再试

我自己基本不用ORCA做opt freq任务

感谢老师的回复,已经试过关键词“defgrid3”,已经是orca最高的格点精度了,还是会产生虚频,且虚频和之前的还是很类似。
作者
Author:
sobereva    时间: 2024-3-15 20:06
Sui1999 发表于 2024-3-15 18:42
感谢老师的回复,已经试过关键词“defgrid3”,已经是orca最高的格点精度了,还是会产生虚频,且虚频和之 ...

懒得折腾就用Gaussian吧
作者
Author:
wzkchem5    时间: 2024-3-15 23:33
Sui1999 发表于 2024-3-15 02:46
老师您好,我在做一个由CHONP元素组成的体系,使用orca501优化结构,关键词是! b3lyp/G cc-pVTZ d3 opt fre ...

可以试试关掉RIJCOSX。
对于杂化泛函,ORCA默认打开RIJCOSX,其中的RI部分需要辅助基组,如果用户没有给定辅助基组,ORCA会默认对非相对论基组用def2/J,对相对论基组用SARC/J。但是def2/J恐怕未必适合cc-pVTZ。高斯没有类似RIJCOSX的方法,因此不会引入这种近似,但与此同时也会算得更慢。
当然正如sob老师所说,cc-pVTZ不太适合给DFT,尤其是非双杂化泛函用,一定要用triple zeta基组优化的话,不如用def-TZVP、def2-TZVP(-f)或def2-TZVP。这样一来也就自动解决了辅助基组的问题,因为def2/J完全适合搭配这些基组使用
作者
Author:
qingmo    时间: 2024-6-1 20:53
本帖最后由 qingmo 于 2024-6-1 22:00 编辑

老师您好!我对一个分子结构做常规优化后,再做freq计算。没有虚频,但其中的最大位移是NO。因此我取最后结构又做了opt=calcall计算,查看log文件结果是没有虚频,四个也都是YES。
之后我打开opt=calcall计算后的log文件取出最后结构再做freq计算,虽然还是没虚频,但关于位移的两项却变成NO了。。。
请问老师这是什么原因,calcall不是和freq一样都是精确计算Hessian计算吗
作者
Author:
sobereva    时间: 2024-6-2 09:29
qingmo 发表于 2024-6-1 20:53
老师您好!我对一个分子结构做常规优化后,再做freq计算。没有虚频,但其中的最大位移是NO。因此我取最后结 ...

优化过程计算位移的算法不仅依赖于当前步的信息,还依赖于之间一些步。而且你若要100%精确基于opt最后的结构算,应该用geom=check从chk里读取全精度的坐标。
作者
Author:
qingmo    时间: 2024-6-2 16:26
本帖最后由 qingmo 于 2024-6-2 16:29 编辑
sobereva 发表于 2024-6-2 09:29
优化过程计算位移的算法不仅依赖于当前步的信息,还依赖于之间一些步。而且你若要100%精确基于opt最后的 ...

感谢老师您的答复!已改成geom=cheak提取chk坐标计算。
老师您说的第一句话“依赖于之间一些步”,我不是太懂。。请问可以理解为此时体系结构和上一步优化的结构之间的关系吗?
另外,geom计算是读取了全精度坐标,如果把全精度坐标提取出来应怎么做?我在log和fchk文件里都没找到全精度的。。之前都是GV里打开out文件计算,确实菜鸟行为了
作者
Author:
qingmo    时间: 2024-6-3 11:41
本帖最后由 qingmo 于 2024-6-3 12:49 编辑

按照老师您所说的用geom=check从chk里读取全精度的坐标步骤后,freq得到的确实如opt=calcall步骤一样,没有出现虚频和NO了,看来应该就是坐标问题。
之后用GV观察到fchk文件坐标小数点后有效数字达八位,而原来out文件只有六位,因此复制该坐标做freq计算,此时结果又出现了NO。
不知道是因为GV观察到的fchk文件坐标其实也并不是精确坐标?还是因为即使是,但gaussian要想读取到精确的,只能根据geom=check从chk步骤才能读取到?
(然后分别用out文件坐标,fchk文件坐标,和geom=check读取chk文件计算激发能,激发能和振子强度基本一致。是不是只要没有虚频,就算位移相关项出现了NO,关于算跃迁偶极矩,激发能这类物理量,此时的结构也是可以接受的?)

作者
Author:
lurensan    时间: 2024-6-3 12:04
各位老师,请问这个怎样把虚频消掉,尝试了很多方法都不好使 (, 下载次数 Times of downloads: 1)

作者
Author:
sobereva    时间: 2024-6-3 23:51
lurensan 发表于 2024-6-3 12:04
各位老师,请问这个怎样把虚频消掉,尝试了很多方法都不好使

本帖里该说的都说了,没有可补充的
作者
Author:
sobereva    时间: 2024-6-3 23:52
qingmo 发表于 2024-6-3 11:41
按照老师您所说的用geom=check从chk里读取全精度的坐标步骤后,freq得到的确实如opt=calcall步骤一样,没有 ...

gview载入、保存时的有效位数问题。gjf里的数据记录精度比chk里的低
作者
Author:
qingmo    时间: 2024-6-4 13:32
sobereva 发表于 2024-6-3 23:52
gview载入、保存时的有效位数问题。gjf里的数据记录精度比chk里的低

好的,谢谢老师
作者
Author:
blue11    时间: 2024-9-5 10:13
sobereva 发表于 2016-3-6 02:17
只要比较相互的能量、求差值,积分格点必须完全一致,int=ultrafine要加就都加。

其它分子倒不一定 ...

请问sob老师,如果A和B优化过程中,适用的坐标不一致,需要该成一致的坐标吗?
如果A的不同构型A1和A2使用的坐标也不一致,需要放在一样的坐标下进行比较吗?
还是只需要一样的积分格点就可以了?谢谢sob老师!
作者
Author:
sobereva    时间: 2024-9-5 10:49
blue11 发表于 2024-9-5 10:13
请问sob老师,如果A和B优化过程中,适用的坐标不一致,需要该成一致的坐标吗?
如果A的不同构型A1和A2使 ...

看不懂
A和B都不是一个物质,不可能坐标一致
作者
Author:
blue11    时间: 2024-9-5 19:34
sobereva 发表于 2024-9-5 10:49
看不懂
A和B都不是一个物质,不可能坐标一致

不好意思,sob老师,没说明白我的意思。我想问一下,我的A在高斯默认的冗余内坐标下优化成功了一个构型,但是在笛卡尔坐标下优化成功了另一个构型。请问一下,我可以计算一下这两个构型的的能量,然后选出一个能量最稳定的吗?
作者
Author:
sobereva    时间: 2024-9-6 00:05
blue11 发表于 2024-9-5 19:34
不好意思,sob老师,没说明白我的意思。我想问一下,我的A在高斯默认的冗余内坐标下优化成功了一个构型, ...

如果你是指在两种坐标系下优化得到了不同构型,应当用能量更低的(确切来说是自由能更低的)。但注意未必这就是真正能量最低结构,有可能需要用molclus做构象/构型搜索来确定真正的能量最低结构。
作者
Author:
虎王    时间: 2024-10-8 18:55
请问一下,用了opt(gdiis)后可以优化收敛,但log出现了Warning!  Use of Opt=GDIIS is deprecated since it is seldom a good choice. 是否有什么影响?例如用了opt(gdiis)是否会导致优化构型不精确?
作者
Author:
zjxitcc    时间: 2024-10-8 18:58
本帖最后由 zjxitcc 于 2024-10-8 18:59 编辑
虎王 发表于 2024-10-8 18:55
请问一下,用了opt(gdiis)后可以优化收敛,但log出现了Warning!  Use of Opt=GDIIS is deprecated since it ...

如果正常结束,没有影响,不会不精确。可以google了解一下优化方法的基本原理,便不会有此困惑。
作者
Author:
虎王    时间: 2024-10-8 19:04
zjxitcc 发表于 2024-10-8 18:58
如果正常结束,没有影响,不会不精确。可以google了解一下优化方法的基本原理,便不会有此困惑。

好的。非常感谢。
作者
Author:
sobereva    时间: 2024-10-9 04:20
虎王 发表于 2024-10-8 18:55
请问一下,用了opt(gdiis)后可以优化收敛,但log出现了Warning!  Use of Opt=GDIIS is deprecated since it ...

这个warning是多余的
默认的GEDIIS很多时候并不如GDIIS


能决定最终精度的是几何优化收敛限,而不是优化算法





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3