Python脚本提取数据绘制电化学台阶图
在多相电催化体系(如OER、ORR)计算中,经常需要计算吉布斯自由能及不同电势下的自由能变化,并绘制台阶图。由于手动复制粘贴电子能及自由能校正数据、手动计算U=1.23eV下的自由能繁琐且容易出错。为了偷懒,写了个Python小程序,可以方便快速地提取并计算出过电势,绘制出台阶图。
文件夹格式
当前文件下存放OER.py脚本及各个模型的文件夹,如model1,model2,model3
每个模型文件夹下存放各个反应物种的文件夹,如v,OH,O,OOH
每个反应物种文件夹下存放opt和freq两个文件夹,需包含结构优化和频率计算的vasp输出文件OUTCAR
脚本运行
运行环境:Python3
在所在文件夹运行python OER.py,如下图:
程序进入用户待输入状态,选择反应类型,1为OER,2为ORR, 3为NRR
接下来提示输入反应条件pH值
然后提示输入反应模型文件夹的名字,用空格隔开;或者敲击Enter键,程序自动扫描当前文件夹下的所有文件夹,
若为NRR反应,由于反应路径比较复杂,程序会要求输入各个反应中间体名字
程序运行时,程序会打印出每个反应中间体的自由能校正信息,若有虚频或非常小的频率,程序会给出warning信息
程序运行结束时,会打印出每个反应模型的过电势值,并将各个物种的能量信息保存到Energy.dat文件中,并绘制出电化学台阶图
台阶图微调
若反应模型较多,能量值标签很容易重叠,可选择不显示能量值标签,可在OER.py脚本中搜索plot_Reaction函数,将其中的TextLabel变量值修改为False
其他绘图信息也可在plot_Reaction函数中修改