卡开发发 发表于 2022-9-12 20:21 索嘎,谢谢老师 |
卡开发发 发表于 2022-9-12 22:14 老师自谦啦,谢谢您推荐的资料~ |
含光君 发表于 2022-9-12 22:01 没有,我说的其实比较零散且了解比较有限,如果你感兴趣可以看看Phonopy和ASE给的公式和资料,也许会有些帮助。 |
卡开发发 发表于 2022-9-12 20:21 发发老师讲得很明白,比学校统计热力学课清晰太多太多,非常受益! |
本帖最后由 卡开发发 于 2022-9-12 20:22 编辑 462855 发表于 2022-9-12 20:06 上面输出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单位代进去。 |
含光君 发表于 2022-9-12 13:12 老师,一般G=E+EZPE-TS,这个H我不知道怎么加进去,能说明白一点吗? |
卡开发发 发表于 2022-9-12 18:02 好厉害,谢谢老师 |
|
本帖最后由 卡开发发 于 2022-9-12 18:30 编辑 用python的ase包就能很简单解决,给个简单的例子:
输出结果:
上面还有修改的余地,例如增设argparse来直接做成个外部读入文件和参数的程序,以及可以通过正则表达式re模块从outmol抓取频率信息。 另外涉及到的公式是2楼的公式,具体底层实现你可以看HarmonicThermo类其中的源码部分。 另外需要指明的问题是: 如果整个结构计算频率,会把所有原子考虑进去,这样的自由能修正肯定不准确 2、上述公式成立的条件是振动态相对比较局域化,我们按照类似于分子那样去处理固体的振动,并且考虑其实固体表面是充分大。否则,整个计算也应当使用类似于超胞方法来进行完整的声子计算,在处理热化学数据的时候应该也要考虑布里渊区积分。 |
| 参与人数Participants 1 | eV +5 | 收起 理由Reason |
|---|---|---|
|
| + 5 | 精品内容 |
把频率分析文件中的实频记录下来按下图公式计算,注意能量单位的转化。
|
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2026-2-21 08:25 , Processed in 0.177158 second(s), 26 queries , Gzip On.