
复现下文献标题How to design a zero-degradation battery bycompensating for loss of lithium inventory in LFPcells with LFO additives但是没有找到LFO的开路电压数据集LFP直接调用了Prada2013参数集也没有选择电压滞后简单做个仿真importpybammimportnumpyasnpimportmatplotlib.pyplotasplt# 1. LFO找不到开路电压数据开编sto_datanp.array([0.00,0.02,0.05,0.10,0.20,0.30,0.40,0.50,0.60,0.70,0.80,0.90,0.95,0.98,1.00])ocp_datanp.array([4.50,# sto0.00: 充电截止完全脱锂4.35,# sto0.02: 极化迅速下降段4.15,# sto0.054.05,# sto0.10: 进入第二平台 (4.0V 附近)3.98,# sto0.20: 维持第二平台3.92,# sto0.30: 平台末端3.75,# sto0.40: 两个平台之间的过渡段3.60,# sto0.50: 逼近第一平台3.52,# sto0.60: 进入第一平台 (3.5V 附近)3.49,# sto0.70: 维持第一平台3.47,# sto0.80: 平台末端3.42,# sto0.90: 开始迅速掉电压3.20,# sto0.952.80,# sto0.982.50# sto1.00: 放电状态完全嵌锂])# 封装为接收 sto 变量的函数匹配模型参数接口deflfo_ocp(sto):returnpybamm.Interpolant(sto_data,ocp_data,sto,nameLFO_OCP,interpolatorcubic)# 2. 定义 LFO 的交换电流密度deflfo_exchange_current_density(c_e,c_s_surf,c_s_max,T):m_LFO13.86e-7returnm_LFO*pybamm.sqrt(c_e*c_s_surf*(c_s_max-c_s_surf))# # 3. 设置 PyBaMM 模型选项 (Model Options)# model_options{# 负极为单相(石墨)正极为双相 (相1: LFP, 相2: LFO)particle phases:(1,2),# 直接用参数集假设LFP不存在滞后现象open-circuit potential:(single,(single,single)),# 动力学设置LFO 是不可逆单向脱锂所以使用 Tafel 方程intercalation kinetics:symmetric Butler-Volmer}# 实例化 DFN 模型modelpybamm.lithium_ion.DFN(model_options)#打印所有的子模块名称#print(model.submodels.keys())# 2. 强行把 LFO (Secondary phase) 的动力学子模型替换为你查到的 ForwardTafel 类model.submodels[positive secondary interface]pybamm.kinetics.ForwardTafel(model.param,domainpositive,reactionlithium-ion main,optionsmodel.options,phasesecondary)# 3. 手动完成模型构建model.update()# 4. 参数实例化与 LFO 属性重写 (Parameterization)parampybamm.ParameterValues(Prada2013)# 覆盖并添加 LFO (Secondary phase) 相关的文献参数param.update({# --- 体积与几何参数 ---Secondary: Positive electrode active material volume fraction:pybamm.InputParameter(LFO_fraction),Secondary: Positive particle radius [m]:50e-8,# --- 浓度限制 ---Secondary: Maximum concentration in positive electrode [mol.m-3]:22806.0*5.1,Secondary: Initial concentration in positive electrode [mol.m-3]:22806.0*5.0,# --- 固相扩散参数 ---Secondary: Positive particle diffusivity [m2.s-1]:9.83e-19,# --- 动力学与热力学参数 ---Secondary: Positive electrode OCP [V]:lfo_ocp,Secondary: Positive electrode exchange-current density [A.m-2]:lfo_exchange_current_density,# 将 LFO (Secondary phase) 的传递系数设定为 1.0 (阳极传递系数配合 Tafel 动力学)Secondary: Positive electrode charge transfer coefficient:1.0,Secondary: Positive electrode OCP entropic change [V.K-1]:3,},check_already_existsFalse)print(复合正极模型(LFP-LFO)构建完成等待 LFO OCP 数据输入。)experimentpybamm.Experiment([Charge at 0.5C until 4.2V])simpybamm.Simulation(model,parameter_valuesparam,experimentexperiment)sim.solve(inputs{LFO_fraction:0.04*0.374}) sim.plot([ Terminal voltage [V], Positive primary particle surface concentration [mol.m-3], Positive secondary particle surface concentration [mol.m-3] ]) solsim.solution Q_DCsol[Discharge capacity [A.h]].entries Q_CC-(Q_DC-Q_DC[0])V_cellsol[Terminal voltage [V]].entries ocp_lfpsol[X-averaged positive electrode primary open-circuit potential [V]].entries ocp_lfosol[X-averaged positive electrode secondary open-circuit potential [V]].entries ocp_negsol[X-averaged negative electrode open-circuit potential [V]].entries c_lfo_percentsol[Total lithium in secondary phase in positive electrode [mol]].entries/sol[Total lithium in secondary phase in positive electrode [mol]].entries[0]fig,ax1plt.subplots(1,1,figsize(8,10))ax1.plot(Q_CC,V_cell,colorblack,labelcell voltage)ax1.plot(Q_CC,ocp_lfp,colorblue,linestyle--,labelocp_lfp)ax1.plot(Q_CC,ocp_lfo,colorgreen,linestyle-.,labelocp_lfo)ax1.legend(loclower right,fontsize10)ax1.set_ylim(2.2,4.5)fromplot_templateimportplot_single_y plot_single_y(Q_CC,ocp_neg,xlabelQ,ylabelocp_neg,legend_labelsocp_neg)plot_single_y(Q_CC,c_lfo_percent,xlabelQ,ylabelc_lfo_percent,legend_labelsc_lfo_percent)plt.show()