计算化学公社

 找回密码 Forget password
 注册 Register
Views: 2080|回复 Reply: 9
打印 Print 上一主题 Last thread 下一主题 Next thread

[CASTEP/Dmol3/MS] 求助Dmol3计算单原子催化剂NRR时,反应过程中如何计算自由能

[复制链接 Copy URL]

30

帖子

0

威望

271

eV
积分
301

Level 3 能力者

如果整个结构计算频率,会把所有原子考虑进去,这样的自由能修正肯定不准确
但是选择partial Hessian计算时,out文件又不会输出最后的自由能分析。
求助计算吸附后分子自由能修正计算的方法。

1662948989070.jpg (19.84 KB, 下载次数 Times of downloads: 23)

1662948989070.jpg

1662948958730.jpg (19.95 KB, 下载次数 Times of downloads: 23)

1662948958730.jpg

30

帖子

0

威望

271

eV
积分
301

Level 3 能力者

10#
 楼主 Author| 发表于 Post on 2022-9-13 08:21:30 | 只看该作者 Only view this author
卡开发发 发表于 2022-9-12 20:21
上面输出G是correction的部分,实际总的Gtot可以这样算
Gtot=Gcorr+Eele,Eele是电子自洽场计算的能量。 ...

索嘎,谢谢老师

401

帖子

0

威望

2551

eV
积分
2952

Level 5 (御坂)

所念皆星河

9#
发表于 Post on 2022-9-12 23:56:12 | 只看该作者 Only view this author
卡开发发 发表于 2022-9-12 22:14
没有,我说的其实比较零散且了解比较有限,如果你感兴趣可以看看Phonopy和ASE给的公式和资料,也许会有些 ...

老师自谦啦,谢谢您推荐的资料~
心之所向,日复一日,必有精进

3809

帖子

3

威望

1万

eV
积分
20343

Level 6 (一方通行)

围观吃瓜群众

8#
发表于 Post on 2022-9-12 22:14:48 | 只看该作者 Only view this author
含光君 发表于 2022-9-12 22:01
发发老师讲得很明白,比学校统计热力学课清晰太多太多,非常受益!

没有,我说的其实比较零散且了解比较有限,如果你感兴趣可以看看Phonopy和ASE给的公式和资料,也许会有些帮助。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

401

帖子

0

威望

2551

eV
积分
2952

Level 5 (御坂)

所念皆星河

7#
发表于 Post on 2022-9-12 22:01:29 | 只看该作者 Only view this author
卡开发发 发表于 2022-9-12 20:21
上面输出G是correction的部分,实际总的Gtot可以这样算
Gtot=Gcorr+Eele,Eele是电子自洽场计算的能量。 ...

发发老师讲得很明白,比学校统计热力学课清晰太多太多,非常受益!
心之所向,日复一日,必有精进

3809

帖子

3

威望

1万

eV
积分
20343

Level 6 (一方通行)

围观吃瓜群众

6#
发表于 Post on 2022-9-12 20:21:07 | 只看该作者 Only view this author
本帖最后由 卡开发发 于 2022-9-12 20:22 编辑
462855 发表于 2022-9-12 20:06
老师,一般G=E+EZPE-TS,这个H我不知道怎么加进去,能说明白一点吗?

上面输出G是correction的部分,实际总的Gtot可以这样算
Gtot=Gcorr+Eele,Eele是电子自洽场计算的能量。
G=Eele+ZPE-TS只是个近似公式,其中Eele+ZPE是近似的H(0),其实少了H(0->T)的部分。
如果偷懒一点,上述代码中HarmonicThermo(vib_energies)当中其实可以改为HarmonicThermo(vib_energies,potential),这个potential可以把电子的自洽场能量换算为eV单位代进去。
日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

30

帖子

0

威望

271

eV
积分
301

Level 3 能力者

5#
 楼主 Author| 发表于 Post on 2022-9-12 20:06:12 | 只看该作者 Only view this author
含光君 发表于 2022-9-12 13:12
把频率分析文件中的实频记录下来按下图公式计算,注意能量单位的转化。

老师,一般G=E+EZPE-TS,这个H我不知道怎么加进去,能说明白一点吗?

30

帖子

0

威望

271

eV
积分
301

Level 3 能力者

4#
 楼主 Author| 发表于 Post on 2022-9-12 20:05:19 | 只看该作者 Only view this author
卡开发发 发表于 2022-9-12 18:02
用python的ase包就能很简单解决,给个简单的例子:

输出结果:

好厉害,谢谢老师

3809

帖子

3

威望

1万

eV
积分
20343

Level 6 (一方通行)

围观吃瓜群众

