计算化学公社

 找回密码 Forget password
 注册 Register
Views: 1407|回复 Reply: 0

[辅助/分析程序] 双杂化泛函IOp小助手

[复制链接 Copy URL]

604

帖子

1

威望

4901

eV
积分
5525

Level 6 (一方通行)

发表于 Post on 2022-4-26 17:48:57 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 hebrewsnabla 于 2022-4-26 23:00 编辑

写了一个自动生成某斯(非内置)双杂化泛函iop的小程序(原理见 http://sobereva.com/344 )。并且,鉴于某斯不能对双杂化泛函的SCF部分做stable=opt(内置的也不行),此脚本还支持只生成SCF部分的iop。

程序地址

https://github.com/hebrewsnabla/dh_helperhttps://git.nju.edu.cn/wsr/dh_helper

用法
执行以下命令可以看到help信息

  1. > python3 dhhelper -h
  2. usage: dhhelper [-h] -t type -f functional [--version]

  3. Generate Gaussian iops for doubly hybrid functionals

  4. optional arguments:
  5.   -h, --help            show this help message and exit
  6.   -t type, --type type  scf: for SCF only (useful for stable=opt)
  7.                          dh: for full functional (include SCF and PT2)
  8.   -f functional, --fun functional
  9.                         supported: B2PLYP    MPW2PLYP    PBE0DH      PBEQIDH
  10.                                  PBE02     B2GPPLYP    LS1DHPBE    DSDPBEP86
  11.                                  DSDPBEP86D3    revDSDPBEP86D3     DSDPBEPBED3
  12.                                  DSDBLYPD3      DSDPBEB95D3        B2PLYPD3
  13.                          Attention: No hyphens in functional name
  14.   --version             show program's version number and exit
复制代码

注意泛函名称均不含'-',大小写不敏感。

例如,想要获得revDSDPBEP86-D3的SCF部分,可以这样操作

  1. > python3 dhhelper -t scf -f revDSDPBEP86D3
  2. #p PBEP86
  3. # iop(3/76=1000006900, 3/77=0310003100, 3/78=0429604296)
  4. # em=gd3bj iop(3/174=0437700,3/175=-1,3/176=0,3/177=-1,3/178=5500000)
复制代码
加上基组和stable=opt就可以获得稳定波函数了。


未尽之处

  • range separate 双杂化泛函?
        据笔者所知,wB97X-2在高斯中使用是没戏的,wB2GP-PLYP倒是可以,参考 http://sobereva.com/550 可以知道iop如下
    1. #p B2PLYP IOp(3/76=1000010000,3/77=1000010000,3/78=0640006400) IOp(3/107=0270000000,3/108=0270000000) IOp(3/119=0350000000,3/120=0350000000) IOp(3/130=06500,3/131=06500) IOp(3/125=0360003600)
    复制代码

        但是此类泛函不是很多,暂时还没有在脚本里支持。
  • XYG3型泛函?
        不必使用这个脚本,有更方便的 xDH4GauORCA脚本 可以使用。使用 PySCF扩展的话支持的功能就更多了。
        wB97M(2)也是XYG3型泛函,但是和wB97X-2一样,没戏。
  • 对ORCA的支持?
        ORCA的双杂化泛函远比某斯多,而且其中的大部分可以直接检测稳定性。确实有一部分不支持,但是在不支持的这一部分中,PWPB95是没法用自定义的方式来做stable的,其他的泛函可能不是很重要,或者很快就会被官方支持stable。所以此脚本暂时没写ORCA自定义的功能。
  • 若有其他泛函需要支持,可以在此处或github留言。也欢迎指出bug。

Note
  撰写此脚本的目的主要是方便结合stable=opt来获取双杂化泛函的稳定波函数,并不提倡用某斯做完整的双杂化计算——使用不能开RI-MP2的程序算双杂化都是浪费机时。
  感谢@冰释之川 的建议和帮助。

评分 Rate

参与人数
Participants 15
威望 +1 eV +64 收起 理由
Reason
Nazrin567 + 3 牛!
北大-陶豫 + 5
Novice + 5 好物!
niobium + 5 给双杂化小王子点赞
sobereva + 1
joeson + 3 好物!
ggdh + 5 精品内容
卡开发发 + 5 不明觉厉
snljty + 5 牛!
biogon + 5 666
RAL + 5 好物!
丁越 + 5 赞!
冰释之川 + 5 とてもいい!
exity + 5 牛!
zjxitcc + 3 精品内容

查看全部评分 View all ratings

本版积分规则 Credits rule

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

GMT+8, 2023-2-7 03:40 , Processed in 0.427860 second(s), 23 queries .

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