Skip to content

Commit

Permalink
#984 use total current in sei film overpotential
Browse files Browse the repository at this point in the history
  • Loading branch information
valentinsulzer committed May 15, 2020
1 parent 7c2601b commit 3afb1e4
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 33 deletions.
5 changes: 0 additions & 5 deletions examples/scripts/calendar_ageing.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,12 +51,7 @@
"X-averaged negative electrode sei interfacial current density [A.m-2]",
"X-averaged negative electrode interfacial current density [A.m-2]",
],
[
"X-averaged negative electrode sei interfacial current density",
"X-averaged negative electrode interfacial current density",
],
"Sum of x-averaged negative electrode interfacial current densities",
"Sum of negative electrode interfacial current densities",
"X-averaged electrolyte concentration",
],
)
57 changes: 29 additions & 28 deletions pybamm/models/submodels/interface/kinetics/base_kinetics.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,16 +37,17 @@ def get_fundamental_variables(self):
and "main" in self.reaction
):
j = pybamm.Variable(
self.domain + " electrode interfacial current density",
"Total "
+ self.domain.lower()
+ " electrode interfacial current density",
domain=self.domain.lower() + " electrode",
auxiliary_domains={"secondary": "current collector"},
)

variables = {
self.domain
+ " electrode"
+ self.reaction_name
+ " interfacial current density variable": j
"Total "
+ self.domain.lower()
+ " electrode interfacial current density variable": j
}
return variables
else:
Expand Down Expand Up @@ -76,10 +77,12 @@ def get_coupled_variables(self, variables):
L_sei = variables[
"Total " + self.domain.lower() + " electrode sei thickness"
]
j = variables[
self.domain + " electrode interfacial current density variable"
j_tot = variables[
"Total "
+ self.domain.lower()
+ " electrode interfacial current density variable"
]
eta_sei = -j * L_sei * pybamm.sei_parameters.R_sei
eta_sei = -j_tot * L_sei * pybamm.sei_parameters.R_sei
elif self.options["sei film resistance"] == "average":
L_sei = variables[
"Total " + self.domain.lower() + " electrode sei thickness"
Expand Down Expand Up @@ -138,39 +141,37 @@ def set_algebraic(self, variables):
self.options["sei film resistance"] == "distributed"
and "main" in self.reaction
):
j_var = variables[
self.domain
+ " electrode"
+ self.reaction_name
+ " interfacial current density variable"
j_tot_var = variables[
"Total "
+ self.domain.lower()
+ " electrode interfacial current density variable"
]
j = variables[
self.domain
+ " electrode"
+ self.reaction_name
+ " interfacial current density"
j_tot = variables[
"Sum of "
+ self.domain.lower()
+ " electrode interfacial current densities"
]
# Algebraic equation to set the variable j_var equal to the reaction term j
self.algebraic[j_var] = j_var - j
# Algebraic equation to set the variable j_tot_var
# equal to the sum of currents j_tot
self.algebraic[j_tot_var] = j_tot_var - j_tot

def set_initial_conditions(self, variables):
if (
self.options["sei film resistance"] == "distributed"
and "main" in self.reaction
):
param = self.param
j_var = variables[
self.domain
+ " electrode"
+ self.reaction_name
+ " interfacial current density variable"
j_tot_var = variables[
"Total "
+ self.domain.lower()
+ " electrode interfacial current density variable"
]
if self.domain == "Negative":
j_av_init = param.current_with_time / param.l_n
j_tot_av_init = param.current_with_time / param.l_n
elif self.domain == "Positive":
j_av_init = -param.current_with_time / param.l_p
j_tot_av_init = -param.current_with_time / param.l_p

self.initial_conditions[j_var] = j_av_init
self.initial_conditions[j_tot_var] = j_tot_av_init

def _get_dj_dc(self, variables):
"""
Expand Down

0 comments on commit 3afb1e4

Please sign in to comment.