Skip to content

Commit

Permalink
pybamm-team#1048 added EC-EMC electrolyte
Browse files Browse the repository at this point in the history
  • Loading branch information
brosaplanella committed Jun 22, 2020
1 parent 741bd49 commit dc049dc
Show file tree
Hide file tree
Showing 7 changed files with 277 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# LiPF6 in EC:EMC (3:7 w:w) electrolyte parameters

Parameters for a LiPF6 in EC:EMC (3:7 w:w) electrolyte, from the paper

> Johannes Landesfeind and Hubert A. Gasteiger, ["Temperature and Concentration Dependence of the Ionic Transport Properties of Lithium-Ion Battery Electrolytes."](https://iopscience.iop.org/article/10.1149/2.0571912jes) Journal of the Electrochemical Society 166 (2019): A3079.
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from electrolyte_base_Landesfeind2019 import electrolyte_TDF_base_Landesfeind2019
import numpy as np


def electrolyte_TDF_EC_EMC_3_7_Landesfeind2019(c_e, T=298.15):
"""
Diffusivity of LiPF6 in EC:EMC (3:7 w:w) 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
Returns
-------
:class:`pybamm.Symbol`
Electrolyte diffusivity
"""
coeffs = np.array(
[2.57e1, -4.51e1, -1.77e-1, 1.94, 2.95e-1, 3.08e-4, 2.59e-1, -9.46e-3, -4.54e-4]
)

return electrolyte_TDF_base_Landesfeind2019(c_e, T, coeffs)
Original file line number Diff line number Diff line change
@@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from electrolyte_base_Landesfeind2019 import (
electrolyte_conductivity_base_Landesfeind2019,
)
import numpy as np


def electrolyte_conductivity_EC_EMC_3_7_Landesfeind2019(c_e, T):
"""
Conductivity of LiPF6 in EC:EMC (3:7 w:w) 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
Returns
-------
:class:`pybamm.Symbol`
Electrolyte conductivity
"""
coeffs = np.array([5.21e-1, 2.28e2, -1.06, 3.53e-1, -3.59e-3, 1.48e-3])

return electrolyte_conductivity_base_Landesfeind2019(c_e, T, coeffs)
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
from electrolyte_base_Landesfeind2019 import (
electrolyte_diffusivity_base_Landesfeind2019,
)
import numpy as np


def electrolyte_diffusivity_EC_EMC_3_7_Landesfeind2019(c_e, T):
"""
Diffusivity of LiPF6 in EC:EMC (3:7 w:w) 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
Returns
-------
:class:`pybamm.Symbol`
Electrolyte diffusivity
"""
coeffs = np.array([1.01e3, 1.01, -1.56e3, -4.87e2])

return electrolyte_diffusivity_base_Landesfeind2019(c_e, T, coeffs)
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
from electrolyte_base_Landesfeind2019 import (
electrolyte_transference_number_base_Landesfeind2019,
)
import numpy as np


def electrolyte_transference_number_EC_EMC_3_7_Landesfeind2019(c_e, T=298.15):
"""
Transference number of LiPF6 in EC:EMC (3:7 w:w) 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
Returns
-------
:class:`pybamm.Symbol`
Electrolyte transference number
"""
coeffs = np.array(
[
-1.28e1,
-6.12,
8.21e-2,
9.04e-1,
3.18e-2,
-1.27e-4,
1.75e-2,
-3.12e-3,
-3.96e-5,
]
)

return electrolyte_transference_number_base_Landesfeind2019(c_e, T, coeffs)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Name [units],Value,Reference,Notes
# Empty rows and rows starting with ‘#’ will be ignored,,,
,,,
# Electrolyte properties,,,
Typical electrolyte concentration [mol.m-3],1000,default,
Cation transference number,[function]electrolyte_transference_number_EC_EMC_3_7_Landesfeind2019,Landesfeind 2019,
1 + dlnf/dlnc,[function]electrolyte_TDF_EC_EMC_3_7_Landesfeind2019,Landesfeind 2019,
Electrolyte diffusivity [m2.s-1],[function]electrolyte_diffusivity_EC_EMC_3_7_Landesfeind2019,Landesfeind 2019," "
Electrolyte conductivity [S.m-1],[function]electrolyte_conductivity_EC_EMC_3_7_Landesfeind2019,Landesfeind 2019," "

0 comments on commit dc049dc

Please sign in to comment.