计算化学公社

标题: 求助催化计算的框架选择 [打印本页]

作者
Author:
ghifi37    时间: 2019-12-18 10:38
标题: 求助催化计算的框架选择
本帖最后由 ghifi37 于 2019-12-18 10:40 编辑

准备搭建一个高通量计算的软件平台,计算对象是有机分子(大约20来个原子)在催化剂表面进行的反应;
催化剂会有过渡族金属(计划不超过第5周期)、合金、金属氧化物和金属盐;
主要涉及到确定能量最低吸附位和吸附能、过渡态、反应路径的计算。

现在采用包含VTST的VASP进行计算,不同催化剂分别有60-100个原子,固定下两层,真空层约20A,开SPIN和vdw-dft,meta-gga,k-point 331
采用AVX512和GPU加速,跑24核,力收敛 0.05eV/A,优化一个吸附位要5-10天。
尝试过先在gamma点优化后再用331算能量,此时用单点能计算的吸附能完全不对;如果继续relax,最终的能量与331直接优化后的能量也差了大零点几个eV;
后面想直接用DFT-D4(3)替换vdw-dft,省点时间;
但如果把力收敛改为能量收敛,有时候VASP找不到局部最低点(更别说全局最低点);
如果算过渡态的话,条件总dist<5A,跑了十多二十天看不到眉目。

个人对现有框架的感觉是:结构合适,有很多三方软件可以辅助分析,但计算速度太慢,也不能进行波函数的分析。

前段时间在论坛中请教了加速软件的推荐,感谢坛友的指点,现在有个大概思路,可能的途径有以下两种:
a、采用LCAO基组的pbc,比如gaussian-pbc、pyscf或Siesta,利用密度拟合加速
      关于此方案,想请教下:
      1、是不是所有采用LCAO基组的周期性计算软件都能设置k-points?
      2、哪个软件在这样的计算体系中速度较快?
      3、pyscf采用geomeTRIC和PyBerny进行结构优化,如何固定部分原子?
b、直接换成非周期软件,利用团簇来模拟,除反应面上外,固定其它面的原子。试过orca的RI加速,感觉挺快的
      对于此体系,也存在不少困惑,想请教下:
      4、对于催化反应来说,只算gamma点可能会被质疑,有没比较合适的解释?
      5、对于金属键来说,边界加氢或者背景电荷好像都不合适,如何处理边界比较合适?
      6、因后续要做能带分析,采用轨道来模拟能带有没啥大问题?
      7、团簇如何relax晶格?
8、还有没更合适更快的计算软件或框架可以推荐下?最好是免费的。感谢关注和回复!

作者
Author:
ghifi37    时间: 2019-12-18 14:48
或者我试试GFN0-xTB能不能用在这个体系,就是不知道精度能到多少
作者
Author:
ghifi37    时间: 2019-12-18 16:08
Feature preview for version 6.3.0
periodic boundary conditions for GFN1-xTB Hamiltonians

GFN1支持pbc了,又多了个选择,还可以用ASE控制,不错!就是下到一半就断了……
作者
Author:
卡开发发    时间: 2019-12-18 19:14
0、vdW-DF系列还是比一般GGA+后色散修正速度慢,没有特殊要求的话没这个必要,况且结果不会显著更好。
1、成熟的周期性计算程序一般都支持多k点的计算,但并非全部的LCAO程序都是成熟程序。
2、pyscf没用过。比如siesta,别说60~100,就算100~200(可能能够算更多)原子跑单点也并不是很慢,或者dmol3,大概100~150原子也能很快完成,但这些数值原子轨道程序依靠的不是RI技术,而是数值轨道的截断特性来实现O(N)的。同类程序还有FHI-AIMS和GPAW这些。不过这些程序要么不太成熟,要么就是要花钱,有些可能还特别贵。
4、问题不在gamma点,而是边界处理和团簇尺寸。
5、块状金属体系用团簇的话确实不是好的选择。
7、团簇没有晶格,没有stress,也不存在relax晶格的问题。
作者
Author:
ghifi37    时间: 2019-12-18 19:41
卡开发发 发表于 2019-12-18 19:14
0、vdW-DF系列还是比一般GGA+后色散修正速度慢,没有特殊要求的话没这个必要,况且结果不会显著更好。
1、 ...

