计算化学公社

 找回密码 Forget password
 注册 Register
Views: 14889|回复 Reply: 9
打印 Print 上一主题 Last thread 下一主题 Next thread

[ORCA] 比较ORCA-Gaussian解决SCF收敛方法与关键词

[复制链接 Copy URL]

22

帖子

0

威望

160

eV
积分
182

Level 3 能力者

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 惠成功QUB 于 2019-9-28 21:49 编辑

SCF不收敛问题,当然首先应该查看社长的:http://sobereva.com/61
最近在用ORCA的时候尝试了一些ORCA里面的解决SCF不收敛的方法,也看到了之前的本论坛里面的文章http://bbs.keinsci.com/thread-4570-1-1.html 。不过那片文章有点老了,针对ORCA3.0.3和Gaussian09. 现在我总结了一些ORCA4.2.0和Gaussian16的内容,主要参考ORCA的手册,以及一些我测试中的输入和输出。

  
Gaussian 16
  
ORCA 4.2.0
IOp(5/13=0)
%scf  
  ConvForced 1 # Not default  
end
ConvForced # = 0: convergence not mandatory for next calculation step  
       # = 1: break, if you did not meet the convergence criteria
  
强烈建议在使用ORCA的时候手动添加ConvForced=1。
IOp(5/13=1)和ConvForced 0的意思是SCF达到上限不收敛的时候继续计算。这是广受批判且不解决任何问题的做法。但是因为ORCA的默认参数是不必须收敛,所以把这个放在第一个。
SCF=maxcyc=200
MaxIter 200
SCF=Conver=8
! TightSCF
SCF=Conver=N 意味着  
  RMS density matrix 10e-N  
  Max change density matrix 10e-(N-2)
  
! TightSCF 意味着  
  TolE 1e-8       # energy change between two cycles  
  TolErr 5e-7     # DIIS error convergence  
  TolG 1e-5       # orbital gradient convergence  
  TolX 1e-5       # orbital rotation angle convergence
  
! VeryTightSCF 意味着  
  TolE  1.000e-09  
  TolErr  1.000e-08  
  TolG  2.000e-06  
  TolX  2.000e-06
  
Gaussian 在OPT的时候默认SCF=Conver=8。ORCA在OPT和计算梯度的时候默认TightSCF,在单点的时候使用NormalSCF。同时ORCA还有其他关键词,比如ConvCheckMode,来定义更加严格或者松散的SCF收敛。
  
ConvCheckMode 2 (默认)的时候并不会检查TolRMSP(RMS density change)和TolMaxP (maximum density change)所以SCF=Conver=8! TightSCF其实并不等价
int= CoarseGrid
! Grid2 FinalGrid4 (ORCA default)
int=fine
! Grid4 No FinalGrid
int=ultrafine (Gaussian)
!Grid6 NoFinalGrid


! GridX4 # Orca Grid setting for COSX
这样看ORCA做DFT计算的时候,grid似乎少了一些。GridX虽然和SCF收敛关系不大,但是和数值噪音有关系(比如梯度的噪音)


%scf  
  CNVSOSCF true  
  SOSCFStart 0.003300  
  SOSCFMaxIt 150  
end
ORCA在OPT的时候默认CNVSOSCF true,开启SOSCF,并且给了默认的开启条件SOSCFStart 0.0033,当轨道梯度(Orbital gradient/DIIS error)小于此设定值时,从默认的DIIS切换到SOSCF,SOSCFMaxIt如果到了这么多SCF cycle则无论有没有达到前一个条件(Orbital gradient)都开启SOSCF。手册里说CNVSOSCF默认是false,但是实际上OPT的时候默认true,Engrad和大部分的时候默认false,如果OPT不想使用SOSCF,可以写! Nososcf。如果SOSCF开启的过早,则可能产生不可靠的巨大步长。
见ORCA手册9.6.6
  
SCF=(XQC, MaxConventionalCycles=150)
%scf  
  NRMaxIt 150
  NRStart 0.0033  
end
end
此处左右两者意思不太一样,Gaussian中没有达到某个阈值开始二次收敛的意思,只有圈数的定义。Newton-Raphson会让每个SCF Cycle时间变长很多。
SCF=NoIncFock
%scf  
  DirectResetFreq 1 # Default 20  
end
IOp(5/37=N)
%scf  
  DirectResetFreq N # Default 20  
end
重新计算Fock矩阵的SCF次数
  
IOp(5/37)  
0  Default (every 20 for direct, except 40 if  Camp-King is on)  
N  Every N cycle
Guess=Read
%scf  
   Guess MORead  
   MOInp "xxx.gbw"  
end


%scf  
  Guess MORead  
  GuessMode CMatrix  
  MOInp "xxx.gbw"  
end
从之前的结果读入轨道作为初猜。在ORCA中,如果换了基组(比如增大了基组)那么此是GuessMode就有两种可选,CMatrixFMatrix


