计算化学公社

 找回密码 Forget password
 注册 Register
Views: 7320|回复 Reply: 1

[辅助/分析程序] 拟合基频和ZPE校正因子、读取不同校正因子热力学数据的小程序

[复制链接 Copy URL]

1188

帖子

5

威望

2758

eV
积分
4046

Level 6 (一方通行)

发表于 Post on 2020-4-28 20:42:46 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 snljty 于 2022-2-7 13:21 编辑

不确定主题分类对不对...

卢老师在http://bbs.keinsci.com/thread-6907-1-1.html提到了Truhlar他们做的一个数据集,可以用来拟合基频和零点能的非谐振校正因子,并提到可能会写一个小程序直接拟合,不过考虑到卢老师日理万机,这种小程序大概没什么时间写的吧。最近正好要用这个功能,就自己写了一下,调用Gaussian程序。


代码稍微修改一下也可以用于别的软件,不过Gaussian的二阶解析导数计算效率还是比较好的。

代码不能说好看吧,但是应该也不是太丑。如果以后有了别的更好的数据集,改一下源代码中定义一共有几组数据的宏,和控制Gaussian输入文件的部分就行。
如果有简并的频率,数据集中应该只填写一个,这样比较合理。当本程序读取Gaussian输出文件时候发现简并或者(数值原因)接近简并的频率时,会自动取平均只保留一个数值。

使用方法,按照提示交互式使用即可。也可以直接在命令行参数输入计算级别。
使用前请务必保证你的Gaussian16安装目录比如C:\G16W\被加入了环境变量PATH,而且环境变量GAUSS_EXEDIR也被设置成了这个目录。具体的操作可以参考卢老师的http://bbs.keinsci.com/thread-577-1-1.html相关内容。

本程序会生成Gaussian的15个数据集优化和频率计算的输入文件,调用Gaussian计算,读取输出文件中的分子的频率,然后进行过原点的拟合并输出结果。
一个小的瑕疵是这里原理上不应该直接用(统计意义的线性)相关系数描述拟合效果,因为这是强制过原点的拟合。一个例子是{1, 2, 3, 4, 5}和{101, 102, 103, 104, 105}的r^2是1,但是显然没法画一条过原点的直线拟合。我不清楚Origin用的什么方法,改用决定系数而不是线性相关系数的平方似乎也不妥。一个思路是把所有数据取相反数再拼到一起,再计算线性相关系数。这时候直接用最小二乘回归和用强制过原点的线性回归结果显然相同。比如{-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5}和{-105, -104, -103, -102, -101, 0, 101, 102, 103, 104, 105}的r^2就只有0.83了。本程序目前没考虑这个问题,因此给出的r^2仅供参考。


GauFreqScalersFitter.zip (609.41 KB, 下载次数 Times of downloads: 14)

评分 Rate

参与人数
Participants 3
eV +17 收起 理由
Reason
丁越 + 5 牛!
sobereva + 8
thanhtam + 4 赞!

查看全部评分 View all ratings

4万

帖子

99

威望

4万

eV
积分
89975

管理员

公社社长+计算化学玩家

发表于 Post on 2020-4-29 01:43:56 | 显示全部楼层 Show all
这个目的的程序之前我的同事已经完成了(也是基于Python),内置了我专门汇总的非常大的数据集(是所有已发表的频率校正因子文章里用的数据集的并集,且手动去除了不可靠的数据,并且对有机和无机类型情况分类处理),直接可以拟合出高质量、可靠的校正因子,支持多种拟合形式(对不同频率区间考虑不同权重),可以对一批理论方法和一批基组一次性完成拟合,计算完的数据都会汇总成库可以重复利用。之后此程序会用来构建一个超大规模的、迄今最完整的频率校正因子数据库,届时数据库的文章和程序文章会一起发表。

一次性考虑不同频率校正因子之前我有个.sh脚本,在基础量化班里讲。现在我正在写的shermo 2.0直接支持了这个特征,并且直接读Gaussian输出文件从头来计算热力学量,免得用户忘了存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!

本版积分规则 Credits rule

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

GMT+8, 2023-2-7 04:08 , Processed in 0.197589 second(s), 25 queries .

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