Skip to content

Commit

Permalink
NMC models
Browse files Browse the repository at this point in the history
  • Loading branch information
Ombrini committed Oct 16, 2023
1 parent b1754b1 commit c0dcbc4
Show file tree
Hide file tree
Showing 5 changed files with 52 additions and 1 deletion.
4 changes: 4 additions & 0 deletions mpet/electrode/diffusion/NMC532_Colclasure20.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
def NMC532_Colclasure20(y):
cm2_s = 20000.*10**(-2319.*y**10 + 6642.*y**9 - 5269.*y**8 - 3319.*y**7 + 10038.*y**6
- 9806.*y**5 + 5817.*y**4 - 2286.*y**3 + 575.3*y**2 - 83.16*y-9.292)
return cm2_s/1e4
12 changes: 12 additions & 0 deletions mpet/electrode/diffusion/NMC811_Weijers24.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
def NMC811_Weijers24(y):
# Diffusion coefficient in cm^2/s
# Goes from 1e-11 to 2e-10
# Diff = 0.5*10**(5330.047*y**7 + -18676.498*y**6
# + 26839.985*y**5 + -20487.761*y**4 + 8968.699*y**3
# + -2255.527*y**2 + 302.212*y + -26.16038)
Diff = 0.5*10**(-66631.56720002113*y**9 + 317224.13759806077*y**8
+ -647127.9100798424*y**7 + 740625.6188941287*y**6
+ -522889.4946864639*y**5 + 235652.79793610598*y**4
+ -67638.17186534218*y**3 + 11887.013361406942*y**2
+ -1155.8947947859672*y + 37.60120496926822)
return Diff/1e4
18 changes: 18 additions & 0 deletions mpet/electrode/materials/NMC532_Colclasure20.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import numpy as np


def NMC532_Colclasure20(self, y, ybar, T, muR_ref):
x = y
OCV = (5.314735633000300E+00 +
-3.640117692001490E+03*x**14.0 + 1.317657544484270E+04*x**13.0
- 1.455742062291360E+04*x**12.0 - 1.571094264365090E+03*x**11.0
+ 1.265630978512400E+04*x**10.0 - 2.057808873526350E+03*x**9.0
- 1.074374333186190E+04*x**8.0 + 8.698112755348720E+03*x**7.0
- 8.297904604107030E+02*x**6.0 - 2.073765547574810E+03*x**5.0
+ 1.190223421193310E+03*x**4.0 - 2.724851668445780E+02*x**3.0
+ 2.723409218042130E+01*x**2.0 - 4.158276603609060E+00*x +
-5.573191762723310E-04*np.exp(6.560240842659690E+00*x**4.148209275061330E+01)
)
muR = self.get_muR_from_OCV(OCV, muR_ref)
actR = None
return muR, actR
16 changes: 16 additions & 0 deletions mpet/electrode/reactions/BV_NMC811.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import numpy as np


def BV_NMC811(eta, c_sld, c_lyte, k0, E_A, T, act_R=None,
act_lyte=None, lmbda=None, alpha=None):
"""NMC811 Butler-Volmer reaction rate """
# goes from 1 to 6
# has to be multiplied by k0 in A/m^2
# ecd = k0*(16.69*c_sld**5 + -279.99*c_sld**4
# + 687.19*c_sld**3 + -634.2*c_sld**2
# + 234.07*c_sld + -23.92) * (c_lyte)**0.5
ecd = k0*(87.15*c_sld**5 + -445.05*c_sld**4
+ 815.43*c_sld**3 + -669.95*c_sld**2
+ 236.09*c_sld + -23.67) * (c_lyte)**0.5
Rate = ecd * (np.exp(-alpha*eta/T) - np.exp((1-alpha)*eta/T))
return Rate
3 changes: 2 additions & 1 deletion mpet/electrode/reactions/BV_NMC_Park2021.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ def BV_NMC_Park2021(eta, c_sld, c_lyte, k0, E_A, T, act_R=None,
act_lyte=None, lmbda=None, alpha=None):
"""Implemented for the Park, J 2021 model
for the NMC electrode"""
ecd = k0*act_lyte/(1+np.exp(25*(c_sld-0.6)))
ecd_0 = k0/(1+np.exp(19*(c_sld-0.68)))
ecd = ecd_0 *c_lyte**(1-alpha)
Rate = ecd * np.exp(-E_A/T + E_A/1) * (np.exp(-alpha*eta/T) - np.exp((1-alpha)*eta/T))
return Rate

0 comments on commit c0dcbc4

Please sign in to comment.