计算化学公社
标题:
CASSCF迭代中报DIIS矩阵病态是什么问题?
[打印本页]
作者Author:
啊不错的飞过海
时间:
2023-3-19 17:42
标题:
CASSCF迭代中报DIIS矩阵病态是什么问题?
在我的一个CASSCF计算任务中,ORCA给出了这样的输出:
...
MACRO-ITERATION 13:
--- Inactive Energy E0 = -763.97167590 Eh
CI-ITERATION 0:
-764.655921071 0.000000000000 ( 0.00)
CI-PROBLEM SOLVED
DENSITIES MADE
E(CAS)= -764.655921071 Eh DE= 7.141728e-08
--- Energy gap subspaces: Ext-Act = 0.096 Act-Int = 0.092
N(occ)= 1.97890 0.02110
||g|| = 1.571557e-03 Max(G)= 2.657148e-04 Rot=66,58
--- Orbital Update [SuperCI(PT)]
--- Canonicalize Internal Space
--- Canonicalize External Space
--- SX_PT (Skipped TA=0 IT=0): ||X|| = 0.003438581 Max(X)(65,63) = -0.001857350
Warning: badly conditioned DIIS matrix, 1 vectors out of 13 destroyed
--- SFit(Active Orbitals)
...
输出文件没有对这个报错作更多解释,并直接接着算了;ORCA的手册中也没有关于这个错误的说明。
请问各位老师,这个报错表明DIIS矩阵出了什么问题?不加处理是否可能引起什么错误?
作者Author:
wzkchem5
时间:
2023-3-19 18:35
本帖最后由 wzkchem5 于 2023-3-19 11:37 编辑
这只是一个warning,报错原因是DIIS的矢量之间出现接近线性相关的问题,导致DIIS不能直接求解,而必须扔掉一个迭代初期的向量以后才能求解。这个情况的唯一影响在于可能让CASSCF收敛略微变慢,不影响结果的可用性。如果多次出现这个警告,并且CASSCF收敛确实变慢了很多,乃至很难收敛,那么可以考虑改用DIIS以外的算法继续收敛(注意此处“CASSCF收敛确实变慢了很多”的条件不可或缺,也就是如果只看到了多次出现警告,但收敛速度还可以,那么不要仅因为有警告就杀掉任务换收敛算法,否则很可能得不偿失),否则不用管。
具体建议了解一下DIIS的基本原理,以及DIIS数值稳定性问题的成因以及解决方法:
https://www.tandfonline.com/doi/full/10.1080/00268970701691611
欢迎光临 计算化学公社 (http://bbs.keinsci.com/)
Powered by Discuz! X3.3