计算化学公社

 找回密码 Forget password
 注册 Register
Views: 11834|回复 Reply: 19

[Multiwfn资源与经验] Multiwfn现已可以调用cubegen使静电势分析耗时有飞跃式的下降!

[复制链接 Copy URL]

4万

帖子

99

威望

4万

eV
积分
89933

管理员

公社社长+计算化学玩家

发表于 Post on 2018-8-18 00:41:46 | 显示全部楼层 Show all |阅读模式 Reading model
注1:2020-Jul-4及以后版本的Multiwfn的自身的静电势代码计算速度较之前版本有脱胎换骨般提升,见《Multiwfn的计算静电势的内部代码速度得到了极大的提升!》(http://bbs.keinsci.com/thread-18268-1-1.html)、《Multiwfn使用的高效的静电势算法的介绍文章已于PCCP期刊发表!》(http://sobereva.com/614)。如果你的机子有10核及以上的话,对于计算拟合静电势电荷、分子表面静电势的定量分析就强烈不建议按照此文这样调用cubegen了,直接用Multiwfn自己的计算静电势的代码速度更快!!!

注2:如果你的波函数是ORCA算的,而且也没有Gaussian的话,而且CPU核数很少的话,可以用此文的做法节约分子表面静电势分析的耗时:《对ORCA用户大幅节约Multiwfn做分子表面静电势分析耗时的方法》(http://bbs.keinsci.com/thread-16499-1-1.html)。

Multiwfn现已可以调用cubegen使静电势分析耗时有飞跃式的下降!

文/Sobereva @北京科音
First release: 2018-Aug-18  Last update: 2021-Jun-8


静电势是极为重要的实空间函数,Multiwfn (http://sobereva.com/multiwfn)中支持众多静电势相关分析,例如《静电势与平均局部离子化能综述合集》(http://bbs.keinsci.com/thread-219-1-1.html)这里提到的相关博文。考虑到Gaussian里的cubegen工具计算静电势速度比Multiwfn快,为了降低Multiwfn中使用较普遍的“绘制静电势平面图”和“分子表面静电势分析”功能的耗时,在之前的Multiwfn手册4.12节中明确说过怎么借用cubegen工具来显著节约耗时,但是大部分国内用户似乎不怎么看手册,而且手动调用cubegen对一些不懂什么是命令行界面的初学者来说“有难度”。

为了用户便利地显著降低静电势分析耗时,在2018-Aug-18于Multiwfn主页http://sobereva.com/multiwfn更新的Multiwfn 3.6(dev)版中,settings.ini文件里新加入了一个参数cubegenpath,如果这个参数被设为了本机的实际cubegen路径(Windows下的格式比如"D:\study\G16W\cubegen.exe",Linux下的格式比如"/sob/g09/cubegen"),而且你的输入文件是fch或fchk,当Multiwfn做以下分析时,将直接自动调用cubegen代替Multiwfn内部代码计算静电势,使得总耗时有巨大下降,特别是对于大体系。
(1) 绘制静电势曲线(主功能3)
(2) 绘制静电势平面图(主功能4)
(3) 各种需要计算静电势格点数据的功能(例如用主功能5计算静电势格点数据、用主功能17对静电势做盆分析、用主功能200的子功能14对静电势做域分析等)
(4) 计算拟合静电势电荷,目前包括MK、CHELPG和RESP (主功能7的相应子功能)
(5) 计算TrEsp原子跃迁电荷(如何实现见手册4.A.9)
(6) 对静电势做定量分子表面分析(主功能12)
Multiwfn还有很多其它和静电势有关的分析,但由于计算量小,就没有考虑借用cubegen算静电势。

经测试G09和G16的cubegen都可以直接调用,而且计算结果和基于Multiwfn内部代码算的静电势完全相同。G09自带的cubegen有bug,并行模式运行时结果往往诡异,因此对G09的cubegen,Multiwfn在调用时采用串行方式计算,只有用G16的cubegen时才用并行方式计算(并行核数和settings.ini里的nthreads相同)。Multiwfn通过判断cubegenpath里有无g16或G16字样来判断是G09还是G16的cubegen。

如果你不是Gaussian用户,但又想通过如上方式节约静电势计算时间,那么可以先用Multiwfn把其它量化程序产生的.molden文件、GAMESS-US或firefly输出文件(.gms)这些含有基函数信息的文件用Multiwfn转化为.fch格式,再用此fch文件作为输入文件即可。转换方式见《详谈Multiwfn支持的输入文件类型、产生方法以及相互转换》(http://sobereva.com/379)。

顺带一提,cubegen支持的各种实空间函数中,只有静电势计算速度快于Multiwfn,其它函数(如电子密度、电子密度拉普拉斯函数、分子轨道波函数等)的计算速度都远慢于Multiwfn,而且cubegen对于静电势以外的函数在计算时没法并行,故Multiwfn计算其它函数的时候不会考虑利用cubegen。

由于目前Multiwfn可以直接调用cubegen了,因此之前手册4.12.7节介绍的用户手动在命令行下调用cubegen降低静电势耗时的做法已被废除,不再被支持,手册这一节已被删去。

cubegenpath设置示例
1.png

Multiwfn在分子表面静电势分析时自动调用cubegen时的截图
2.png

注意事项1:如果Multiwfn借用cubegen的时候算小体系没问题,但算大体系的时候中途崩溃,有可能是cubegen可用内存不足所致。解决办法是通过GAUSS_MEMDEF环境变量设置cubegen可用内存量,见《巨大体系的范德华表面静电势图的快速绘制方法》(http://sobereva.com/481)中关于GAUSS_MEMDEF的说明。

注意事项2:cubegen计算静电势是基于.fch文件里的密度矩阵实现的。有的时候.fch文件里有多种密度矩阵,默认情况下使用SCF密度矩阵。如果你做的是后HF、TDDFT等计算,为了计算后HF波函数或激发态波函数的静电势,你需要修改settings.ini里的cubegendenstype参数成为对应的密度矩阵标识。比如,你用# MP2/cc-pVTZ density关键词产生了.fch文件,那么里面既有SCF密度矩阵也有MP2密度矩阵,如果你不改cubegendenstype参数,那么利用cubegen算的静电势将是HF级别的;如果你把cubegendenstype参数改为MP2,则cubegen算的静电势将是MP2级别的。更多关于.fch文件里密度矩阵的信息见《在Multiwfn中基于fch产生自然轨道的方法与激发态波函数、自旋自然轨道分析实例》(http://sobereva.com/403)文中的说明。

注意事项3:如果你通过Multiwfn里的某些功能对波函数进行了修改,比如通过主功能6里的子功能26对轨道占据数进行了修改,之后通过调用cubegen算的静电势将还是对应最初波函数的,因为.fch文件的内容没有被修改。如果你想基于修改过的波函数借用cubegen计算静电势,则应当在修改波函数后先用主功能100的子功能2把当前波函数导出为.fch文件,此文件中的SCF密度矩阵将对应于当前波函数,因此若再将导出的这个.fch文件作为输入文件借用cubegen计算静电势,对应的就是修改后的波函数的情况。




PS:之前肯定有人也直接用过cubegen计算静电势.cub文件,但通过Multiwfn调用cubegen来计算静电势.cub文件,比直接用cubegen计算静电势.cub文件要好的多得多,有这些原因:
(1)Multiwfn全交互式操作,每一步提示超级明白易懂,因此不需要像用cubegen那样记忆命令行
(2)Multiwfn在设定格点方面超级灵活,选项十分丰富,无论想怎么设格点,都能找到对应的选项可用。反之cubegen在设定格点方面很笨拙、非常死板、不人性化,我在此帖的回帖中有更多说明:http://bbs.keinsci.com/thread-10685-1-1.html
(3)Multiwfn调用cubegen算完静电势格点数据后可以不借助第三方工具就直接绘制成等值面,还可以计算对应变形密度(deformation density)的静电势,对一些讨论颇有用,见比如《静电效应主导了氢气、氮气二聚体的构型》(http://sobereva.com/209)。

评分 Rate

参与人数
Participants 10
eV +49 收起 理由
Reason
灰天皮匠 + 5 精品内容
aqhuangry + 5 赞!
三迩- + 5 赞!
yjmaxpayne + 5 赞!
zsu007 + 5 赞!
FETEYA + 4 赞!
exity + 5 精品内容
captain + 5 谢谢
978142355 + 5 GJ!
kulaomega + 5 牛!

查看全部评分 View all ratings

北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

312

帖子

1

威望

3108

eV
积分
3440

Level 5 (御坂)

发表于 Post on 2018-8-18 09:56:59 | 显示全部楼层 Show all
+10086!

62

帖子

0

威望

559

eV
积分
621

Level 4 (黑子)

发表于 Post on 2018-8-18 10:15:37 | 显示全部楼层 Show all
厉害,这个得尝试一下

23

帖子

0

威望

2713

eV
积分
2736

Level 5 (御坂)

发表于 Post on 2018-8-18 19:41:10 | 显示全部楼层 Show all
现在真的是快了很多很多啊

1020

帖子

0

威望

3510

eV
积分
4530

Level 6 (一方通行)

发表于 Post on 2018-8-20 11:58:38 来自手机 | 显示全部楼层 Show all
有没有可能把cubegen集成到multiwfn中?

4万

帖子

99

威望

4万

eV
积分
89933

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2018-8-20 22:55:04 | 显示全部楼层 Show all
granvia 发表于 2018-8-20 11:58
有没有可能把cubegen集成到multiwfn中?

没有可能,那是侵权的
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

4万

帖子

99

威望

4万

eV
积分
89933

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2018-8-30 02:48:15 | 显示全部楼层 Show all
今日又更新了Multiwfn,同步地更新了本帖。settings.ini里增加了cubegendenstype参数,可以设定cubegen利用.fch里哪个级别的密度矩阵来计算静电势。而且还支持了借用cubegen计算TrEsp原子跃迁电荷,用此电荷可以快速而且校准地计算激子耦合能。
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

36

帖子

0

威望

1318

eV
积分
1354

Level 4 (黑子)

发表于 Post on 2018-9-13 10:13:39 | 显示全部楼层 Show all
太感谢了,真的是快了

9

帖子

0

威望

197

eV
积分
206

Level 3 能力者

发表于 Post on 2018-9-13 11:46:39 | 显示全部楼层 Show all
sob老师,请问一下,高斯处理chk文件的时候,必须等高斯计算完毕吗?不能设定参数后,高斯计算几分钟,然后强行终止,利用产生的chk文件转化为fch文件后在Multiwfn中计算吗?

9

帖子

0

威望

197

eV
积分
206

Level 3 能力者

发表于 Post on 2018-9-13 14:05:44 | 显示全部楼层 Show all
sob老师,我下载最新的Multiwfn,计算高斯得到fchk文件,显示the cubegen can not be found,我的高斯是09w版本的,然后我尝试把settings_ini文件中的您的高斯位置在d盘,我改成我的高斯安装位置c盘,还是显示thecubegen can not be found,是什么原因无法调用cubegen,是高斯版本的原因还是设置原因?

4万

帖子

99

威望

4万

eV
积分
89933

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2018-9-14 05:17:19 | 显示全部楼层 Show all
tianpingpei 发表于 2018-9-13 11:46
sob老师,请问一下,高斯处理chk文件的时候,必须等高斯计算完毕吗?不能设定参数后,高斯计算几分钟,然后 ...

显然不行
思路清奇
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

4万

帖子

99

威望

4万

eV
积分
89933

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2018-9-14 05:20:03 | 显示全部楼层 Show all
tianpingpei 发表于 2018-9-13 14:05
sob老师,我下载最新的Multiwfn,计算高斯得到fchk文件,显示the cubegen can not be found,我的高斯是09w ...

没版本的事,Multiwfn调用不了cubegen纯粹是cubegenpath路径没写对而已
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

586

帖子

0

威望

4119

eV
积分
4705

Level 6 (一方通行)

发表于 Post on 2019-4-18 16:52:52 | 显示全部楼层 Show all
sobereva 发表于 2018-9-14 05:20
没版本的事,Multiwfn调用不了cubegen纯粹是cubegenpath路径没写对而已

cubegenpath路径是服务器装g16的路径吗?

4万

帖子

99

威望

4万

eV
积分
89933

管理员

公社社长+计算化学玩家

 楼主 Author| 发表于 Post on 2019-4-18 17:17:56 | 显示全部楼层 Show all
15whyhq 发表于 2019-4-18 16:52
cubegenpath路径是服务器装g16的路径吗?

不是路径,而是要指向g16那个可执行文件名
北京科音自然科学研究中心http://www.keinsci.com)致力于计算化学的发展和传播,长期开办最高质量的各种计算化学类培训:初级量子化学培训班基础(中级)量子化学培训班分子动力学与GROMACS培训班量子化学波函数分析与Multiwfn程序培训班,内容介绍以及往届资料购买请点击链接查看。这些培训是计算化学从零快速入门以及进一步全面系统性提升研究水平的最佳途径。培训各种常见问题见《北京科音办的培训班FAQ》
欢迎加入“北京科音”微信公众号获取培训最新消息、避免错过网上最有价值的计算化学文章!
欢迎加入人气最高、水准最高的综合性理论与计算化学交流QQ群“思想家公社QQ群”:1号:18616395,2号:466017436,3号:764390338,搜索群号能搜到哪个说明目前哪个能加,合计9000人,讨论范畴相同
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最强大的量子化学波函数分析程序)
ResearchGate:https://www.researchgate.net/profile/Tian_Lu
Money and papers are rubbish, get a real life!

375

帖子

2

威望

1525

eV
积分
1940

Level 5 (御坂)

发表于 Post on 2019-4-25 23:13:11 | 显示全部楼层 Show all
本帖最后由 wuzhiyi 于 2019-4-25 23:44 编辑

想问一下我对一个东西算单点# M062X/gen EmpiricalDispersion=GD3 Counterpoise=3
然后想用Multiwfn借用cubegen来计算原子电荷
却出现错误
Running: /system/software/linux-x86_64/gaussian/g16/A.03__pgi_16.5__atlas/g16/cubegen    4 potential=SCF "HIP_E127_Y158H.fch" ESPresult.cub -5 h < cubegenpt.txt > nouseout
sh: line 1:  3382 Segmentation fault      (core dumped) /system/software/linux-x86_64/gaussian/g16/A.03__pgi_16.5__atlas/g16/cubegen 4 potential=SCF "HIP_E127_Y158H.fch" ESPresult.cub -5 h < cubegenpt.txt > nouseout
在nouseout文件里显示
Will use up to     4 threads.
Top CubeGen          Thu Apr 25 15:57:34 2019
Aft UFChkP           Thu Apr 25 15:58:09 2019      139.98 cpu,       34.99 elapsed
Could not find " ","Total SCF Density" on formatted checkpoint file.
Error termination via Lnk1e at Thu Apr 25 15:58:10 2019.
想问一下这如何解决? 谢谢
因为体系中有负电荷所以算结合能的时候加上了弥散,我知道如果算Mulliken的话,不能加弥散,但不太清楚算MK,CHELPG或者RESP的时候,加弥散有没有坏处,因为单点已经算好了,所以想能不能循环利用一下chk文件。

本版积分规则 Credits rule

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

GMT+8, 2023-2-5 10:03 , Processed in 0.223202 second(s), 25 queries .

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