3#
发表于 Post on 2022-9-12 18:02:47 | 只看该作者 Only view this author
本帖最后由 卡开发发 于 2022-9-12 18:30 编辑

用python的ase包就能很简单解决,给个简单的例子:
  1. import numpy as np
  2. from ase.thermochemistry import HarmonicThermo

  3. """
  4. Ex:
  5.      vibrational frequencies,                          intensities
  6.   mode     au_amu        cm-1         meV         THz      km/mol
  7.     1   -0.047478      -244.1      -30.26      -7.317      105.12
  8.     2   -0.017344       -89.2      -11.05      -2.673       83.42
  9.     3   -0.000089        -0.5       -0.06      -0.014        0.00
  10.     4    0.000044         0.2        0.03       0.007        0.00
  11.     5    0.000075         0.4        0.05       0.012        0.00
  12.     6    0.017593        90.4       11.21       2.711       66.41
  13.     7    0.314760      1618.0      200.61      48.507       76.57
  14.     8    0.723107      3717.1      460.87     111.437       66.40
  15.     9    0.745950      3834.6      475.43     114.957      457.09
  16. """
  17. # 读取meV那一列,并且去除前6个平动+转动自由度的贡献
  18. vib_energies=[200.61,460.87,475.43]
  19. # meV->eV
  20. vib_energies=np.array(vib_energies)/1000
  21. thermo=HarmonicThermo(vib_energies)
  22. # 计算298.15K下的振动自由能(含ZPE)
  23. FreeE=thermo.get_helmholtz_energy(298.15)
复制代码

输出结果:
  1. Internal energy components at T = 298.15 K:
  2. ===============================
  3. E_pot                  0.000 eV
  4. E_ZPE                  0.568 eV
  5. Cv_harm (0->T)         0.000 eV
  6. -------------------------------
  7. U                      0.569 eV
  8. ===============================


  9. Entropy components at T = 298.15 K:
  10. =================================================
  11.                            S               T*S
  12. S_harm             0.0000003 eV/K        0.000 eV
  13. -------------------------------------------------
  14. S                  0.0000003 eV/K        0.000 eV
  15. =================================================

  16. Free energy components at T = 298.15 K:
  17. =======================
  18.     U          0.569 eV
  19. -T*S         -0.000 eV
  20. -----------------------
  21.     F          0.568 eV
  22. =======================
复制代码


上面还有修改的余地,例如增设argparse来直接做成个外部读入文件和参数的程序,以及可以通过正则表达式re模块从outmol抓取频率信息。
另外涉及到的公式是2楼的公式,具体底层实现你可以看HarmonicThermo类其中的源码部分

另外需要指明的问题是:
如果整个结构计算频率,会把所有原子考虑进去,这样的自由能修正肯定不准确
1、这个说法并不合理,如果假定整个体系是符合谐振近似的,那么应当计算热化学过程考虑整个体系的Hessian矩阵,即便不符合近似的条件,仅通过不考虑非活性区域部分对振动模式的贡献也不能得到正确的结果,甚至会影响到你吸附分子的振动模式(因为吸附分子会和表面的原子发生作用,振动模式很难解除耦合)。这在数学上比较容易理解,其实做partial Hessian只是相当于full Hessian的一个子空间,频率计算要对角化Hessian矩阵,若两者要得到相同的本征值则必须保证你关注的活性区域和其他非活性区域在Hessian矩阵中是可以分块的,比方说一个很弱的物理吸附也许能够满足这样的条件,否则可能需要考虑分子吸附时周围相互作用更多的原子,才有可能具备上述条件。很多文章这么算的原因不是准确与否这样的原因,而是振动频率计算代价确实很大。
2、上述公式成立的条件是振动态相对比较局域化,我们按照类似于分子那样去处理固体的振动,并且考虑其实固体表面是充分大。否则,整个计算也应当使用类似于超胞方法来进行完整的声子计算,在处理热化学数据的时候应该也要考虑布里渊区积分。

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
含光君 + 5 精品内容

查看全部评分 View all ratings

日常打哑谜&&探寻更多可能。
原理问题不公开讨论,非商业性质讨论欢迎私聊。不做培*,不接代*,不接*发谢谢。

401

帖子

0

威望

2551

eV
积分
2952

Level 5 (御坂)

所念皆星河

2#
发表于 Post on 2022-9-12 13:12:08 | 只看该作者 Only view this author
把频率分析文件中的实频记录下来按下图公式计算,注意能量单位的转化。



心之所向,日复一日,必有精进

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

GMT+8, 2026-2-21 00:52 , Processed in 0.241332 second(s), 25 queries , Gzip On.

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