BattMo is a Battery Modelling Toolbox for continuum modelling of electrochemical devices in MATLAB. It is developed to support the battery industry and research communities. The code is open-source and available for download on GitHub.

The initial focus of BattMo is the simulation of Li-ion batteries. It includes a library of pre-defined Li-ion material, component, and cell models together with common operating conditions including laboratory protocols (e.g., CC-CV, GITT, and HPPC) and real-world conditions like the New European Drive Cycle (NEDC) and the Worldwide Harmonized Light Vehicles Test Cycle (WLTC).

BattMo is designed to be flexible and easily adaptable for a variety of electrochemical devices. It uses the finite volume method to simulate the spatiotemporal profiles of state variables like concentration, electric potential, and temperature in electrochemical cells during operation. It transforms the battery geometry into a computational mesh, which can be resolved in one-dimension (1D), two-dimensions (2D), or three-dimensions (3D). For reactions in which species distribution across the radial direction of active material particles is important, an additional computational dimension can be introduced to implement the pseudo-2D (P2D), pseudo-3D (P3D), or pseudo-4D (P4D) formulations.

\frac{\partial c_i}{\partial t} = -\vec{\nabla}\cdot\vec{N}_i^{\mathrm{D,M}} + \dot{s}_i