计算化学公社

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

[综合讨论] 一键绘制自由能台阶图的脚本

[复制链接 Copy URL]

77

帖子

1

威望

1938

eV
积分
2035

Level 5 (御坂)

(未经授权,禁止转载)

写了一个绘制自由能台阶图的脚本,见附件,对于电催化反应,可以设定电压直接进行修正。

参数说明:
      delatG2G函数:将ΔG转换为G,默认初态能量为0,电压为0
            输入参数:delta_G:计算得到的ΔG
                            initialEnergy:初态能量
                            voltage:电压修正
     PlotFreeEnergy函数:绘制自由能台阶图
            输入参数:FreeEnergy:自由能
                                     color:颜色

使用方法:
      使用时直接将delta_G数据 (第40行) 替换为自己计算的数据即可,如果有多种催化剂进行对比,直接复制第40~42行,修改对应的值即可。
      最后记得将labels (第49行) 和legend (第54行) 修改为自己的反应路径和体系。



PlotFreeEnergy.py (1.59 KB, 下载次数 Times of downloads: 140)



评分 Rate

参与人数
Participants 5
威望 +1 eV +17 收起 理由
Reason
gyp + 2 不明觉厉
luyao424 + 5 赞!
jianke + 5
ChemG + 5 GJ!
sobereva + 1

查看全部评分 View all ratings

215

帖子

0

威望

1097

eV
积分
1312

Level 4 (黑子)

2#
发表于 Post on 2024-3-31 16:34:01 | 只看该作者 Only view this author
这个需要安装绘图程序吗

77

帖子

1

威望

1938

eV
积分
2035

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2024-4-1 10:07:40 | 只看该作者 Only view this author
ddddnight 发表于 2024-3-31 16:34
这个需要安装绘图程序吗

需要带有matplotlib的Python3环境,直接装个Anaconda比较省事

215

帖子

0

威望

1097

eV
积分
1312

Level 4 (黑子)

4#
发表于 Post on 2024-4-1 22:47:45 | 只看该作者 Only view this author
wsz 发表于 2024-4-1 10:07
需要带有matplotlib的Python3环境,直接装个Anaconda比较省事

好的,感谢!

1

帖子

0

威望

123

eV
积分
124

Level 2 能力者

5#
发表于 Post on 2024-5-10 22:23:16 | 只看该作者 Only view this author
谢谢提供的脚本,这里有个问题想讨论一下,OER应该是H2O OH* O* OOH* O2。另外能否提供HER的脚本,谢谢!

77

帖子

1

威望

1938

eV
积分
2035

Level 5 (御坂)

6#
 楼主 Author| 发表于 Post on 2024-5-11 10:42:27 | 只看该作者 Only view this author
mywai520 发表于 2024-5-10 22:23
谢谢提供的脚本,这里有个问题想讨论一下,OER应该是H2O OH* O* OOH* O2。另外能否提供HER的脚本,谢谢!

不好意思,标签写反了,感谢指正。
HER就参考使用方法把对应的值替换一下即可,例如:

(1~37行,同上)
# HER1
delta_G1 = [-0.2, 0.2]
G1 = deltaG2G(delta_G1)
line1 = PlotFreeEnergy(G1, color='r')

# HER2
delta_G2 = [-0.1, 0.1]
G2 = deltaG2G(delta_G2)
line2 = PlotFreeEnergy(G2, color='b')

x = [2*i+0.5 for i in range(len(delta_G1)+1)]
print(x)
labels = ['*', r'*H', r'*']

plt.xlabel('Reaction Coordinate', fontsize=28)
plt.ylabel('Free Energy (eV)', fontsize=28)
plt.xticks(x, labels)
plt.legend([line1, line2], [r'HER1', r'HER2'], fontsize=24)

plt.show()
plt.savefig('Free energy diagram.png', dpi= 300, transparent=True)


本版积分规则 Credits rule

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

GMT+8, 2024-11-24 17:04 , Processed in 0.238270 second(s), 32 queries , Gzip On.

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