! SlowConv  
! VerySlowConv
阻尼方法(Damping),ORCA默认开启,并且在轨道梯度小于DampErr的时候停止Damping。Gaussian同样在迭代初期使用动态阻尼
SCF= vshift=100
%scf   
  CNVShift true  # default: true  
  LShift 0.1    # default: 0.25, unit, Eh.  
  ShiftErr 0.1   # default: 0.0  
end
ShiftErr 当DIIS error/gradient小于此值的时候,关闭Level Shifting








ORCA中有很多默认参数可能和手册里又些许的不同,这时候就需要从输出文件里查看相应的参数值了。                                                

   



SCF-Gaussian-ORCA1.0-CN.pdf

116.96 KB, 下载次数 Times of downloads: 191

评分 Rate

参与人数
Participants 5
eV +19 收起 理由
Reason
mengwings + 3 赞!
ghifi37 + 3 赞!
zjxitcc + 3 赞!
sobereva + 5
captain + 5 谢谢

查看全部评分 View all ratings

155

帖子

0

威望

3433

eV
积分
3588

Level 5 (御坂)

2#
发表于 Post on 2019-9-28 17:02:30 | 只看该作者 Only view this author
[Gaussian/gview] Gaussian官方: IOp(5/13=1) 不应在任何计算中使用 http://bbs.keinsci.com/thread-3344-1-1.html
常见的多余的和被滥用的Gaussian关键词 http://sobereva.com/331

4289

帖子

4

威望

9536

eV
积分
13905

Level 6 (一方通行)

MOKIT开发者

3#
发表于 Post on 2019-9-28 17:08:44 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2022-4-24 19:37 编辑

强烈建议删去IOp(5/13=1)部分,以免后人新手看到贻患无穷。怎么可以用这种手段解决不收敛呢。高斯scf的conver小于等于6时我都不信的。
我手上已经写好了很多软件之间传轨道的程序,开源之后,几乎所有SCF不收敛问题转化为高斯的不收敛问题。其他软件只需由高斯传轨道过去即可,可立即收敛。
---
后记:上述程序已开源:https://gitlab.com/jxzou/mokit

自动做多参考态计算的程序MOKIT

1245

帖子

1

威望

3860

eV
积分
5125

Level 6 (一方通行)

4#
发表于 Post on 2019-9-28 19:22:19 | 只看该作者 Only view this author
9012年了怎么还有敢用IOp(5/13=1)的

1245

帖子

1

威望

3860

eV
积分
5125

Level 6 (一方通行)

5#
发表于 Post on 2019-9-28 19:24:52 | 只看该作者 Only view this author
zjxitcc 发表于 2019-9-28 17:08
强烈建议删去IOp(5/13=1)部分,以免后人新手看到贻患无穷。怎么可以用这种手段解决不收敛呢。高斯scf的conv ...

我现在算一个单点,orca用双杂化试了各种方法都难以收敛,包括用能收敛的纯泛函的轨道当初猜都不行,大师能提供一下这个软件我试试吗

22

帖子

0

威望

160

eV
积分
182

Level 3 能力者

6#
 楼主 Author| 发表于 Post on 2019-9-28 21:38:08 | 只看该作者 Only view this author
不好意思,前面表述有误,我的意思是在使用ORCA的时候,ConvForced=1不是在Gaussian里面IOp(5/13=1)。我已经在正文里面改了

22

帖子

0

威望

160

eV
积分
182

Level 3 能力者

7#
 楼主 Author| 发表于 Post on 2019-9-28 21:42:22 | 只看该作者 Only view this author
zjxitcc 发表于 2019-9-28 17:08
强烈建议删去IOp(5/13=1)部分,以免后人新手看到贻患无穷。怎么可以用这种手段解决不收敛呢。高斯scf的conv ...

我之前表述有误,我的本意是在使用ORCA的时候加convforce=1,不是在使用Gaussian的时候IOp(5/13=1)。ORCA的默认是convforce=0,相当于在Gaussian中默认IOp(5/13=1),这显然是没有意义的,也是广受批判的。这篇主要是针对ORCA使用,所以把这一个关键词放在第一个。本意是强调手动加入convforce=1.

172

帖子

0

威望

3441

eV
积分
3613

Level 5 (御坂)

8#
发表于 Post on 2022-4-24 19:32:36 | 只看该作者 Only view this author
请问ORCA5版本的还更新么,新版本变化还不小

444

帖子

0

威望

2578

eV
积分
3022

Level 5 (御坂)

娃娃儿鱼

9#
发表于 Post on 2022-4-24 23:37:44 | 只看该作者 Only view this author
neocc 发表于 2022-4-24 19:32
请问ORCA5版本的还更新么,新版本变化还不小

http://bbs.keinsci.com/thread-20748-1-1.html
此处2楼文件后边有更新orca5的
真·探

172

帖子

0

威望

3441

eV
积分
3613

Level 5 (御坂)

10#
发表于 Post on 2022-4-26 20:01:16 | 只看该作者 Only view this author
hdhxx123 发表于 2022-4-24 23:37
http://bbs.keinsci.com/thread-20748-1-1.html
此处2楼文件后边有更新orca5的

感谢

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2026-2-19 08:34 , Processed in 0.186530 second(s), 26 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list