感谢回复和指导!现在看起来用团簇的确难模拟晶体,还是得回到周期性计算上。
我试试Siesta用起来如何啊!
作者
Author:
卡开发发    时间: 2019-12-18 19:52
ghifi37 发表于 2019-12-18 19:41
感谢回复和指导!现在看起来用团簇的确难模拟晶体,还是得回到周期性计算上。
我试试Siesta用起来如何啊 ...

SIESTA本身没有过渡态的算法,要么用提供的LUA脚本做NEB,要么用ASE或Gaussian之类的调用,另外SIESTA的赝势太古老了,性能也不够好,ONCV赝势的支持还在开发中。
作者
Author:
ghifi37    时间: 2019-12-18 23:41
卡开发发 发表于 2019-12-18 19:52
SIESTA本身没有过渡态的算法,要么用提供的LUA脚本做NEB,要么用ASE或Gaussian之类的调用,另外SIESTA的 ...

看来一旦做起来还会遇到不少坑啊,谢谢告知!
赝势太古老,会不会被怼啊?
作者
Author:
卡开发发    时间: 2019-12-19 00:26
ghifi37 发表于 2019-12-18 23:41
看来一旦做起来还会遇到不少坑啊,谢谢告知!
赝势太古老,会不会被怼啊?

最好找小体系严格测试测试,差别不大的话就行。
作者
Author:
登登    时间: 2019-12-19 09:55
ghifi37 发表于 2019-12-18 16:08
Feature preview for version 6.3.0
periodic boundary conditions for GFN1-xTB Hamiltonians

这是预发行版吧,xtb最近好像加了挺多周期性的内容,但可以引用的资料比较少,希望能多出点测试的文章。

作者
Author:
chrinide    时间: 2019-12-19 19:43
本帖最后由 chrinide 于 2019-12-19 19:56 编辑

可以试试中科大任老师组里开发的ABACUS程序  http://abacus.ustc.edu.cn/
有成熟的赝势(SG15)和基组,速度足够快,DZP基组精度(<ΔDZP-WIEN2k> = 3.07 meV/atom,非常精确了)和速度达到比较好的平衡,应该可以满足你的需求。支持的赝势是QE的UPF格式,你也可以选用ABINIT组里开发的更准确的ONCVPSP-PBE-PDv0.4赝势,很灵活

作者
Author:
ghifi37    时间: 2019-12-19 22:30
chrinide 发表于 2019-12-19 19:43
可以试试中科大任老师组里开发的ABACUS程序  http://abacus.ustc.edu.cn/
有成熟的赝势(SG15)和基组,速度 ...

好的,谢谢介绍,我了解下看看是否合适啊!
作者
Author:
ghifi37    时间: 2019-12-20 14:10
本帖最后由 ghifi37 于 2019-12-20 14:11 编辑
登登 发表于 2019-12-19 09:55
这是预发行版吧,xtb最近好像加了挺多周期性的内容,但可以引用的资料比较少,希望能多出点测试的文章。
...

是的,太新了点,资料不好找,官网的manual还是针对6.1的。特别是关于pbc的资料更少。
xtb说是支持POSCAR文件,但我按常规xtb的要求,把POSCAR作为参数传递进去,报错没有坐标信息。
教程里举例,通过xtb.py wrapper调用,可我怎么都找不到xtb.py文件。
请教大家,有人知道怎么在xtb里用POSCAR吗?

作者
Author:
ghifi37    时间: 2019-12-21 23:36
本帖最后由 ghifi37 于 2019-12-21 23:43 编辑

xtb计算周期性体系目前还不完善,我用gfn 1算晶格系数,结果偏差还有点大。
log里的结果与xtbopt里的也不一致,总之还有些不少bug。
可能还要等它稍微完善点才好用。
作者
Author:
卡开发发    时间: 2019-12-23 18:42
chrinide 发表于 2019-12-19 19:43
可以试试中科大任老师组里开发的ABACUS程序  http://abacus.ustc.edu.cn/
有成熟的赝势(SG15)和基组,速度 ...

有相同的问题,就是没过渡态的算法,可能得想办法用其他的程序去调用来做能量和力。
作者
Author:
ghifi37    时间: 2020-3-9 19:31
卡开发发 发表于 2019-12-19 00:26
最好找小体系严格测试测试,差别不大的话就行。

