【文献复现】-氧还原反应塔菲尔斜率绘制(文献阅读)

氧还原反应塔菲尔斜率绘制

本文主要是记录文献阅读与文献复现的内容,所阅读的文献为:Shinagawa_2015_Nature_Insight on Tafel slopes from a microkinetic analysis of aqueous electrocatalysis for energy conversion。这篇文献介绍了多个电化学反应(包括HER,OER,HOR,ORR)的塔菲尔斜率情况。在此,本文主要对ORR(氧还原反应)部分的模型进行复现。

氧还原反应模型

文章介绍氧还原反应部分模型主要是使用了碱性环境下的氧还原反应机理,依次假设反应第二、第三、第四步为决速步骤,讨论其塔菲尔斜率的变化。原文部分见下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模型复现

在此,为了加深理解,本人使用代码对模型进行了计算与图形化。这里主要复现了前两幅图,即:
在这里插入图片描述

代码及其结果见下:

import math
import numpy as np
import matplotlib.pyplot as plt
#如果第二步为决速步骤
#图形设置
fig=plt.figure(figsize=(6,4.5))
plt.rcParams['figure.figsize']=(6,4.5)
plt.rcParams['savefig.dpi'] = 600 #图片像素
plt.rcParams['figure.dpi'] = 600
plt.rcParams['font.sans-serif']=['Arial']
#参数设置
j=np.linspace(start=1, stop=500, num=500)#设置电流范围
overpotential_L=[]#建立空列表用于存储过电位
F=96500
n=1
T=298.15
R=8.314
k41_0=1
k40_0=0.9
k40_0_r=0.1
K40_0=k40_0/k40_0_r
alpha=0.5
P_O2=1
for i in j:
    overpotential=(np.log10(n*F*(K40_0*P_O2/(K40_0*P_O2+1))*k41_0/i))/alpha*F/R/T*np.log10(math.e)
    #print(overpotential)
    overpotential_L.append(overpotential)
plt.semilogx(j,overpotential_L)
font1 = {'family' : 'Arial',
         'weight' : 'normal',
         'size'   : 18,}
plt.xlabel('$\t{j}$ ($m$A cm$^{-2}$)',font1)
plt.ylabel('$\t{overpotential}$ (V)',font1)
plt.xticks(fontsize=16)#调整刻度数值显示角度
plt.yticks(fontsize=16)
plt.show()

【复现结果】
在这里插入图片描述

#如果第三步为决速步骤
#图形设置
fig=plt.figure(figsize=(6,4.5))
plt.rcParams['figure.figsize']=(6,4.5)
plt.rcParams['savefig.dpi'] = 600 #图片像素
plt.rcParams['figure.dpi'] = 600
plt.rcParams['font.sans-serif']=['Arial']
#参数设置
k42_0=1
k41_0=1
k41_0_r=0.1
k40_0=0.9
k40_0_r=0.1
K40_0=k40_0/k40_0_r
K41_0=k41_0/k41_0_r
P_O2=1
a_H2O=10
F=96500
n=1
T=298.15
R=8.314
j=np.linspace(start=1, stop=10000000, num=500)#设置电流范围
overpotential_L=[]#建立空列表用于存储过电位
theta2_L=[]
theta1_L=[]
theta0_L=[]
for i in j:
    overpotential=-R*T/F/np.log10(math.e)*(np.log10(i*(K40_0*P_O2+1)/n/F/k42_0)-np.log10(K40_0*K41_0*P_O2*a_H2O-i/n/F/k42_0*K40_0*K41_0*P_O2))
    overpotential_L.append(overpotential)
    theta2=K40_0*K41_0*P_O2*math.exp(-F/R/T*overpotential)/(K40_0*K41_0*P_O2*math.exp(-F/R/T*overpotential)+K40_0*P_O2+1)
    theta2_L.append(theta2)
    theta1=k41_0_r/k41_0*theta2
    theta1_L.append(theta1)
    theta0=1-theta2-theta1
    theta0_L.append(theta0)
plt.semilogx(j,overpotential_L)
font1 = {'family' : 'Arial',
         'weight' : 'normal',
         'size'   : 18,}
plt.xlabel('$\t{j}$ ($m$A cm$^{-2}$)',font1)
plt.ylabel('$\t{overpotential}$ (V)',font1)
plt.xticks(fontsize=16)#调整刻度数值显示角度
plt.yticks(fontsize=16)
plt.show()
plt.semilogx(j,theta2_L,label=r"$\theta$$\rm{_2}$")
plt.semilogx(j,theta1_L,label=r"$\theta$$\rm{_1}$")
plt.semilogx(j,theta0_L,label=r"$\theta$$\rm{_0}$")
plt.legend(frameon=False,fontsize='x-large')
plt.xlabel('$\t{j}$ ($m$A cm$^{-2}$)',font1)
plt.ylabel('$\t{coverage}$',font1)
plt.xticks(fontsize=16)#调整刻度数值显示角度
plt.yticks(fontsize=16)
plt.show()

【复现结果】
在这里插入图片描述
在这里插入图片描述
以上记录仅为个人理解,欢迎各位同学批评指正。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

electrochemjy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值