Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NMC811 for Karanth and Weijers 2024 #130

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions configs/params_NMC811_KaranthWeijers24.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
[Particles]
# Implemented by Ombrini for Karanth and Weijers 2024
type = diffn
discretization = 10e-7
shape = sphere
thickness = 20e-9

[Material]
muRfunc = NMC811_KaranthWeijers24
noise = false
noise_prefac = 1e-6
numnoise = 200
rho_s = 2.97e28
D = 19.6244
Dfunc = NMC811_KaranthWeijers24

[Reactions]
rxnType = BV_NMC811_KaranthWeijers24
k0 = 3.506
alpha = 0.5
Rfilm = 0e-0
93 changes: 93 additions & 0 deletions configs/params_system_KaranthWeijers24.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
[Sim Params]
# Implemented by Ombrini for Karanth and Weijers 2024
profileType = CC
Crate = 0.62
Vmax = 5.3
Vmin = 2.7
Vset = 0.12
power = 1
segments = [(0.3135,-88.18181818181817),(0,60),(-2.85,10)]
prevDir = false
tend = 1.2e3
tsteps = 1000
relTol = 5e-6
absTol = 5e-6
T = 298
nonisothermal = false
randomSeed = true
seed = 0
dataReporter = mat
Rser = 0.
Nvol_c = 10
Nvol_s = 10
Nvol_a = 0
Npart_c = 1
Npart_a = 0

[Electrodes]
cathode = params_NMC_Chen2020.cfg
anode = params_graphite.cfg
k0_foil = 2.056
Rfilm_foil = 0

[Particles]
mean_c = 11.5e-6
stddev_c = 0.5e-6
mean_a = 100e-9
stddev_a = 1e-9
specified_psd_c = False
specified_psd_a = False
cs0_c = 0.26
cs0_a = 0.99

[Conductivity]
simBulkCond_c = true
simBulkCond_a = false
sigma_s_c = 0.1
sigma_s_a = 1e-1
simPartCond_c = false
simPartCond_a = false
G_mean_c = 1e-14
G_stddev_c = 0
G_mean_a = 1e-14
G_stddev_a = 0

[Thermal Parameters]
cp_c = 700
cp_s = 700
cp_a = 700
rhom_c = 2500
rhom_s = 1100
rhom_a = 2500
h_h = 2e4
k_h_c = 2.1
k_h_a = 1.7
k_h_s = 0.16
entropy_heat_gen = False

[Geometry]
L_c = 152e-6
L_a = 50e-6
L_s = 225e-6
P_L_c = 0.815
P_L_a = 0.69
poros_c = 0.316
poros_a = 0.4
poros_s = 0.55
BruggExp_c = -0.54
BruggExp_a = -0.5
BruggExp_s = -0.65

[Electrolyte]
c0 = 1000
zp = 1
zm = -1
nup = 1
num = 1
elyteModelType = SM
SMset = Nyman_EC_EMC
n = 1
sp = -1
Dp = 2.2e-10
Dm = 2.94e-10

11 changes: 11 additions & 0 deletions mpet/electrode/diffusion/NMC811_KaranthWeijers24.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
def NMC811_KaranthWeijers24(y):
"""Fitted from the results of McClelland 2023"""
# Implemented by Ombrini for Karanth and Weijers 2024
# Diffusion coefficient in cm^2/s
# Ranges from 1e-11 to 2e-10
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
14 changes: 14 additions & 0 deletions mpet/electrode/materials/NMC811_KaranthWeijers24.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import numpy as np


def NMC811_KaranthWeijers24(self, y, ybar, T, muR_ref):
"""
This function was obtained from the OCV of Chen et al. 2020.
"""
# Implemented by Ombrini for Karanth and Weijers 2024
OCV = (-0.8090*y + 4.4875 - 0.0428*np.tanh(18.5138*(y - 0.5542))
- 17.7326*np.tanh(15.7890*(y - 0.3117))
+ 17.5842*np.tanh(15.9308*(y - 0.3120)))
muR = self.get_muR_from_OCV(OCV, muR_ref)
actR = None
return muR, actR
14 changes: 14 additions & 0 deletions mpet/electrode/reactions/BV_NMC811_KaranthWeijers24.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
import numpy as np


def BV_NMC811_KaranthWeijers24(eta, c_sld, c_lyte, k0, E_A, T, act_R=None,
act_lyte=None, lmbda=None, alpha=None):
"""Fitted from the results of McClelland 2023"""
# Implemented by Ombrini for Karanth and Weijers 2024
# Ranges from 1 to 6
# multiplied by k0 in A/m^2
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
Loading