计算化学公社

标题: 非内置泛函做 opt freq 时 Gaussian 不会传递 IOp [打印本页]

作者
Author:
liyuanhe211    时间: 2017-5-3 15:28
标题: 非内置泛函做 opt freq 时 Gaussian 不会传递 IOp
本帖最后由 liyuanhe211 于 2017-5-3 19:21 编辑

这是一个很简单的Bug特性,但如果不注意可能会取了错误的结果,故提醒一下。以下测试在Gaussian 09 D.01上进行。
(经2L提醒,这其实在手册中已写明,但一直没注意到)


TL; DR: 使用 IOp 定义了非内置泛函进行opt freq运算时,应该自行用--Link1-- 使得 opt freq 分成两步写,而不要使用其自带的组合任务功能。


在使用非内置泛函时候需用IOp定义各成分的比例(详见《Gaussian中非内置的理论方法和泛函的用法》: http://sobereva.com/344),例如不带D3-BJ的DSD-PBEP86为:
  1. B2PLYP/cc-pVTZ IOp(3/125=0360003600,3/76=1000006500,3/77=0350003500,3/78=0640006400)
复制代码
倘若做一般的优化、频率任务,或许会按照一般的习惯写关键词为:
  1. #p opt freq B2PLYP/cc-pVTZ IOp(3/125=0360003600,3/76=1000006500,3/77=0350003500,3/78=0640006400)
复制代码
但这会导致错误结果,观察输出文件可见,高斯opt一步的处理是正常的,但高斯生成的freq一步的关键词为:
  1. #P Geom=AllCheck Guess=TCheck SCRF=Check Test GenChk RB2PLYP(FC)/def2TZVPP Freq
复制代码
可见IOp消失了。。。所以实际上是用DSD-PBEP86的几何构型,在跑B2PLYP的频率,显然结果是有问题的。

以水为例,优化步骤的单点能是 -76.352 Hartree,而 Freq 步骤的单点能是 -76.413 Hartree,这显然是不正确的。
如果直接自己分两步写:
  1. #p opt B2PLYP/cc-pVTZ IOp(3/125=0360003600,3/76=1000006500,3/77=0350003500,3/78=0640006400)

  2. ...
  3. --Link1--
  4. #p freq geom=allcheck guess=read B2PLYP/cc-pVTZ IOp(3/125=0360003600,3/76=1000006500,3/77=0350003500,3/78=0640006400)
复制代码
则两步的单点能都是 -76.3523687 Hartree,即正常了。






作者
Author:
beefly    时间: 2017-5-3 17:00
这根本不是bug,而是你用错了。手册里明明写着:IOp values explicitly set in the route section are not passed on to the second and subsequent automatically-generated job steps; this applies to keyword combinations like Opt Freq and to inherently multi-step methods such as G2 and the CBS methods.

http://gaussian.com/iop/

作者
Author:
liyuanhe211    时间: 2017-5-3 19:15
本帖最后由 liyuanhe211 于 2017-5-3 19:20 编辑
beefly 发表于 2017-5-3 17:00
这根本不是bug,而是你用错了。手册里明明写着:IOp values explicitly set in the route section are not  ...

一直没注意到,感谢指正!




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