diff --git a/pybamm/input/parameters/lithium_ion/cells/UMBL_Siegel2022/parameters.csv b/pybamm/input/parameters/lithium_ion/cells/UMBL_Siegel2022/parameters.csv new file mode 100644 index 0000000000..b54375b56d --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/cells/UMBL_Siegel2022/parameters.csv @@ -0,0 +1,34 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Macroscale geometry,,, +Negative current collector thickness [m],1E-05,Siegel fukuda cu, +Negative electrode thickness [m],55.6E-06,Siegel2022, +Separator thickness [m],12E-06,MPM Etek 12EPH, +Positive electrode thickness [m],55.65E-06,Siegel2022, +Positive current collector thickness [m],1.5E-05,Scott Moura FastDFN,no info from Peyman MPM +Electrode height [m],106e-3,UMBL Pouch,Not needed for 1D +Electrode width [m],1.6320,UMBL Pouch,Not needed for 1D 24*68e-3 12 layer pouch +Cell cooling surface area [m2],0.41,,pouch +Cell volume [m3],3.92E-5,,pouch +,,, +# Current collector properties ,,, +Negative current collector conductivity [S.m-1],59600000,LIONSIMBA,carbon +Positive current collector conductivity [S.m-1],35500000,LIONSIMBA,aluminium +,,, +# Density,,, +Negative current collector density [kg.m-3],8954,, +Positive current collector density [kg.m-3],2707,, +,,, +# Specific heat capacity,,, +Negative current collector specific heat capacity [J.kg-1.K-1],385,, +Positive current collector specific heat capacity [J.kg-1.K-1],897,, +,,, +# Thermal conductivity,,, +Negative current collector thermal conductivity [W.m-1.K-1],401,, +Positive current collector thermal conductivity [W.m-1.K-1],237,, +,,, +# Electrical,,, +Nominal cell capacity [A.h],3.5,Peyman MPM, +Typical current [A],3.5,,1C current +Current function [A],3,default current function, diff --git a/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/__init__.py b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_diffusivity_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_diffusivity_PeymanMPM.py new file mode 100644 index 0000000000..16880068e8 --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_diffusivity_PeymanMPM.py @@ -0,0 +1,30 @@ +from pybamm import exp, constants + + +def graphite_diffusivity_PeymanMPM(sto, T): + """ + Graphite diffusivity as a function of stochiometry, in this case the + diffusivity is taken to be a constant. The value is taken from Peyman MPM. + + References + ---------- + .. [1] http://www.cchem.berkeley.edu/jsngrp/fortran.html + + Parameters + ---------- + sto: :class:`pybamm.Symbol` + Electrode stochiometry + T: :class:`pybamm.Symbol` + Dimensional temperature + + Returns + ------- + :class:`pybamm.Symbol` + Solid diffusivity + """ + + D_ref = 5.0 * 10 ** (-15) + E_D_s = 42770 + arrhenius = exp(E_D_s / constants.R * (1 / 298.15 - 1 / T)) + + return D_ref * arrhenius diff --git a/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_electrolyte_exchange_current_density_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_electrolyte_exchange_current_density_PeymanMPM.py new file mode 100644 index 0000000000..a2b559ef30 --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_electrolyte_exchange_current_density_PeymanMPM.py @@ -0,0 +1,37 @@ +from pybamm import exp, constants + + +def graphite_electrolyte_exchange_current_density_PeymanMPM(c_e, c_s_surf, c_s_max, T): + """ + Exchange-current density for Butler-Volmer reactions between graphite and LiPF6 in + EC:DMC. + Check the unit of Reaction rate constant k0 is from Peyman MPM. + + References + ---------- + .. [2] http://www.cchem.berkeley.edu/jsngrp/fortran.html + + Parameters + ---------- + c_e : :class:`pybamm.Symbol` + Electrolyte concentration [mol.m-3] + c_s_surf : :class:`pybamm.Symbol` + Particle concentration [mol.m-3] + c_s_max : :class:`pybamm.Symbol` + Maximum particle concentration [mol.m-3] + T : :class:`pybamm.Symbol` + Temperature [K] + + Returns + ------- + :class:`pybamm.Symbol` + Exchange-current density [A.m-2] + """ + m_ref = 1.061 * 10 ** (-6) # unit has been converted + # units are (A/m2)(mol/m3)**1.5 - includes ref concentrations + E_r = 37480 + arrhenius = exp(E_r / constants.R * (1 / 298.15 - 1 / T)) + + return ( + m_ref * arrhenius * c_e**0.5 * c_s_surf**0.5 * (c_s_max - c_s_surf) ** 0.5 + ) diff --git a/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_entropic_change_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_entropic_change_PeymanMPM.py new file mode 100644 index 0000000000..f857100eee --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_entropic_change_PeymanMPM.py @@ -0,0 +1,28 @@ +def graphite_entropic_change_PeymanMPM(sto, c_s_max): + """ + Graphite entropic change in open circuit potential (OCP) at a temperature of + 298.15K as a function of the stochiometry taken from [1] + + References + ---------- + .. [1] K.E. Thomas, J. Newman, "Heats of mixing and entropy in porous insertion + electrode", J. of Power Sources 119 (2003) 844-849 + + Parameters + ---------- + sto : :class:`pybamm.Symbol` + Stochiometry of material (li-fraction) + + """ + + du_dT = 10 ** (-3) * ( + 0.28 + - 1.56 * sto + - 8.92 * sto ** (2) + + 57.21 * sto ** (3) + - 110.7 * sto ** (4) + + 90.71 * sto ** (5) + - 27.14 * sto ** (6) + ) + + return du_dT diff --git a/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_ocp_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_ocp_PeymanMPM.py new file mode 100644 index 0000000000..d63fffe337 --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/graphite_ocp_PeymanMPM.py @@ -0,0 +1,31 @@ +import pybamm + + +def graphite_ocp_PeymanMPM(sto): + """ + Graphite Open Circuit Potential (OCP) as a function of the + stochiometry. The fit is taken from Peyman MPM [1]. + + References + ---------- + .. [1] Peyman Mohtat et al, MPM (to be submitted) + """ + + u_eq = ( + 0.063 + + 0.8 * pybamm.exp(-75 * (sto + 0.001)) + - 0.0120 * pybamm.tanh((sto - 0.127) / 0.016) + - 0.0118 * pybamm.tanh((sto - 0.155) / 0.016) + - 0.0035 * pybamm.tanh((sto - 0.220) / 0.020) + - 0.0095 * pybamm.tanh((sto - 0.190) / 0.013) + - 0.0145 * pybamm.tanh((sto - 0.490) / 0.020) + - 0.0800 * pybamm.tanh((sto - 1.030) / 0.055) + ) + + return u_eq + + +# if __name__ == "__main__": # pragma: no cover +# x = pybamm.linspace(1e-10, 1 - 1e-10, 1000) +# # pybamm.plot(x, graphite_ocp_PeymanMPM(x)) +# pybamm.plot(x, -1e-8 * pybamm.log(x / (1 - x))) diff --git a/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/parameters.csv b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/parameters.csv new file mode 100644 index 0000000000..2f8162ba2f --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/negative_electrodes/graphite_UMBL_Siegel2022/parameters.csv @@ -0,0 +1,33 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Electrode properties,,, +Negative electrode conductivity [S.m-1],100,Scott Moura FastDFN,no info from Peyman MPM +Maximum concentration in negative electrode [mol.m-3],28746,Peyman MPM, +Negative electrode diffusion coefficient [m2.s-1],5.0E-15,Peyman MPM, +Negative electrode diffusivity [m2.s-1],[function]graphite_diffusivity_PeymanMPM,, +Negative electrode OCP [V],[function]graphite_ocp_PeymanMPM,Peyman MPM, +,,, +# Microstructure,,, +Negative electrode porosity,0.2,Siegel2022, +Negative electrode active material volume fraction,0.7545,Siegel2022,rest is binder +Negative particle radius [m],27E-06,Siegel2022, +Negative electrode Bruggeman coefficient (electrode),1.5,Peyman MPM, +Negative electrode Bruggeman coefficient (electrolyte),1.5,Peyman MPM, +Negative electrode transport efficiency, 0.16, +,,, +# Interfacial reactions,,, +Negative electrode cation signed stoichiometry,-1,,no info from Peyman MPM +Negative electrode electrons in reaction,1,,no info from Peyman MPM +Negative electrode reference exchange-current density [A.m-2(m3.mol)1.5],1.061E-6,Peyman MPM,convert unit +Negative electrode charge transfer coefficient,0.5,Peyman MPM, +Negative electrode double-layer capacity [F.m-2],0.2,,no info from Peyman MPM +Negative electrode exchange-current density [A.m-2],[function]graphite_electrolyte_exchange_current_density_PeymanMPM,, +,,, +# Density,,, +Negative electrode density [kg.m-3],3100,Peyman MPM, cell lumped value +,,, +# Thermal parameters,,, +Negative electrode specific heat capacity [J.kg-1.K-1],1100,Peyman MPM,cell lumped value +Negative electrode thermal conductivity [W.m-1.K-1],1.7,,no info from Peyman MPM +Negative electrode OCP entropic change [V.K-1],[function]graphite_entropic_change_PeymanMPM,, diff --git a/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_diffusivity_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_diffusivity_PeymanMPM.py new file mode 100644 index 0000000000..fc968d4e8e --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_diffusivity_PeymanMPM.py @@ -0,0 +1,30 @@ +from pybamm import exp, constants + + +def NMC_diffusivity_PeymanMPM(sto, T): + """ + NMC diffusivity as a function of stochiometry, in this case the + diffusivity is taken to be a constant. The value is taken from Peyman MPM. + + References + ---------- + .. [1] http://www.cchem.berkeley.edu/jsngrp/fortran.html + + Parameters + ---------- + sto: :class:`pybamm.Symbol` + Electrode stochiometry + T: :class:`pybamm.Symbol` + Dimensional temperature + + Returns + ------- + :class:`pybamm.Symbol` + Solid diffusivity + """ + + D_ref = 8 * 10 ** (-15) + E_D_s = 18550 + arrhenius = exp(E_D_s / constants.R * (1 / 298.15 - 1 / T)) + + return D_ref * arrhenius diff --git a/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_electrolyte_exchange_current_density_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_electrolyte_exchange_current_density_PeymanMPM.py new file mode 100644 index 0000000000..6589674140 --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_electrolyte_exchange_current_density_PeymanMPM.py @@ -0,0 +1,35 @@ +from pybamm import exp, constants + + +def NMC_electrolyte_exchange_current_density_PeymanMPM(c_e, c_s_surf, c_s_max, T): + """ + Exchange-current density for Butler-Volmer reactions between NMC and LiPF6 in + EC:DMC. + + References + ---------- + .. Peyman MPM manuscript (to be submitted) + + Parameters + ---------- + c_e : :class:`pybamm.Symbol` + Electrolyte concentration [mol.m-3] + c_s_surf : :class:`pybamm.Symbol` + Particle concentration [mol.m-3] + c_s_max : :class:`pybamm.Symbol` + Maximum particle concentration [mol.m-3] + T : :class:`pybamm.Symbol` + Temperature [K] + + Returns + ------- + :class:`pybamm.Symbol` + Exchange-current density [A.m-2] + """ + m_ref = 4.824 * 10 ** (-6) # (A/m2)(mol/m3)**1.5 - includes ref concentrations + E_r = 39570 + arrhenius = exp(E_r / constants.R * (1 / 298.15 - 1 / T)) + + return ( + m_ref * arrhenius * c_e**0.5 * c_s_surf**0.5 * (c_s_max - c_s_surf) ** 0.5 + ) diff --git a/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_entropic_change_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_entropic_change_PeymanMPM.py new file mode 100644 index 0000000000..93baa06af6 --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_entropic_change_PeymanMPM.py @@ -0,0 +1,39 @@ +import pybamm + + +def NMC_entropic_change_PeymanMPM(sto, c_s_max): + """ + Nickel Manganese Cobalt (NMC) entropic change in open circuit potential (OCP) at + a temperature of 298.15K as a function of the OCP. The fit is taken from [1]. + + References + ---------- + .. [1] W. Le, I. Belharouak, D. Vissers, K. Amine, "In situ thermal study of + li1+ x [ni1/ 3co1/ 3mn1/ 3] 1- x o2 using isothermal micro-clorimetric + techniques", + J. of the Electrochemical Society 153 (11) (2006) A2147–A2151. + + Parameters + ---------- + sto : :class:`pybamm.Symbol` + Stochiometry of material (li-fraction) + + """ + + # Since the equation uses the OCP at each stoichiometry as input, + # we need OCP function here + + u_eq = ( + 4.3452 + - 1.6518 * sto + + 1.6225 * sto ** 2 + - 2.0843 * sto ** 3 + + 3.5146 * sto ** 4 + - 0.5623 * 10 ** (-4) * pybamm.exp(109.451 * sto - 100.006) + ) + + du_dT = ( + -800 + 779 * u_eq - 284 * u_eq ** 2 + 46 * u_eq ** 3 - 2.8 * u_eq ** 4 + ) * 10 ** (-3) + + return du_dT diff --git a/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_ocp_PeymanMPM.py b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_ocp_PeymanMPM.py new file mode 100644 index 0000000000..22348a2a9d --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/NMC_ocp_PeymanMPM.py @@ -0,0 +1,35 @@ +import pybamm + + +def NMC_ocp_PeymanMPM(sto): + """ + Nickel Managanese Cobalt Oxide (NMC) Open Circuit Potential (OCP) as a + function of the stochiometry. The fit is taken from Peyman MPM. + + References + ---------- + Peyman MPM manuscript (to be submitted) + + Parameters + ---------- + sto : :class:`pybamm.Symbol` + Stochiometry of material (li-fraction) + + """ + + u_eq = ( + 4.3452 + - 1.6518 * sto + + 1.6225 * (sto ** 2) + - 2.0843 * (sto ** 3) + + 3.5146 * (sto ** 4) + - 2.2166 * (sto ** 5) + - 0.5623e-4 * pybamm.exp(109.451 * sto - 100.006) + ) + + return u_eq + + +# if __name__ == "__main__": # pragma: no cover +# x = pybamm.linspace(0, 1) +# pybamm.plot(x, NMC_ocp_PeymanMPM(x)) diff --git a/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/__init__.py b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/parameters.csv b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/parameters.csv new file mode 100644 index 0000000000..b006050380 --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/positive_electrodes/NMC_UMBL_Siegel2022/parameters.csv @@ -0,0 +1,32 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Electrode properties,,, +Positive electrode conductivity [S.m-1],100,Scott Moura FastDFN,no info from Peyman MPM +Maximum concentration in positive electrode [mol.m-3],35380,Peyman MPM, nickel manganese cobalt oxide +Positive electrode diffusivity [m2.s-1],[function]NMC_diffusivity_PeymanMPM,, +Positive electrode OCP [V],[function]NMC_ocp_PeymanMPM,, +,,, +# Microstructure,,, +Positive electrode porosity,0.3,Siegel2022, +Positive electrode active material volume fraction,0.6818,Siegel2022,rest is binder +Positive particle radius [m],10E-06,Siegel2022,guess +Positive electrode Bruggeman coefficient (electrode),1.5,Peyman MPM, +Positive electrode Bruggeman coefficient (electrolyte),1.5,Peyman MPM, +Positive electrode transport efficiency,0.16, +,,, +# Interfacial reactions,,, +Positive electrode cation signed stoichiometry,-1,,no info from Peyman MPM +Positive electrode electrons in reaction,1,,no info from Peyman MPM +Positive electrode reference exchange-current density [A.m-2(m3.mol)1.5],4.824E-06,Peyman MPM,converted unit +Positive electrode charge transfer coefficient,0.5,Peyman MPM, +Positive electrode double-layer capacity [F.m-2],0.2,,no info from Peyman MPM +Positive electrode exchange-current density [A.m-2],[function]NMC_electrolyte_exchange_current_density_PeymanMPM,, +,,, +# Density,,, +Positive electrode density [kg.m-3],3100,Peyman MPM, cell lumped value +,,, +# Thermal parameters,,, +Positive electrode specific heat capacity [J.kg-1.K-1],1100,Peyman MPM, cell lumped value +Positive electrode thermal conductivity [W.m-1.K-1],2.1,,no info from Peyman MPM +Positive electrode OCP entropic change [V.K-1],[function]NMC_entropic_change_PeymanMPM, diff --git a/pybamm/input/parameters/lithium_ion/separators/separator_Siegel2022/parameters.csv b/pybamm/input/parameters/lithium_ion/separators/separator_Siegel2022/parameters.csv new file mode 100644 index 0000000000..4cd11126ba --- /dev/null +++ b/pybamm/input/parameters/lithium_ion/separators/separator_Siegel2022/parameters.csv @@ -0,0 +1,9 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +Separator porosity,0.48,Siegel2022, +Separator Bruggeman coefficient (electrolyte),1.5,Peyman MPM, +Separator density [kg.m-3],516.67,,6.2g/m2 +Separator specific heat capacity [J.kg-1.K-1],700,,no info from Peyman MPM +Separator thermal conductivity [W.m-1.K-1],0.16,,no info from Peyman MPM +Separator transport efficiency , 0.25, diff --git a/pybamm/parameters/parameter_sets.py b/pybamm/parameters/parameter_sets.py index 11c9339ec2..48cc756dc9 100644 --- a/pybamm/parameters/parameter_sets.py +++ b/pybamm/parameters/parameter_sets.py @@ -107,6 +107,11 @@ Popov. Development of first principles capacity fade model for li-ion cells. Journal of the Electrochemical Society, 151(2):A196, 2004. doi:10.1149/1.1634273. + * Siegel2022 : + - Peyman Mohtat, Suhak Lee, Valentin Sulzer, Jason B. Siegel, and Anna G. + Stefanopoulou. Differential Expansion and Voltage Model for Li-ion Batteries at + Practical Charging Rates. Journal of The Electrochemical Society, + 167(11):110561, 2020. doi:10.1149/1945-7111/aba5d1. * Xu2019 : - Shanshan Xu, Kuan-Hung Chen, Neil P Dasgupta, Jason B Siegel, and Anna G Stefanopoulou. Evolution of dead lithium growth in lithium metal batteries: @@ -197,6 +202,19 @@ "citation": "Mohtat2020", } +Siegel2022 = { + "chemistry": "lithium_ion", + "cell": "UMBL_Siegel2022", + "negative electrode": "graphite_UMBL_Mohtat2020", + "separator": "separator_Siegel2022", + "positive electrode": "NMC_UMBL_Mohtat2020", + "electrolyte": "LiPF6_Mohtat2020", + "experiment": "1C_charge_from_empty_Mohtat2020", + "sei": "example", + "lithium plating": "yang2017_Li_plating", + "citation": "Mohtat2020", +} + Ramadass2004 = { "chemistry": "lithium_ion", "cell": "sony_Ramadass2004",