计算化学公社

 找回密码 Forget password
 注册 Register
楼主 Author: zjxitcc
打印 Print 上一主题 Last thread 下一主题 Next thread

[辅助/分析程序] 使用MOKIT做多参考计算

  [复制链接 Copy URL]

75

帖子

0

威望

1721

eV
积分
1796

Level 5 (御坂)

61#
发表于 Post on 2023-10-20 11:39:22 | 只看该作者 Only view this author
本帖最后由 ABQTrap 于 2023-10-20 11:41 编辑

zjxitcc老师,我在使用mokit时指定了HF_prog=ORCA,但是看进程,发现mokit运行时仍然先调用了gaussian的l401.exe,然后是ORCA计算。那如果我没有gaussian的license(目前gaussian仅用于学习),而且mokit的运行绕不开gaussian,是不是不能把mokit的结果用于发表?谢谢!

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

62#
 楼主 Author| 发表于 Post on 2023-10-20 12:27:35 | 只看该作者 Only view this author
ABQTrap 发表于 2023-10-20 11:39
zjxitcc老师,我在使用mokit时指定了HF_prog=ORCA,但是看进程,发现mokit运行时仍然先调用了gaussian的l40 ...

目前MOKIT自动多参考计算确实没有完全移除对Gaussian的依赖。不过,你可以手动用ORCA做个HF计算(模仿MOKIT的automr会算RHF和UHF,并获得稳定的UHF波函数,然后比较RHF/UHF哪个能量低,选那个),然后使用mkl2fch小程序从mkl文件产生fch文件,使用关键词
mokit{ist=3,readrhf='rhf的fch文件名'}

mokit{ist=1,readuhf='uhf的fch文件名'}
读取fch文件进来计算,这样就可以完全跳过需要Gaussian的环节。不过从实际上讲,其实你不需要管这个,因为谁也不知道你的fch文件是哪来的。。。MOKIT提供了很多小程序可以从其他量化程序产生fch文件。
自动做多参考态计算的程序MOKIT

75

帖子

0

威望

1721

eV
积分
1796

Level 5 (御坂)

