Skip to content

Commit

Permalink
pybamm-team#1048 fixed EC-DMC electrolyte
Browse files Browse the repository at this point in the history
  • Loading branch information
brosaplanella committed Jun 23, 2020
1 parent 67d6f2e commit 5be6e1c
Show file tree
Hide file tree
Showing 5 changed files with 149 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -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].
Expand Down
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
@@ -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


Expand Down
Original file line number Diff line number Diff line change
@@ -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


Expand Down
Original file line number Diff line number Diff line change
@@ -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].
Expand Down

0 comments on commit 5be6e1c

Please sign in to comment.