diff --git a/examples/scripts/compare_lithium_ion.py b/examples/scripts/compare_lithium_ion.py index 53459a036c..f2b17c1a68 100644 --- a/examples/scripts/compare_lithium_ion.py +++ b/examples/scripts/compare_lithium_ion.py @@ -26,7 +26,7 @@ # load parameter values and process models and geometry param = models[0].default_parameter_values -param["Current function [A]"] = 1.0 +param["Current function [A]"] = 1 for model in models: param.process_model(model) diff --git a/examples/scripts/nca_parameters.py b/examples/scripts/nca_parameters.py new file mode 100644 index 0000000000..7e9100822e --- /dev/null +++ b/examples/scripts/nca_parameters.py @@ -0,0 +1,11 @@ +import pybamm as pb + +pb.set_logging_level("INFO") +model = pb.lithium_ion.DFN() + +chemistry = pb.parameter_sets.NCA_Kim2011 +parameter_values = pb.ParameterValues(chemistry=chemistry) + +sim = pb.Simulation(model, parameter_values=parameter_values, C_rate=1) +sim.solve() +sim.plot() diff --git a/input/parameters/lithium-ion/anodes/graphite_Kim2011/README.md b/input/parameters/lithium-ion/anodes/graphite_Kim2011/README.md new file mode 100644 index 0000000000..0105517f0b --- /dev/null +++ b/input/parameters/lithium-ion/anodes/graphite_Kim2011/README.md @@ -0,0 +1,7 @@ +# Graphite anode parameters + +Parameters for a graphite anode, from the paper + +> Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. (2011). Multi-domain modeling of lithium-ion batteries encompassing multi-physics in varied length scales. Journal of The Electrochemical Society, 158(8), A955-A969. + +Note, only an effective cell volumetric heat capacity is provided in the paper. We therefore used the values for the density and specific heat capacity reported in the Marquis2019 parameter set in each region and multiplied each density by the ratio of the volumetric heat capacity provided in smith to the calculated value. This ensures that the values produce the same effective cell volumetric heat capacity. This works fine for x-lumped thermal models but not for x-full thermal models. We do the same for the planar effective thermal conductivity. diff --git a/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_diffusivity_Kim2011.py b/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_diffusivity_Kim2011.py new file mode 100644 index 0000000000..11373e0f50 --- /dev/null +++ b/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_diffusivity_Kim2011.py @@ -0,0 +1,37 @@ +from pybamm import exp + + +def graphite_diffusivity_Kim2011(sto, T, T_inf, E_D_s, R_g): + """ + Graphite diffusivity [1]. + + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + + Parameters + ---------- + sto: :class: `numpy.Array` + Electrode stochiometry + T: :class: `numpy.Array` + Dimensional temperature + T_inf: double + Reference temperature + E_D_s: double + Solid diffusion activation energy + R_g: double + The ideal gas constant + + Returns + ------- + : double + Solid diffusivity + """ + + D_ref = 9 * 10 ** (-14) + arrhenius = exp(E_D_s / R_g * (1 / T_inf - 1 / T)) + + return D_ref * arrhenius diff --git a/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_electrolyte_reaction_rate_Kim2011.py b/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_electrolyte_reaction_rate_Kim2011.py new file mode 100644 index 0000000000..b942801b2d --- /dev/null +++ b/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_electrolyte_reaction_rate_Kim2011.py @@ -0,0 +1,48 @@ +from pybamm import exp + + +def graphite_electrolyte_reaction_rate_Kim2011(T, T_inf, E_r, R_g): + """ + Reaction rate for Butler-Volmer reactions between graphite and LiPF6 in EC:DMC + [1]. + + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + + Parameters + ---------- + T: :class: `numpy.Array` + Dimensional temperature + T_inf: double + Reference temperature + E_r: double + Reaction activation energy + R_g: double + The ideal gas constant + + Returns + ------- + :`numpy.Array` + Reaction rate + """ + + i0_ref = 36 # reference exchange current density at 100% SOC + sto = 0.36 # stochiometry at 100% SOC + c_s_n_max = 2.87 * 10 ** 4 # max electrode concentration + c_s_n_ref = sto * c_s_n_max # reference electrode concentration + c_e_ref = 1.2 * 10 ** 3 # reference electrolyte concentration + alpha = 0.5 # charge transfer coefficient + + m_ref = ( + 2 + * i0_ref + / (c_e_ref ** alpha * (c_s_n_max - c_s_n_ref) ** alpha * c_s_n_ref ** alpha) + ) + + arrhenius = exp(E_r / R_g * (1 / T_inf - 1 / T)) + + return m_ref * arrhenius diff --git a/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_ocp_Kim2011.py b/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_ocp_Kim2011.py new file mode 100644 index 0000000000..0cbab00dde --- /dev/null +++ b/input/parameters/lithium-ion/anodes/graphite_Kim2011/graphite_ocp_Kim2011.py @@ -0,0 +1,29 @@ +from pybamm import exp, tanh + + +def graphite_ocp_Kim2011(sto): + """ + Graphite Open Circuit Potential (OCP) as a function of the stochiometry [1]. + + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + """ + + u_eq = ( + 0.124 + + 1.5 * exp(-70 * sto) + - 0.0351 * tanh((sto - 0.286) / 0.083) + - 0.0045 * tanh((sto - 0.9) / 0.119) + - 0.035 * tanh((sto - 0.99) / 0.05) + - 0.0147 * tanh((sto - 0.5) / 0.034) + - 0.102 * tanh((sto - 0.194) / 0.142) + - 0.022 * tanh((sto - 0.98) / 0.0164) + - 0.011 * tanh((sto - 0.124) / 0.0226) + + 0.0155 * tanh((sto - 0.105) / 0.029) + ) + + return u_eq diff --git a/input/parameters/lithium-ion/anodes/graphite_Kim2011/parameters.csv b/input/parameters/lithium-ion/anodes/graphite_Kim2011/parameters.csv new file mode 100644 index 0000000000..12af026ee2 --- /dev/null +++ b/input/parameters/lithium-ion/anodes/graphite_Kim2011/parameters.csv @@ -0,0 +1,38 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Electrode properties,,, +Negative electrode conductivity [S.m-1],100,, +Maximum concentration in negative electrode [mol.m-3],2.87E4,, +Negative electrode diffusivity [m2.s-1],[function]graphite_diffusivity_Kim2011,, +Negative electrode OCP [V],[function]graphite_ocp_Kim2011, +,,, +# Microstructure,,, +Negative electrode porosity,0.4,, +Negative electrode active material volume fraction,0.51,, +Negative particle radius [m],5.083E-7,, +Negative particle distribution in x,1,, +Negative electrode surface area density [m-1],3.01E6,, +Negative electrode Bruggeman coefficient (electrolyte),2,, +Negative electrode Bruggeman coefficient (electrode),2,, +,,, +# Interfacial reactions,,, +Negative electrode cation signed stoichiometry,-1,, +Negative electrode electrons in reaction,1,, +Reference OCP vs SHE in the negative electrode [V],,, +Negative electrode charge transfer coefficient,0.5,, +Negative electrode double-layer capacity [F.m-2],0.2,Not reported in Kim2011, +,,, +# Density,,, +Negative electrode density [kg.m-3],2136.43638,1657 * 1.28934, +,,, +# Thermal parameters,,, +Negative electrode specific heat capacity [J.kg-1.K-1],700,, +Negative electrode thermal conductivity [W.m-1.K-1],1.1339,1.7 * 0.667, +Negative electrode OCP entropic change [V.K-1],0,, +,,, +# Activation energies,,, +Reference temperature [K],298.15,25C, +Negative electrode reaction rate,[function]graphite_electrolyte_reaction_rate_Kim2011,, +Negative reaction rate activation energy [J.mol-1],3E4,, +Negative solid diffusion activation energy [J.mol-1],4E3,, diff --git a/input/parameters/lithium-ion/cathodes/nca_Kim2011/README.md b/input/parameters/lithium-ion/cathodes/nca_Kim2011/README.md new file mode 100644 index 0000000000..f816226d21 --- /dev/null +++ b/input/parameters/lithium-ion/cathodes/nca_Kim2011/README.md @@ -0,0 +1,8 @@ +# Nickel Cobalt Aluminium (NCA) cathode parameters + +Parameters for an NCA cathode, from the paper + +> Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. (2011). Multi-domain modeling of lithium-ion batteries encompassing multi-physics in varied length scales. Journal of The Electrochemical Society, 158(8), A955-A969. + +Note, only an effective cell volumetric heat capacity is provided in the paper. We therefore used the values for the density and specific heat capacity reported in the Marquis2019 parameter set in each region and multiplied each density by the ratio of the volumetric heat capacity provided in smith to the calculated value. This ensures that the values produce the same effective cell volumetric heat capacity. This works fine for x-lumped thermal models but not for x-full thermal models. We do the same for the planar effective thermal conductivity. + diff --git a/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_diffusivity_Kim2011.py b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_diffusivity_Kim2011.py new file mode 100644 index 0000000000..2cd18b310e --- /dev/null +++ b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_diffusivity_Kim2011.py @@ -0,0 +1,37 @@ +from pybamm import exp + + +def nca_diffusivity_Kim2011(sto, T, T_inf, E_D_s, R_g): + """ + NCA diffusivity as a function of stochiometry [1]. + + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + + Parameters + ---------- + sto: :class: `numpy.Array` + Electrode stochiometry + T: :class: `numpy.Array` + Dimensional temperature + T_inf: double + Reference temperature + E_D_s: double + Solid diffusion activation energy + R_g: double + The ideal gas constant + + Returns + ------- + : double + Solid diffusivity + """ + + D_ref = 3 * 10 ** (-15) + arrhenius = exp(E_D_s / R_g * (1 / T_inf - 1 / T)) + + return D_ref * arrhenius diff --git a/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_electrolyte_reaction_rate_Kim2011.py b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_electrolyte_reaction_rate_Kim2011.py new file mode 100644 index 0000000000..9dd468a39f --- /dev/null +++ b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_electrolyte_reaction_rate_Kim2011.py @@ -0,0 +1,46 @@ +from pybamm import exp + + +def nca_electrolyte_reaction_rate_Kim2011(T, T_inf, E_r, R_g): + """ + Reaction rate for Butler-Volmer reactions between NCA and LiPF6 in EC:DMC + [1]. + + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + + Parameters + ---------- + T: :class: `numpy.Array` + Dimensional temperature + T_inf: double + Reference temperature + E_r: double + Reaction activation energy + R_g: double + The ideal gas constant + + Returns + ------- + : double + Reaction rate + """ + i0_ref = 4 # reference exchange current density at 100% SOC + sto = 0.41 # stochiometry at 100% SOC + c_s_max = 4.9 * 10 ** 4 # max electrode concentration + c_s_ref = sto * c_s_max # reference electrode concentration + c_e_ref = 1.2 * 10 ** 3 # reference electrolyte concentration + alpha = 0.5 # charge transfer coefficient + + m_ref = ( + 2 + * i0_ref + / (c_e_ref ** alpha * (c_s_max - c_s_ref) ** alpha * c_s_ref ** alpha) + ) + arrhenius = exp(E_r / R_g * (1 / T_inf - 1 / T)) + + return m_ref * arrhenius diff --git a/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_ocp_Kim2011_data.csv b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_ocp_Kim2011_data.csv new file mode 100644 index 0000000000..dd00060753 --- /dev/null +++ b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_ocp_Kim2011_data.csv @@ -0,0 +1,75 @@ +0.370214428274133, 4.210440859985937 +0.37577436378229034, 4.198214873372019 +0.3836904770360269, 4.182142025684674 +0.3918959828337426, 4.165163132847251 +0.40106922140226364, 4.149604765177982 +0.40686180736573874, 4.138286599370602 +0.4116896199858422, 4.129799619141419 +0.4194137255876832, 4.115653556008545 +0.4266554445178383, 4.10292308566477 +0.4329304171529992, 4.090189327068291 +0.4396907358872798, 4.0802916864290655 +0.44548430832656627, 4.070390757537136 +0.4532103868800297, 4.059079168235163 +0.45852157264763016, 4.050593832132332 +0.4628660121202365, 4.042105207776797 +0.4710764502970082, 4.032212499516627 +0.47638763606460877, 4.023727163413795 +0.4836313279463863, 4.013831166900922 +0.48942490038567266, 4.0039302380089925 +0.4981187117099415, 3.994039173875174 +0.5077763099017708, 3.979899687247709 +0.5164711077018508, 3.971425860029342 +0.5280592390562348, 3.9530412391609326 +0.537716837248064, 3.938901752533467 +0.5493089145056929, 3.9261860793268606 +0.5565516199116592, 3.914872845898536 +0.5671749779226715, 3.8993194106083244 +0.5768345490661232, 3.88801439781176 +0.5869745339296383, 3.872459318395196 +0.5961487589739706, 3.8583181876413786 +0.6087065960507823, 3.844188565772025 +0.6159493014567486, 3.832875332343701 +0.6246431127810175, 3.822984268209883 +0.6352684437436521, 3.8102653067505723 +0.6463781343295951, 3.798965226333064 +0.660386090848898, 3.784840536842767 +0.6763275399581893, 3.7707224238578783 +0.6917856159199836, 3.756602666746637 +0.7038630392767319, 3.7467231114972837 +0.7246372333851825, 3.7312042028604644 +0.7391305360036051, 3.71991563132742 +0.7531414519503417, 3.710042652583475 +0.7676347545687643, 3.698754081050431 +0.7797121779255124, 3.6888745258010776 +0.7917886148064496, 3.677577733636274 +0.8043484248348838, 3.6662825855978216 +0.8144923556016439, 3.65639645384306 +0.8260854193350838, 3.645098017551904 +0.8357449904785356, 3.6337930047553395 +0.8463732808686039, 3.6253257540423807 +0.8560318655362443, 3.612603504330366 +0.8652100364838214, 3.604131321238351 +0.8739028613322789, 3.5928230201890825 +0.8840477785748505, 3.5843541253497717 +0.8927425763749305, 3.5758802981314046 +0.9024031339941933, 3.5659925222502906 +0.9125490377125759, 3.5589408643264306 +0.9222105818076499, 3.5504703253607675 +0.9338056184927125, 3.5420063629005125 +0.9482959616837011, 3.526466080621117 +0.957951586923908, 3.5094921201627503 +0.965192319378252, 3.495344412903525 +0.9709740541078039, 3.4684366410261873 +0.9743448419547373, 3.450024070009794 +0.976744937603432, 3.425939263078894 +0.9805892338397507, 3.393355967034346 +0.9820196237660176, 3.36501616110439 +0.9834510001680955, 3.3380935920898844 +0.9848843495217959, 3.3140054969062804 +0.9858323527763772, 3.287081283765423 +0.987258796799399, 3.2530725301736645 +0.9896421223593032, 3.204894695680104 +0.9905703960976598, 3.1496257442302342 +0.9915055751666949, 3.104277451188519 +0.9933828386354436, 3.023501523513243 \ No newline at end of file diff --git a/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_ocp_Kim2011_function.py b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_ocp_Kim2011_function.py new file mode 100644 index 0000000000..8366020f0f --- /dev/null +++ b/input/parameters/lithium-ion/cathodes/nca_Kim2011/nca_ocp_Kim2011_function.py @@ -0,0 +1,37 @@ +from pybamm import exp + + +def nca_ocp_Kim2011_function(sto): + """ + NCA open-circuit potential (OCP) [1]. Fit in paper seems wrong to using + nca_ocp_Kim2011_data.csv instead. + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + + Parameters + ---------- + sto: double + Stochiometry of material (li-fraction) + + """ + + u_eq = ( + 1.68 * sto ** 10 + - 2.222 * sto ** 9 + + 15.056 * sto ** 8 + - 23.488 * sto ** 7 + + 81.246 * sto ** 6 + - 344.566 * sto ** 5 + + 621.3475 * sto ** 4 + - 544.774 * sto ** 3 + + 264.427 * sto ** 2 + - 66.3691 * sto + + 11.8058 + - 0.61386 * exp(5.8201 * sto ** 136.4) + ) + + return u_eq diff --git a/input/parameters/lithium-ion/cathodes/nca_Kim2011/parameters.csv b/input/parameters/lithium-ion/cathodes/nca_Kim2011/parameters.csv new file mode 100644 index 0000000000..d152be0362 --- /dev/null +++ b/input/parameters/lithium-ion/cathodes/nca_Kim2011/parameters.csv @@ -0,0 +1,38 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Electrode properties,,, +Positive electrode conductivity [S.m-1],10,, +Maximum concentration in positive electrode [mol.m-3],4.9E4,, +Positive electrode diffusivity [m2.s-1],[function]nca_diffusivity_Kim2011,, +Positive electrode OCP [V],[data]nca_ocp_Kim2011_data, +,,, +# Microstructure,,, +Positive electrode porosity,0.4,, +Positive electrode active material volume fraction,0.41,, +Positive particle radius [m],1.633E-6,, +Positive particle distribution in x,1,, +Positive electrode surface area density [m-1],0.753E6,, +Positive electrode Bruggeman coefficient (electrolyte),2,, +Positive electrode Bruggeman coefficient (electrode),2,, +,,, +# Interfacial reactions,,, +Positive electrode cation signed stoichiometry,-1,, +Positive electrode electrons in reaction,1,, +Reference OCP vs SHE in the positive electrode [V],,, +Positive electrode charge transfer coefficient,0.5,, +Positive electrode double-layer capacity [F.m-2],0.2, Not provided in Kim2011, +,,, +# Density,,, +Positive electrode density [kg.m-3],4205.82708, 3262 * 1.28934, +,,, +# Thermal parameters,,, +Positive electrode specific heat capacity [J.kg-1.K-1],700,, +Positive electrode thermal conductivity [W.m-1.K-1],1.4007, 2.1 * 0.667, +Positive electrode OCP entropic change [V.K-1],0,, +,,, +# Activation energies,,, +Reference temperature [K],298.15,25C, +Positive electrode reaction rate,[function]nca_electrolyte_reaction_rate_Kim2011,, +Positive reaction rate activation energy [J.mol-1],3E4,, +Positive solid diffusion activation energy [J.mol-1],2E4,, diff --git a/input/parameters/lithium-ion/cells/Kim2011/README.md b/input/parameters/lithium-ion/cells/Kim2011/README.md new file mode 100644 index 0000000000..4cc9794415 --- /dev/null +++ b/input/parameters/lithium-ion/cells/Kim2011/README.md @@ -0,0 +1,6 @@ +# Pouch cell parameters + +Parameters for a "Nominal Design" pouch cell, from the paper + +> Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. (2011). Multi-domain modeling of lithium-ion batteries encompassing multi-physics in varied length scales. Journal of The Electrochemical Society, 158(8), A955-A969. + diff --git a/input/parameters/lithium-ion/cells/Kim2011/parameters.csv b/input/parameters/lithium-ion/cells/Kim2011/parameters.csv new file mode 100644 index 0000000000..1091bea8a3 --- /dev/null +++ b/input/parameters/lithium-ion/cells/Kim2011/parameters.csv @@ -0,0 +1,37 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Macroscale geometry,,, +Negative current collector thickness [m],10E-6,, +Negative electrode thickness [m],70E-6,, +Separator thickness [m],25E-6,, +Positive electrode thickness [m],50E-6,, +Positive current collector thickness [m],10E-6,, +Electrode height [m],0.2,, +Electrode width [m],0.14,, +Negative tab width [m],0.044,, +Negative tab centre y-coordinate [m],0.013,, +Negative tab centre z-coordinate [m],0.2, At top, +Positive tab width [m],0.044,, +Positive tab centre y-coordinate [m],0.137,, +Positive tab centre z-coordinate [m],0.2,At top, +,,, +# Current collector properties ,,, +Negative current collector conductivity [S.m-1],59.6E6,, +Positive current collector conductivity [S.m-1],37.8E6,, +,,, +# Density,,, +Negative current collector density [kg.m-3],11544.75, 8954 * 1.28934, +Positive current collector density [kg.m-3],3490.24338, 2707 * 1.28934, +,,, +# 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],267.467, 401 * 0.667, +Positive current collector thermal conductivity [W.m-1.K-1],158.079, 237 * 0.667, +,,, +# Electrical,,, +Cell capacity [A.h],0.43,trial and error, +Typical current [A],0.43,0.2857,1C current diff --git a/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/README.md b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/README.md new file mode 100644 index 0000000000..d7db16c804 --- /dev/null +++ b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/README.md @@ -0,0 +1,7 @@ +# LiPF6 electrolyte parameters + +Parameters for a LiPF6 electrolyte, from the paper + +> Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. (2011). Multi-domain modeling of lithium-ion batteries encompassing multi-physics in varied length scales. Journal of The Electrochemical Society, 158(8), A955-A969. + +and references therein. diff --git a/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/electrolyte_conductivity_Kim2011.py b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/electrolyte_conductivity_Kim2011.py new file mode 100644 index 0000000000..477cd4e3fc --- /dev/null +++ b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/electrolyte_conductivity_Kim2011.py @@ -0,0 +1,40 @@ +from pybamm import exp + + +def electrolyte_conductivity_Kim2011(c_e, T, T_inf, E_k_e, R_g): + """ + Conductivity of LiPF6 in EC as a function of ion concentration from [1]. + + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + + Parameters + ---------- + c_e: :class: `numpy.Array` + Dimensional electrolyte concentration + T: :class: `numpy.Array` + Dimensional temperature + T_inf: double + Reference temperature + E_k_e: double + Electrolyte conductivity activation energy + R_g: double + The ideal gas constant + + Returns + ------- + :`numpy.Array` + Solid diffusivity + """ + + sigma_e = ( + 3.45 * exp(-798 / T) * (c_e / 1000) ** 3 + - 48.5 * exp(-1080 / T) * (c_e / 1000) ** 2 + + 244 * exp(-1440 / T) * (c_e / 1000) + ) + + return sigma_e diff --git a/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/electrolyte_diffusivity_Kim2011.py b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/electrolyte_diffusivity_Kim2011.py new file mode 100644 index 0000000000..e852c158b9 --- /dev/null +++ b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/electrolyte_diffusivity_Kim2011.py @@ -0,0 +1,40 @@ +from pybamm import exp + + +def electrolyte_diffusivity_Kim2011(c_e, T, T_inf, E_D_e, R_g): + """ + Diffusivity of LiPF6 in EC as a function of ion concentration from [1]. + + References + ---------- + .. [1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. + + Parameters + ---------- + c_e: :class: `numpy.Array` + Dimensional electrolyte concentration + T: :class: `numpy.Array` + Dimensional temperature + T_inf: double + Reference temperature + E_D_e: double + Electrolyte diffusion activation energy + R_g: double + The ideal gas constant + + Returns + ------- + :`numpy.Array` + Solid diffusivity + """ + + D_c_e = ( + 5.84 * 10 ** (-7) * exp(-2870 / T) * (c_e / 1000) ** 2 + - 33.9 * 10 ** (-7) * exp(-2920 / T) * (c_e / 1000) + + 129 * 10 ** (-7) * exp(-3200 / T) + ) + + return D_c_e diff --git a/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/parameters.csv b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/parameters.csv new file mode 100644 index 0000000000..9ea675fe67 --- /dev/null +++ b/input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/parameters.csv @@ -0,0 +1,13 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Electrolyte properties,,, +Typical electrolyte concentration [mol.m-3],1200,, +Cation transference number,0.4,Reported as a function in Kim2011 (Implement later), +Electrolyte diffusivity [m2.s-1],[function]electrolyte_diffusivity_Kim2011,, +Electrolyte conductivity [S.m-1],[function]electrolyte_conductivity_Kim2011,, +,,, +# Activation energies,,, +Reference temperature [K],298.15,25C, +Electrolyte diffusion activation energy [J.mol-1],,Not required, +Electrolyte conductivity activation energy [J.mol-1],,Not requied, diff --git a/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Kim2011/README.md b/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Kim2011/README.md new file mode 100644 index 0000000000..f83025c2ff --- /dev/null +++ b/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Kim2011/README.md @@ -0,0 +1,7 @@ +# 1C discharge from full + +Discharge lithium-ion battery from full charge at 1C, using the initial conditions from the paper + +> Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. (2011). Multi-domain modeling of lithium-ion batteries encompassing multi-physics in varied length scales. Journal of The Electrochemical Society, 158(8), A955-A969. + +and references therein. diff --git a/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Kim2011/parameters.csv b/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Kim2011/parameters.csv new file mode 100644 index 0000000000..1ed5821c2f --- /dev/null +++ b/input/parameters/lithium-ion/experiments/1C_discharge_from_full_Kim2011/parameters.csv @@ -0,0 +1,19 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +# Temperature +Reference temperature [K],298.15,25C, +Heat transfer coefficient [W.m-2.K-1],25,, +,,, +# Electrical +Number of electrodes connected in parallel to make a cell,1,, +Number of cells connected in series to make a battery,1,, +Lower voltage cut-off [V],2.7,, +Upper voltage cut-off [V],4.5,, +C-rate,1,, +,,, +# Initial conditions +Initial concentration in negative electrode [mol.m-3],18081,0.63*2.84E4, +Initial concentration in positive electrode [mol.m-3],20090,0.41*4.9E4, +Initial concentration in electrolyte [mol.m-3],1200,, +Initial temperature [K],298.15,, diff --git a/input/parameters/lithium-ion/separators/separator_Kim2011/README.md b/input/parameters/lithium-ion/separators/separator_Kim2011/README.md new file mode 100644 index 0000000000..5628b0d80a --- /dev/null +++ b/input/parameters/lithium-ion/separators/separator_Kim2011/README.md @@ -0,0 +1,9 @@ +# Separator parameters + +Parameters for the separator in the paper + +> Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. (2011). Multi-domain modeling of lithium-ion batteries encompassing multi-physics in varied length scales. Journal of The Electrochemical Society, 158(8), A955-A969. + +and references therein. + +Note, only an effective cell volumetric heat capacity is provided in the paper. We therefore used the values for the density and specific heat capacity reported in the Marquis2019 parameter set in each region and multiplied each density by the ratio of the volumetric heat capacity provided in smith to the calculated value. This ensures that the values produce the same effective cell volumetric heat capacity. This works fine for x-lumped thermal models but not for x-full thermal models. We do the same for the planar effective thermal conductivity. \ No newline at end of file diff --git a/input/parameters/lithium-ion/separators/separator_Kim2011/parameters.csv b/input/parameters/lithium-ion/separators/separator_Kim2011/parameters.csv new file mode 100644 index 0000000000..9c8b2ee81d --- /dev/null +++ b/input/parameters/lithium-ion/separators/separator_Kim2011/parameters.csv @@ -0,0 +1,9 @@ +Name [units],Value,Reference,Notes +# Empty rows and rows starting with ‘#’ will be ignored,,, +,,, +Separator porosity,0.4,, +Separator Bruggeman coefficient (electrolyte),2,, +Separator Bruggeman coefficient (electrode),2,, +Separator density [kg.m-3],511.86798,397 * 1.28934, +Separator specific heat capacity [J.kg-1.K-1],700,, +Separator thermal conductivity [W.m-1.K-1],0.10672, 0.16 * 0.667, diff --git a/input/parameters/lithium-ion/separators/separator_Marquis2019/README.md b/input/parameters/lithium-ion/separators/separator_Marquis2019/README.md index 615830690c..8862a317b4 100644 --- a/input/parameters/lithium-ion/separators/separator_Marquis2019/README.md +++ b/input/parameters/lithium-ion/separators/separator_Marquis2019/README.md @@ -1,6 +1,6 @@ # Separator parameters -Parameters for a ??? separator, from the paper +Parameters for the separator in the paper > Scott G. Marquis, Valentin Sulzer, Robert Timms, Colin P. Please, and S. Jon Chapman. "An asymptotic derivation of a single particle model with electrolyte." [arXiv preprint arXiv:1905.12553](https://arxiv.org/abs/1905.12553) (2019). diff --git a/input/parameters/lithium-ion/separators/separator_Marquis2019/parameters.csv b/input/parameters/lithium-ion/separators/separator_Marquis2019/parameters.csv index d1af7d5bda..ca77c0c0c4 100644 --- a/input/parameters/lithium-ion/separators/separator_Marquis2019/parameters.csv +++ b/input/parameters/lithium-ion/separators/separator_Marquis2019/parameters.csv @@ -1,9 +1,9 @@ Name [units],Value,Reference,Notes # Empty rows and rows starting with ‘#’ will be ignored,,, ,,, -Separator porosity,1,Scott Moura FastDFN, -Separator Bruggeman coefficient (electrolyte),1.5,Scott Moura FastDFN, -Separator Bruggeman coefficient (electrode),1.5,Scott Moura FastDFN, +Separator porosity,1,, +Separator Bruggeman coefficient (electrolyte),1.5,, +Separator Bruggeman coefficient (electrode),1.5,, Separator density [kg.m-3],397,, Separator specific heat capacity [J.kg-1.K-1],700,, Separator thermal conductivity [W.m-1.K-1],0.16,, diff --git a/pybamm/parameters/parameter_sets.py b/pybamm/parameters/parameter_sets.py index 31c09106cc..e7cd8cbaa2 100644 --- a/pybamm/parameters/parameter_sets.py +++ b/pybamm/parameters/parameter_sets.py @@ -11,6 +11,11 @@ Chapman. "An asymptotic derivation of a single particle model with electrolyte." `arXiv preprint arXiv:1905.12553 `_ (2019). +NCA_Kim2011 + Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A. + (2011). Multi-domain modeling of lithium-ion batteries encompassing + multi-physics in varied length scales. Journal of The Electrochemical + Society, 158(8), A955-A969. Lead-acid --------- @@ -34,6 +39,16 @@ "experiment": "1C_discharge_from_full_Marquis2019", } +NCA_Kim2011 = { + "chemistry": "lithium-ion", + "cell": "Kim2011", + "anode": "graphite_Kim2011", + "separator": "separator_Kim2011", + "cathode": "nca_Kim2011", + "electrolyte": "lipf6_Kim2011", + "experiment": "1C_discharge_from_full_Kim2011", +} + # # Lead-acid # diff --git a/tests/unit/test_parameters/test_parameter_sets/__init__.py b/tests/unit/test_parameters/test_parameter_sets/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/unit/test_parameters/test_parameter_sets/test_NCA_Kim2011.py b/tests/unit/test_parameters/test_parameter_sets/test_NCA_Kim2011.py new file mode 100644 index 0000000000..3225b3b45f --- /dev/null +++ b/tests/unit/test_parameters/test_parameter_sets/test_NCA_Kim2011.py @@ -0,0 +1,50 @@ +# +# Tests for NCA parameter set loads +# +import pybamm +import unittest + + +class TestKim(unittest.TestCase): + def test_load_params(self): + anode = pybamm.ParameterValues({}).read_parameters_csv( + "input/parameters/lithium-ion/anodes/graphite_Kim2011/parameters.csv" + ) + self.assertEqual(anode["Reference temperature [K]"], "298.15") + + cathode = pybamm.ParameterValues({}).read_parameters_csv( + "input/parameters/lithium-ion/cathodes/nca_Kim2011/parameters.csv" + ) + self.assertEqual(cathode["Reference temperature [K]"], "298.15") + + electrolyte = pybamm.ParameterValues({}).read_parameters_csv( + "input/parameters/lithium-ion/electrolytes/lipf6_Kim2011/parameters.csv" + ) + self.assertEqual(electrolyte["Reference temperature [K]"], "298.15") + + cell = pybamm.ParameterValues({}).read_parameters_csv( + "input/parameters/lithium-ion/cells/Kim2011/parameters.csv" + ) + self.assertAlmostEqual( + cell["Negative current collector thickness [m]"], 10 ** (-5) + ) + + def test_standard_lithium_parameters(self): + + chemistry = pybamm.parameter_sets.NCA_Kim2011 + parameter_values = pybamm.ParameterValues(chemistry=chemistry) + + model = pybamm.lithium_ion.DFN() + sim = pybamm.Simulation(model, parameter_values=parameter_values) + sim.set_parameters() + sim.build() + + +if __name__ == "__main__": + print("Add -v for more debug output") + import sys + + if "-v" in sys.argv: + debug = True + pybamm.settings.debug_mode = True + unittest.main()