63#
发表于 Post on 2023-10-20 15:08:14 | 只看该作者 Only view this author
本帖最后由 ABQTrap 于 2023-10-20 15:14 编辑
zjxitcc 发表于 2023-10-20 12:27
目前MOKIT自动多参考计算确实没有完全移除对Gaussian的依赖。不过,你可以手动用ORCA做个HF计算(模仿MOK ...

谢谢zjxitcc老师,就是说按您的方法,使用MOKIT的automr功能进行CASSCF活性空间的选取是能完全绕开gaussian的

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

64#
 楼主 Author| 发表于 Post on 2023-10-20 15:16:02 | 只看该作者 Only view this author
ABQTrap 发表于 2023-10-20 15:08
谢谢zjxitcc老师,就是说按您的方法,使用MOKIT的automr功能进行CASSCF活性空间的选取是能完全绕开gaussi ...

CASSCF_prog=pyscf是默认的,不用写。我在62L回复里已经说过了。。。你提供一个别的程序算好的fch文件,就可以绕开Gaussian了。。。

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
ABQTrap + 2 谢谢

查看全部评分 View all ratings

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

831

帖子

1

威望

7185

eV
积分
8036

Level 6 (一方通行)

65#
发表于 Post on 2023-10-20 15:44:30 | 只看该作者 Only view this author
本帖最后由 hebrewsnabla 于 2023-10-20 15:45 编辑
zjxitcc 发表于 2023-10-20 12:27
目前MOKIT自动多参考计算确实没有完全移除对Gaussian的依赖。不过,你可以手动用ORCA做个HF计算(模仿MOK ...

或许可以考虑把HF_prog=pyscf或orca时改为不从高斯步骤开始,不过这样就需要处理基组数据如何和高斯统一的问题(也就是说是否允许同一个任务HF_prog=orca和=gaussian使用的基组略有不同)……

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

66#
 楼主 Author| 发表于 Post on 2023-10-20 16:13:09 | 只看该作者 Only view this author
hebrewsnabla 发表于 2023-10-20 15:44
或许可以考虑把HF_prog=pyscf或orca时改为不从高斯步骤开始,不过这样就需要处理基组数据如何和高斯统一 ...

我是有这个想法,让py2fch_direct和mkl2fch直接产生fch文件
自动做多参考态计算的程序MOKIT

75

帖子

0

威望

1721

eV
积分
1796

Level 5 (御坂)

67#
发表于 Post on 2023-10-22 22:05:01 | 只看该作者 Only view this author
zjxitcc 发表于 2023-10-19 11:05
见《离线安装OpenMolcas-v22.06》,《编译MPI并行版OpenMolcas》

zjxitcc老师,我按您写的openmolcas教程安装的openmolcas v23,环境变量也写了路径export MOLCAS 和export PATH,pymolcas可以正常运行。但是mokit运行automr调用openmolcas时,仍然显示molcas_path = ”NOT FOUND“,后面就无法计算了,请问应该如何正确写环境变量呢?谢谢!

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

68#
 楼主 Author| 发表于 Post on 2023-10-22 22:12:55 | 只看该作者 Only view this author
ABQTrap 发表于 2023-10-22 22:05
zjxitcc老师,我按您写的openmolcas教程安装的openmolcas v23,环境变量也写了路径export MOLCAS 和expor ...

如果你在任何路径下执行which pymolcas都能正常显示pymolcas的路径,这就说明环境变量没问题了。这种情况下可能你的计算是提交到别的计算节点运行的(比如集群队列),那个节点是否识别你的环境变量,我不知道。有一种可能是:如果你把molcas环境变量写在了提交任务的脚本里,通过bsub/sbatch等命令提交到队列,那么你应该试试把molcas环境变量挪到~/.bashrc里,而不要放在提交任务的脚本里。

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
ABQTrap + 2 谢谢

查看全部评分 View all ratings

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

451

帖子

9

威望

6037

eV
积分
6668

Level 6 (一方通行)

BSJ Institute

69#
发表于 Post on 2024-10-25 01:15:41 | 只看该作者 Only view this author
在automr运行到Gamess的GVB步骤时,由于关键字里会写MAXIT=500,就会导致GAMESS报错ERROR: MAXIT MUST BE BETWEEN 0 AND 200, NOT     500。请问如何解决?

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

70#
 楼主 Author| 发表于 Post on 2024-10-25 12:37:07 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2024-10-25 13:32 编辑
Accelerator 发表于 2024-10-25 01:15
在automr运行到Gamess的GVB步骤时,由于关键字里会写MAXIT=500,就会导致GAMESS报错ERROR: MAXIT MUST BE B ...

这个在README_zh.md里有提到“注意官方GAMESS程序只能处理少于13对的GVB计算,但借助MOKIT现今可以实现上百对的GVB计算。因此请阅读手册 4.4.10部分使用提供的脚本自动修改GAMESS代码”,具体操作请见MOKIT线上文档https://jeanwsr.gitlab.io/mokit- ... .html#4410-gvb_prog

简单解释:GAMESS的GVB最多只能算12对(可以看作12根化学键),实际研究往往不够用,需要用MOKIT提供的./modify_GMS1.sh一键修改并编译GAMESS,其中有一个顺带的修改就是200改成了500,但还有其他更重要的修改。
自动做多参考态计算的程序MOKIT

451

帖子

9

威望

6037

eV
积分
6668

Level 6 (一方通行)

BSJ Institute

71#
发表于 Post on 2024-10-26 13:32:46 | 只看该作者 Only view this author
本帖最后由 Accelerator 于 2024-10-26 13:36 编辑
zjxitcc 发表于 2024-10-25 12:37
这个在README_zh.md里有提到“注意官方GAMESS程序只能处理少于13对的GVB计算,但借助MOKIT现今可以实现上 ...

多谢。另外请教一下:对于一个50原子左右的分子结合def2svp,GVB运行极慢(Gold6139 36核,花了快一天还没算完,并且没迭代几圈),是否正常?以下是MOKIT的相关输出:
Enter subroutine do_gvb...
nbf=554, nif=554, doubly_occ=43, npair=80, nopen=0, nvir=351
LocDocc=F, Lin_dep=F
gms_scr_path = ~/gamess/scr
$fch2inp automr_TS5_uf_uno_asrot.fch -gvb 80
Remark: FcGVB=.T. GVB with all doubly occupied orbitals frozen.

3806

帖子

4

威望

7994

eV
积分
11880

Level 6 (一方通行)

MOKIT开发者

72#
 楼主 Author| 发表于 Post on 2024-10-27 20:11:57 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2024-10-27 20:14 编辑
Accelerator 发表于 2024-10-26 13:32
多谢。另外请教一下:对于一个50原子左右的分子结合def2svp,GVB运行极慢(Gold6139 36核,花了快一天还 ...

从输出内容npair=80可以看出正在进行GVB(80)计算,这确实很耗时,要算两三天。这需要MOKIT做一些改进,自动去除GVB中一些不重要的化学键,这可能会在v1.2.6rc41版本中更新。如果你急着算,可以在标题行写mokit{UNO_thres=0.02},这样会把不重要的UNO轨道 留在双占据和虚轨道空间,不放进GVB活性空间。

这与MOKIT的历史有关,我读博的时候在一个开发GVB和post-GVB方法的课题组里,当时好不容易完成了GVB计算自动化,所以课题组内大家计算时喜欢把所有化学键都放进GVB活性空间,彰显方法高效性和计算能力。然后再从GVB根据轨道占据数选择合适的轨道做为CASSCF初始轨道,比如算个GVB(20)然后挑5对轨道做CAS(10,10)。后来我把MOKIT搬到gitlab上,随着用户的增多,发现一些用户的体系不小,而且含有很多平庸的C-H键,这最终不会被选进CASSCF活性空间,但却会在CASSCF前面一步——GVB做为pair轨道计算,导致GVB计算时间很长。
自动做多参考态计算的程序MOKIT

本版积分规则 Credits rule

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

GMT+8, 2024-11-24 05:58 , Processed in 0.270364 second(s), 29 queries , Gzip On.

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