B3LYP 如何在 Gaussin 0*、GAMESS-US、Molpro 等中实现?

计算科学 计算化学 密度泛函理论
2021-12-16 23:59:09

具体来说,我想扩展涉及 B3LYP 的工作,从 Gaussian 03 开始​​,但从 GAMESS-US 继续。默认 B3LYP 方法提供的能量是不一样的。GAMESS-US 手册中对此进行了讨论(更多信息部分):

请注意,GAMESS 中的 B3LYP 部分基于 VWN5 电子气相关泛函。由于 VWN 关于局部相关性的论文中提到了具有两种可能参数化的五个公式,因此其他程序可能会使用其他选择,因此会产生不同的 B3LYP 能量。例如,NWChem 的手册说它默认使用“带有 RPA 参数的 VWN 1 函数,而不是规定的 Monte Carlo 参数”。如果您希望在 B3LYP 混合动力车中使用此 VWN1 公式,只需选择“DFTTYP=B3LYP1”。

它说 GAMESS 和 NWCHEM 之间的默认值不同,并且有一个选项可以让 GAMESS 执行与 NWCHEM 默认执行相同的计算。

如何让 G03 和 GAMESS B3LYP 计算一致?

各种软件包的 B3LYP 的默认实现和它们的功能有什么区别,即它们的 B3LYP 定义/实现是否可以调整?

3个回答

爱信已经回答了你的部分问题。我可以为您提供更多关于 GAMESS(US) 的信息。

可以使 GAMESS(US) 使用与 Gaussian 03 相同的 B3LYP“类型”。为此,您需要指定“DFT=B3LYP1”,正如您在问题中已经提到的那样。这将选择具有 VWN 公式 1 RPA 局部相关性的 B3LYP,据我所知,这与他们在其他一些程序(如 Gaussian 03)中所谓的 VWN 公式 III 相同。

当然,在两个程序中选择相同的功能并不是获得相同结果的唯一要求。其他一些需要考虑的事情是:

  • 基础设置。两个程序都必须使用完全相同的基组。如果您在 Gaussian 中使用内部存储的基组(例如,6-31G(d,p)),则可以通过将关键字 GFINPUT 添加到路径部分来使 Gaussian 打印基组详细信息。GAMESS(US) 在其主输出中打印基组详细信息。

  • 网格大小。默认情况下,Gaussian 03 使用 (75,302) 网格,而 GAMESS(US) 使用 (96,302) 网格。在 Gaussian 中,网格大小可以通过 INT 关键字来控制。在 GAMESS(US) 中,您应该查看 $DFT 组中的 NRAD 和 NLEB 关键字。网格的类型也会有所不同,但据我所知,GAMESS(US) 和 Gaussian 使用了类似的网格。

  • 积分截止。这两个程序都忽略了非常小的积分,因为这将加快计算速度,而不会对准确性产生重大影响。但是,两个程序之间的截止因子可能不同,这可能导致结果略有不同。在 Gaussian 03 中,您可以使用 IOP(3/27) 控制截止因子。在 GAMESS(US) 中,您可以在 $CONTRL 中使用 ICUT 关键字。

  • SCF 收敛。Gaussian 通常使用 EDIIS 和 CDIIS 进行 SCF 程序,而 GAMESS(US) 使用 DIIS 或 SOSCF。如果您的情况对于 DFT 来说不太复杂,那么这两种方法都应该收敛到相同的解决方案。但是,如果您想比较两个程序获得的能量,您应该指定非常严格的收敛标准。

  • 关于几何优化:Gaussian 和 GAMES(US) 使用非常不同的坐标系、几何优化器和收敛标准。使两个程序优化到完全相同的几何形状是困难的,甚至是不可能的。

您可能还需要考虑其他一些细微的差异。也许最好从 Hartree-Fock 计算开始,看看这两个程序是否产生相同的 SCF 能量——这将函数和 DFT 网格的差异排除在外。

希望这可以帮助。

根据手册,B3LYP 的高斯实现使用 VWN3 功能。

让 Gaussian 使用 VWN5 函数,因为它有点棘手,但显然可以通过将以下所有内容添加到路由行来完成:

  • bv5lyp- 指定哪些功能组件 - Becke 交换,与 VWN5 本地、LYP 非本地相关。
  • iop(3/76=1000002000)- 20% HF 交换,加上
  • iop(3/77=0720008000)- 72% Becke 非本地交换,加上 80% Slater 本地交换,加上
  • iop(3/78=0810010000)- 81% LYP 非本地相关性,加上 100% 的 V5LYP VWN5 本地相关性。

(你可以看到为什么人们试图避免使用 IOP 关键字。)有关使用这些关键字的更多信息,请参见前面提到的高斯手册的 DFT 关键字页面,在“用户定义的模型”下。

我对 GAMESS 不是很熟悉,但它似乎没有使用 B3LYP 的 VWN3 版本的选项,所以看起来你似乎不能走另一条路。

至于其他包中的这些和适应性,我知道 Turbomole 已经列出了 B3LYP(使用 VWN5)和 B3LYP_Gaussian(使用 VWN3),ADF 的手册建议你只能在 B3LYP 中使用 VWN5,但你可以调整 HF 的数量交换如果那是你想做的事情。

NWChem 的内置 B3LYP 应该与高斯的一致,以 Thom 的答案中提到的网格和公差问题为模。您可以使用显式 XC 接口指定支持成分的任何功能形式:http ://www.nwchem-sw.org/index.php/Density_Functional_Theory_for_Molecules#XC_and_DECOMP_--_Exchange-Correlation_Potentials 。

我知道这个问题已经得到解答,但我想添加 NWChem 细节以确保完整性,因为该问题表明希望使 GAMESS=NWChem=Gaussian。

附带说明一下,Dalton 支持 B3LYP 和 B3LYP-G。后者与 Gaussian 一致,而前者是可能与 GAMESS 一致的更规范的版本。