Skip to content

Commit

Permalink
Merge pull request pybamm-team#994 from pybamm-team/issue-984-butler-…
Browse files Browse the repository at this point in the history
…volmer-resistance

Issue 984 butler volmer resistance
  • Loading branch information
valentinsulzer committed May 19, 2020
2 parents 7d99e2a + 3f1629c commit dbe7b80
Show file tree
Hide file tree
Showing 74 changed files with 1,238 additions and 737 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Features

- Added SEI film resistance as an option ([#994](https://github.com/pybamm-team/PyBaMM/pull/994))
- Added tab, edge, and surface cooling ([#965](https://github.com/pybamm-team/PyBaMM/pull/965))
- Added functionality to solver to automatically discretise a 0D model ([#947](https://github.com/pybamm-team/PyBaMM/pull/947))
- Added sensitivity to `CasadiAlgebraicSolver` ([#940](https://github.com/pybamm-team/PyBaMM/pull/940))
Expand Down
1 change: 0 additions & 1 deletion docs/source/models/submodels/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,3 @@ Submodels
porosity/index
thermal/index
tortuosity/index
sei/index
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,6 @@ First-order Kinetics

.. autoclass:: pybamm.interface.FirstOrderKinetics
:members:

.. autoclass:: pybamm.interface.InverseFirstOrderKinetics
:members:

This file was deleted.

This file was deleted.

7 changes: 4 additions & 3 deletions docs/source/models/submodels/interface/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ Interface
:maxdepth: 1

base_interface
kinetics/index
inverse_kinetics/index
first_order_kinetics/index
kinetics
inverse_kinetics
first_order_kinetics
diffusion_limited
sei
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
Inverse Butler-Volmer
=====================
Inverse Kinetics
================

.. autoclass:: pybamm.interface.inverse_kinetics.InverseButlerVolmer
:members:

This file was deleted.

17 changes: 17 additions & 0 deletions docs/source/models/submodels/interface/kinetics.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
Kinetics
========

.. autoclass:: pybamm.interface.BaseKinetics
:members:

.. autoclass:: pybamm.interface.ButlerVolmer
:members:

.. autoclass:: pybamm.interface.NoReaction
:members:

.. autoclass:: pybamm.interface.ForwardTafel
:members:

.. autoclass:: pybamm.interface.BackwardTafel
:members:

This file was deleted.

This file was deleted.

10 changes: 0 additions & 10 deletions docs/source/models/submodels/interface/kinetics/index.rst

This file was deleted.

This file was deleted.

8 changes: 0 additions & 8 deletions docs/source/models/submodels/interface/kinetics/tafel.rst

This file was deleted.

23 changes: 23 additions & 0 deletions docs/source/models/submodels/interface/sei.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
SEI models
==========

.. autoclass:: pybamm.sei.BaseModel
:members:

.. autoclass:: pybamm.sei.ConstantSEI
:members:

.. autoclass:: pybamm.sei.ElectronMigrationLimited
:members:

.. autoclass:: pybamm.sei.InterstitialDiffusionLimited
:members:

.. autoclass:: pybamm.sei.NoSEI
:members:

.. autoclass:: pybamm.sei.ReactionLimited
:members:

.. autoclass:: pybamm.sei.SolventDiffusionLimited
:members:
6 changes: 0 additions & 6 deletions docs/source/models/submodels/sei/base_sei.rst

This file was deleted.

This file was deleted.

12 changes: 0 additions & 12 deletions docs/source/models/submodels/sei/index.rst

This file was deleted.

This file was deleted.

6 changes: 0 additions & 6 deletions docs/source/models/submodels/sei/no_sei.rst

This file was deleted.

6 changes: 0 additions & 6 deletions docs/source/models/submodels/sei/reaction_limited.rst

This file was deleted.

This file was deleted.

173 changes: 103 additions & 70 deletions examples/notebooks/using-submodels.ipynb

Large diffs are not rendered by default.

57 changes: 57 additions & 0 deletions examples/scripts/calendar_ageing.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
import pybamm as pb
import numpy as np

pb.set_logging_level("INFO")

models = [
pb.lithium_ion.SPM({"sei": "reaction limited"}),
pb.lithium_ion.SPM(
{"sei": "reaction limited", "surface form": "algebraic"}, name="Algebraic SPM",
),
pb.lithium_ion.DFN({"sei": "reaction limited"}),
]

sims = []
for model in models:
parameter_values = model.default_parameter_values

parameter_values["Current function [A]"] = 0

sim = pb.Simulation(model, parameter_values=parameter_values)

solver = pb.CasadiSolver(mode="fast")

years = 30
days = years * 365
hours = days * 24
minutes = hours * 60
seconds = minutes * 60

t_eval = np.linspace(0, seconds, 100)

sim.solve(t_eval=t_eval, solver=solver)
sims.append(sim)
pb.dynamic_plot(
sims,
[
"Terminal voltage [V]",
"Negative particle surface concentration",
"X-averaged negative particle surface concentration",
"Electrolyte concentration [mol.m-3]",
"Total negative electrode sei thickness [m]",
"X-averaged total negative electrode sei thickness [m]",
"X-averaged total negative electrode sei thickness",
"X-averaged negative electrode sei concentration [mol.m-3]",
"Loss of lithium to negative electrode sei [mol]",
[
"Negative electrode sei interfacial current density [A.m-2]",
"Negative electrode interfacial current density [A.m-2]",
],
[
"X-averaged negative electrode sei interfacial current density [A.m-2]",
"X-averaged negative electrode interfacial current density [A.m-2]",
],
"Sum of x-averaged negative electrode interfacial current densities",
"X-averaged electrolyte concentration",
],
)
4 changes: 4 additions & 0 deletions examples/scripts/compare_lead_acid.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,10 @@
"Porosity",
"Electrolyte potential [V]",
"Terminal voltage [V]",
"Negative electrode reaction overpotential",
"Positive electrode reaction overpotential",
"Sum of interfacial current densities",
"Sum of electrolyte reaction source terms",
]
plot = pybamm.QuickPlot(solutions, output_variables, linestyles=[":", "--", "-"])
plot.dynamic_plot()
4 changes: 2 additions & 2 deletions examples/scripts/create-model.py
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ def D(cc):
"SEI growth rate": dLdt,
"Solvent concentration": c,
"SEI thickness [m]": L_0_dim * L,
"SEI growth rate [m/s]": (D_dim(c_inf_dim) / L_0_dim) * dLdt,
"Solvent concentration [mols/m^3]": c_inf_dim * c,
"SEI growth rate [m.s-1]": (D_dim(c_inf_dim) / L_0_dim) * dLdt,
"Solvent concentration [mol.m-3]": c_inf_dim * c,
}

"--------------------------------------------------------------------------------------"
Expand Down
12 changes: 12 additions & 0 deletions examples/scripts/custom_model.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,24 @@
model.submodels["positive interface"] = pybamm.interface.InverseButlerVolmer(
model.param, "Positive", "lithium-ion main"
)
model.submodels[
"negative interface current"
] = pybamm.interface.CurrentForInverseButlerVolmer(
model.param, "Negative", "lithium-ion main"
)
model.submodels[
"positive interface current"
] = pybamm.interface.CurrentForInverseButlerVolmer(
model.param, "Positive", "lithium-ion main"
)
model.submodels[
"electrolyte diffusion"
] = pybamm.electrolyte_diffusion.ConstantConcentration(model.param)
model.submodels[
"electrolyte conductivity"
] = pybamm.electrolyte_conductivity.LeadingOrder(model.param)
model.submodels["negative sei"] = pybamm.sei.NoSEI(model.param, "Negative")
model.submodels["positive sei"] = pybamm.sei.NoSEI(model.param, "Positive")

# build model
model.build_model()
Expand Down
46 changes: 0 additions & 46 deletions examples/scripts/sei_growth.py

This file was deleted.

2 changes: 1 addition & 1 deletion pybamm/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,8 @@ def version(formatted=False):
porosity,
thermal,
tortuosity,
sei,
)
from .models.submodels.interface import sei

#
# Geometry
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Inner SEI reaction proportion,0.5,,
Inner SEI partial molar volume [m3.mol-1],3e-6, Guess,
Outer SEI partial molar volume [m3.mol-1],3e-6, Guess,
SEI reaction exchange current density [A.m-2],1.5E-7, Guess,
SEI resistance per unit thickness [Ohm.m-1],1, Ramadass,
SEI resistivity [Ohm.m],1e6,Guess,check Ramadass
Outer SEI solvent diffusivity [m2.s-1],2.5E-22, Single paper,
Bulk solvent concentration [mol.m-3],2.636E3, Ploehn paper,
Ratio of inner and outer SEI exchange current densities,1, Assume same,
Expand Down
Loading

0 comments on commit dbe7b80

Please sign in to comment.