请问如果直接采用PseudoDojo的psml赝势,应该不用测试了吧?文章里给了很详细的测试结果
作者
Author:
卡开发发    时间: 2020-3-9 19:40
ghifi37 发表于 2020-3-9 19:31
请问如果直接采用PseudoDojo的psml赝势,应该不用测试了吧?文章里给了很详细的测试结果

SIESTA应该只是做了读取PSML格式的组件,但并未正式发放出来。
作者
Author:
ghifi37    时间: 2020-3-9 19:47
卡开发发 发表于 2020-3-9 19:40
SIESTA应该只是做了读取PSML格式的组件,但并未正式发放出来。

在Gitlab里有个Branch有PSML转换,除与PSML相关的代码外,其它代码更新是与master同步的。我用了一段时间感觉挺正常的,就是不知道直接用dojo赝势有没啥风险。
作者
Author:
卡开发发    时间: 2020-3-9 19:57
ghifi37 发表于 2020-3-9 19:47
在Gitlab里有个Branch有PSML转换,除与PSML相关的代码外,其它代码更新是与master同步的。我用了一段时间 ...

所以最好测试一下,看看会不会有什么比较怪异的情况,比如价电子数目定义在两种赝势不同(比如半芯态),或者个别赝势可能会出现截断半径过长,或者赝势直接迁移过来出现ghost states的问题,找一些小的体系可以和平面波的结果比较一下,程序不报错不表示算出来的结果一定可靠。

另外过渡态计算可以通过LUA控制,有人写了现成的LUA脚本,不过我这边安装LUA没测试成功;你也可以用ASE调用NEB或者用Gaussian调用SIESTA做过渡态。
作者
Author:
ghifi37    时间: 2020-3-10 14:56
本帖最后由 ghifi37 于 2020-3-10 16:07 编辑
卡开发发 发表于 2020-3-9 19:57
所以最好测试一下,看看会不会有什么比较怪异的情况,比如价电子数目定义在两种赝势不同(比如半芯态), ...

也是,直接和pw的结果比较是最省事的办法,可惜VASP的结果我也觉得有点不靠谱。过渡态准备用ASE弄,毕竟这个好控制。LUA关于过渡态的项目没找到,能否告知下名称?我了解下性能如何,找过渡态太折腾了。
不知前辈用下来哪个程序找得快准?有没比较过TSASE和Gaussian的性能?

作者
Author:
卡开发发    时间: 2020-3-10 16:55
ghifi37 发表于 2020-3-10 14:56
也是,直接和pw的结果比较是最省事的办法,可惜VASP的结果我也觉得有点不靠谱。过渡态准备用ASE弄,毕竟 ...

LUA的部分在新版本的手册有提到,你可以看看。ASE我倒是没试过,手头服务器系统比较老,各种问题。
平面波比较没必要非得去比VASP,同样支持Dojo的还有Abinit吧,不过这玩意我很少用,基本上都是QE。
作者
Author:
ghifi37    时间: 2020-4-7 22:03
卡开发发 发表于 2020-3-10 16:55
LUA的部分在新版本的手册有提到,你可以看看。ASE我倒是没试过,手头服务器系统比较老,各种问题。
平面 ...

我在SIESTA里用Dojo的PBE赝势比较了现有的体系结果,当泛函用PBE时,差得还好,但当用RPBE泛函时,结果就有最大近100%的偏差了。计划生成RPBE的优化泛函,但不知道啥原因,Dojo的html格式数据一直下不下来,计划暂被搁置了。根据自己以往经验,PBE赝势和RPBE泛函搭配也不应该结果如此离谱,想请教下您关于此方面的经验?除了Dojo,SIESTA还能用其它ONCV赝势吗?
作者
Author:
卡开发发    时间: 2020-4-8 04:21
ghifi37 发表于 2020-4-7 22:03
我在SIESTA里用Dojo的PBE赝势比较了现有的体系结果,当泛函用PBE时,差得还好,但当用RPBE泛函时,结果就 ...

1、我不确定你的数据是实验值还是和平面波的结果去做的比较。
2、即便出现较大的偏差,也可能是基组没有经过优化引起的,看看增大基组是否会有一些改善。
3、其他ONCV理论上是可以使用的(比如SG15),不过也没办法确定是不是有什么bug。




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