pybamm.ParameterValues holds all the numerical values that define a specific battery cell — geometry, material properties, transport coefficients, kinetic parameters, and more. Every parameter in PyBaMM carries SI units in its name.
Loading a built-in parameter set
PyBaMM ships with a collection of published parameter sets. Pass the name as a string:ParameterValues object:
Available parameter sets
Lithium-ion
Chen2020
LG M50 NMC/graphite cell. A widely used general-purpose parameter set.
Marquis2019
NMC/graphite cell from the DFN model derivation paper. Used in many PyBaMM examples.
OKane2022
Graphite/NMC cell with degradation parameters (SEI, lithium plating).
ORegan2022
NMC/graphite cell with thermal and mechanical parameters.
Ecker2015
Kokam NMC/graphite cell with full porous-electrode parameters.
Ai2020
NMC/graphite cell with mechanical parameters for stress-driven LAM.
Mohtat2020
NMC/graphite with aging parameters.
NCA_Kim2011
NCA/graphite cell.
Prada2013
LFP/graphite A123 cell.
Ramadass2004
Sony US18650 cell, one of the earliest complete DFN parameter sets.
Xu2019
NMC/graphite pouch cell.
Chen2020_composite
Composite graphite-SiOx/NMC cell (multi-phase negative electrode).
Half-cell parameter sets
Other chemistries
Exploring parameters
Updating parameters
Update individual values with dict-style assignment:Custom parameter functions
Many parameters are functions (e.g. diffusivity as a function of concentration and temperature). Define them as Python callables:pybamm symbolic expressions so they can be differentiated and compiled.
Drive cycle (time-varying current)
Use anInterpolant to define a current from data:
BPX format
PyBaMM supports the Battery Parameter eXchange (BPX) format, a standardised JSON schema for battery parameters.BPX support requires the optional
bpx dependency: pip install pybamm[bpx]Loading from a BPX file
Loading from a BPX dict object
Setting initial state of charge
You can set the initial lithium distribution to correspond to a target SOC:Input parameters
For parameter sweeps or sensitivity analysis, mark a parameter as an"[input]" to pass it at solve time without rebuilding the model: