Battery cell

A battery consists of two electrodes and an electrolyte. Each are implemented by a model which takes its own set of input parameters. The convention for the input model class names is to write them using the model name followed by the suffix InputParams. In graph above, we can see that the battery model has submodel instances as properties. The property names are in black color while the model they belong to is in blue.

_images/cutbatterygraph.png
class BatteryInputParams(jsonstruct)

Input parameter class for the Battery model.

G

Computational Grid

SOC

Initial state of charge [-]

initT

Initial temperature [T]

NegativeElectrode

instance of ElectrodeInputParams

PositiveElectrode

instance of ElectrodeInputParams

Electrolyte

instance of ElectrolyteInputParams

ThermalModel

instance of ThermalComponentInputParams

Control

instance of ControlModelInputParams

couplingTerms

Coupling terms (describe the topological structure of the coupling between the components)

use_thermal

flag : true if coupled thermal simulation should be considered

use_particle_diffusion

flag : true if solid diffusion should be included (mainly for debugging)

Electrode components

An electrode consists of an active material, which contains an interface model and a solid diffusion model, and a current collector. Each of those components have a own set of input parameters.

_images/electrodegraph.png

Electrode

This model is derived from ElectronicComponentInputParams

class ElectrodeInputParams(jsonstruct)

Input parameter class for Electrode model

ActiveMaterial

Input parameter for the electrode active component (ActiveMaterialInputParams)

CurrentCollector

Input parameter for the current collector (CurrentCollectorInputParams)

couplingTerm

Coupling term specification

include_current_collectors

Set to true to include current collector

Active Material

class ActiveMaterialInputParams(jsonstruct)

Input parameter class for ActiveMaterial model

Interface

Input parameter for the interface InterfaceInputParams

SolidDiffusion

Input parameter for the solid diffusion model SolidDiffusionModelInputParams

density

Density

thermalConductivity

Intrinsic Thermal conductivity of the active component

specificHeatCapacity

Specific Heat capacity of the active component

electricalConductivity

Electrical conductivity / [S m^-1]

externalCouplingTerm

structure to describe external coupling (used in absence of current collector)

diffusionModelType

Choose between type of diffusion model (‘full’ or ‘simple’. The default is set to ‘full’)

BruggemanCoefficient

Volume fraction of the whole material (binder and so on included)

activeMaterialFraction

Volume fraction occupied only by the active material (default value is 1)

Interface

class InterfaceInputParams(jsonstruct)

Input parameter class for the interface model

G

Grid

theta0

Lithiation value at 0% SOC [-]

theta100

Lithiation value at 100% SOC [-]

cmax

Maximum concentration [mol m^-3]

k0

Reference rate constant [m^2.5 mol^-0.5 s^-1]

Eak

Activation energy [J mol^-1]

volumetricSurfaceArea

Volumetric surface area [m2 m^-3]

volumeFraction

Volume fraction of the active material

density

Density of the active material [kg m^-3]

n

number of electron transfer

OCP

Function to update OCP value, which is given as a struct with fields

  • type : “function”;

  • functionname : matlab function name (should be available in path)

  • argumentlist : [“cElectrode”, “T”, “cmax”]

j0

Interface.updateReactionRateCoefficient. The function is given as a struct with the fields:

  • type = {“function”, “constant”} % if “constant” is selected, the value of k0 is used to compute reaction rate

  • functionname : matlab function name (should be available in path)

  • argumentlist = [“cElectrodeSurface”, “cmax”]

Solid Diffusion Models

class SolidDiffusionModelInputParams(jsonstruct)

Base class for the solid diffusion models, see FullSolidDiffusionModelInputParams and SimplifiedSolidDiffusionModelInputParams

EaD

Activation energy [J mol^-1]

D0

Diffusion reference constant[ m^2 s^-1]

rp

Particle radius [m]

volumetricSurfaceArea

Volumetric surface area [m2 m^-3]

class FullSolidDiffusionModelInputParams(jsonstruct)

Full diffusion model (standard PXD)

N

Number of discretization intervals in the diffusion model [-]

np

Number of computational grid cells (typically set by parent model ActiveMaterial)

volumeFraction

Volume Fraction (typically set by parent model ActiveMaterial)

activeMaterialFraction

Active Material Fraction (typically set by parent model ActiveMaterial)

D

Function to update D value given as a struct with fields - D.type is in {‘function’, ‘constant’}. If ‘constant’ is chosen the value of D0 defined in parent class - D.functionname : matlab function name (should be available in path) - D.argumentlist = [“c”, “cmin”, “cmax”]

cmax

maximum concentration [mol/m^3] (only needed if D is a function)

theta0

Minimum lithiation, 0% SOC [-] (only needed if D is a function)

theta100

Maximum lithiation, 100% SOC [-] (only needed if D is a function)

class SimplifiedSolidDiffusionModelInputParams(jsonstruct)

See simplified model presented in Comparison of approximate solution methods for the solid phase diffusion equation in a porous electrode model by Zhang, Qi and White, Ralph E ( Journal of power sources, 2007) [ZW07]

Current Collector

class CurrentCollectorInputParams(jsonstruct)

Input parameter class for the CurrentCollector model

externalCouplingTerm

coupling term specification of the current collector with external source

thermalConductivity

Thermal conductivity of current collector

specificHeatCapacity

Heat capacity of current collector

density

Density of current collector [kg m^-3]

Electrolyte components

_images/electrolytegraph.png
class ElectrolyteInputParams(jsonstruct)

Input parameter class for Electrolyte model

compnames

Names of the components in the electrolyte

sp

Structure given properties of each component

Separator

Input parameter for the separator (SeparatorInputParams)

specificHeatCapacity

Specific Heat capacity of the electrolyte

Conductivity

Density [kg m^-3] (Note : only of the liquid part, the density of the separator is given there)

class SeparatorInputParams(jsonstruct)

Input parameter class for Separator model

porosity

Porosity [-]

thermalConductivity

Intrinsic Thermal conductivity of the electrolyte

specificHeatCapacity

Specific Heat capacity of the electrolyte

density

Density [kg m^-3]

Electronic Component

Base model for all component with a electrical potential and a charge conservation equation

class ElectronicComponentInputParams(jsonstruct)

Input parameter class for ElectronicComponent model

EffectiveElectricalConductivity

conductivity (effective value)

In many models, this value is not used as the conductivity depends on other parameters