From 5be6e1c64c44be7381d7c2ff3e41687b6c1197fd Mon Sep 17 00:00:00 2001 From: Ferran Brosa Planella Date: Fri, 19 Jun 2020 20:16:55 +0200 Subject: [PATCH] #1048 fixed EC-DMC electrolyte --- ...ctrolyte_TDF_EC_DMC_1_1_Landesfeind2019.py | 4 +- .../electrolyte_base_Landesfeind2019.py | 139 ++++++++++++++++++ ...conductivity_EC_DMC_1_1_Landesfeind2019.py | 4 +- ..._diffusivity_EC_DMC_1_1_Landesfeind2019.py | 4 +- ...rence_number_EC_DMC_1_1_Landesfeind2019.py | 4 +- 5 files changed, 149 insertions(+), 6 deletions(-) create mode 100644 pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_base_Landesfeind2019.py diff --git a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_TDF_EC_DMC_1_1_Landesfeind2019.py b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_TDF_EC_DMC_1_1_Landesfeind2019.py index ddebd8b85c..a44457622f 100644 --- a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_TDF_EC_DMC_1_1_Landesfeind2019.py +++ b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_TDF_EC_DMC_1_1_Landesfeind2019.py @@ -1,8 +1,8 @@ -from ..lipf6_base_Landesfeind2019 import electrolyte_TDF_base_Landesfeind2019 +from electrolyte_base_Landesfeind2019 import electrolyte_TDF_base_Landesfeind2019 import numpy as np -def electrolyte_TDF_EC_DMC_1_1_Landesfeind2019(c_e, T): +def electrolyte_TDF_EC_DMC_1_1_Landesfeind2019(c_e, T=298.15): """ Diffusivity of LiPF6 in EC:DMC (1:1 w:w) as a function of ion concentration and temperature. The data comes from [1]. diff --git a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_base_Landesfeind2019.py b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_base_Landesfeind2019.py new file mode 100644 index 0000000000..a688f65bee --- /dev/null +++ b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_base_Landesfeind2019.py @@ -0,0 +1,139 @@ +from pybamm import exp, sqrt + + +def electrolyte_conductivity_base_Landesfeind2019(c_e, T, coeffs): + """ + Conductivity of LiPF6 in solvent_X as a function of ion concentration and + temperature. The data comes from [1]. + References + ---------- + .. [1] Landesfeind, J. and Gasteiger, H.A., 2019. Temperature and Concentration + Dependence of the Ionic Transport Properties of Lithium-Ion Battery Electrolytes. + Journal of The Electrochemical Society, 166(14), pp.A3079-A3097. + ---------- + c_e: :class:`pybamm.Symbol` + Dimensional electrolyte concentration + T: :class:`pybamm.Symbol` + Dimensional temperature + coeffs: :class:`pybamm.Symbol` + Fitting parameter coefficients + Returns + ------- + :class:`pybamm.Symbol` + Electrolyte conductivity + """ + c = c_e / 1000 # mol.m-3 -> mol.l + p1, p2, p3, p4, p5, p6 = coeffs + A = p1 * (1 + (T - p2)) + B = 1 + p3 * sqrt(c) + p4 * (1 + p5 * exp(1000 / T)) * c + C = 1 + c ** 4 * (p6 * exp(1000 / T)) + sigma_e = A * c * B / C # mS.cm-1 + + return sigma_e / 10 + + +def electrolyte_diffusivity_base_Landesfeind2019(c_e, T, coeffs): + """ + Diffusivity of LiPF6 in solvent_X as a function of ion concentration and + temperature. The data comes from [1]. + References + ---------- + .. [1] Landesfeind, J. and Gasteiger, H.A., 2019. Temperature and Concentration + Dependence of the Ionic Transport Properties of Lithium-Ion Battery Electrolytes. + Journal of The Electrochemical Society, 166(14), pp.A3079-A3097. + ---------- + c_e: :class:`pybamm.Symbol` + Dimensional electrolyte concentration + T: :class:`pybamm.Symbol` + Dimensional temperature + coeffs: :class:`pybamm.Symbol` + Fitting parameter coefficients + Returns + ------- + :class:`pybamm.Symbol` + Electrolyte diffusivity + """ + c = c_e / 1000 # mol.m-3 -> mol.l + p1, p2, p3, p4 = coeffs + A = p1 * exp(p2 * c) + B = exp(p3 / T) + C = exp(p4 * c / T) + D_e = A * B * C * 1e-10 # m2/s + + return D_e + + +def electrolyte_TDF_base_Landesfeind2019(c_e, T, coeffs): + """ + Thermodynamic factor (TDF) of LiPF6 in solvent_X as a function of ion concentration + and temperature. The data comes from [1]. + References + ---------- + .. [1] Landesfeind, J. and Gasteiger, H.A., 2019. Temperature and Concentration + Dependence of the Ionic Transport Properties of Lithium-Ion Battery Electrolytes. + Journal of The Electrochemical Society, 166(14), pp.A3079-A3097. + ---------- + c_e: :class:`pybamm.Symbol` + Dimensional electrolyte concentration + T: :class:`pybamm.Symbol` + Dimensional temperature + coeffs: :class:`pybamm.Symbol` + Fitting parameter coefficients + Returns + ------- + :class:`pybamm.Symbol` + Electrolyte thermodynamic factor + """ + c = c_e / 1000 # mol.m-3 -> mol.l + p1, p2, p3, p4, p5, p6, p7, p8, p9 = coeffs + tdf = ( + p1 + + p2 * c + + p3 * T + + p4 * c ** 2 + + p5 * c * T + + p6 * T ** 2 + + p7 * c ** 3 + + p8 * c ** 2 * T + + p9 * c * T ** 2 + ) + + return tdf + + +def electrolyte_transference_number_base_Landesfeind2019(c_e, T, coeffs): + """ + Transference number of LiPF6 in solvent_X as a function of ion concentration and + temperature. The data comes from [1]. + References + ---------- + .. [1] Landesfeind, J. and Gasteiger, H.A., 2019. Temperature and Concentration + Dependence of the Ionic Transport Properties of Lithium-Ion Battery Electrolytes. + Journal of The Electrochemical Society, 166(14), pp.A3079-A3097. + ---------- + c_e: :class:`pybamm.Symbol` + Dimensional electrolyte concentration + T: :class:`pybamm.Symbol` + Dimensional temperature + coeffs: :class:`pybamm.Symbol` + Fitting parameter coefficients + Returns + ------- + :class:`pybamm.Symbol` + Electrolyte transference number + """ + c = c_e / 1000 # mol.m-3 -> mol.l + p1, p2, p3, p4, p5, p6, p7, p8, p9 = coeffs + tplus = ( + p1 + + p2 * c + + p3 * T + + p4 * c ** 2 + + p5 * c * T + + p6 * T ** 2 + + p7 * c ** 3 + + p8 * c ** 2 * T + + p9 * c * T ** 2 + ) + + return tplus diff --git a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_conductivity_EC_DMC_1_1_Landesfeind2019.py b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_conductivity_EC_DMC_1_1_Landesfeind2019.py index 02b2d38d5c..b17d61d15f 100644 --- a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_conductivity_EC_DMC_1_1_Landesfeind2019.py +++ b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_conductivity_EC_DMC_1_1_Landesfeind2019.py @@ -1,4 +1,6 @@ -from ..lipf6_base_Landesfeind2019 import electrolyte_conductivity_base_Landesfeind2019 +from electrolyte_base_Landesfeind2019 import ( + electrolyte_conductivity_base_Landesfeind2019, +) import numpy as np diff --git a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_diffusivity_EC_DMC_1_1_Landesfeind2019.py b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_diffusivity_EC_DMC_1_1_Landesfeind2019.py index c5d862bc8e..ecb8cef5d4 100644 --- a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_diffusivity_EC_DMC_1_1_Landesfeind2019.py +++ b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_diffusivity_EC_DMC_1_1_Landesfeind2019.py @@ -1,4 +1,6 @@ -from ..lipf6_base_Landesfeind2019 import electrolyte_diffusivity_base_Landesfeind2019 +from electrolyte_base_Landesfeind2019 import ( + electrolyte_diffusivity_base_Landesfeind2019, +) import numpy as np diff --git a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_transference_number_EC_DMC_1_1_Landesfeind2019.py b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_transference_number_EC_DMC_1_1_Landesfeind2019.py index a5d7933c49..2a75e14562 100644 --- a/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_transference_number_EC_DMC_1_1_Landesfeind2019.py +++ b/pybamm/input/parameters/lithium-ion/electrolytes/lipf6_EC_DMC_1_1_Landesfeind2019/electrolyte_transference_number_EC_DMC_1_1_Landesfeind2019.py @@ -1,10 +1,10 @@ -from ..lipf6_base_Landesfeind2019 import ( +from electrolyte_base_Landesfeind2019 import ( electrolyte_transference_number_base_Landesfeind2019, ) import numpy as np -def electrolyte_transference_number_EC_DMC_1_1_Landesfeind2019(c_e, T): +def electrolyte_transference_number_EC_DMC_1_1_Landesfeind2019(c_e, T=298.15): """ Transference number of LiPF6 in EC:DMC (1:1 w:w) as a function of ion concentration and temperature. The data comes from [1].