Lithium-ionSimulationPythonCoupled Thermal ModelWeb ApplicationOpen SourceMATLABInteractive 3D PlottingSodium-ionContinuum ModelingJuliaElectrochemistryOptimizationP2DFinite Volume MethodBattery CellCell LibraryCalibrationSEI ModelingP3DP4DPlotting Dashboards

BattMo

What is BattMo?

BattMo is a versatile, and open-sourced, toolbox for modeling, and optimizing electrochemical devices. The initial development features a pseudo X-dimensional (PXD) framework for the Doyle-Fuller-Newman model of lithium-ion battery cells. However, the development plan for BattMo includes extensions to other battery chemistries (e.g. metal-air) and eventually hydrogen systems (i.e. electrolyzers and fuel cells). It provides interfaces for MATLAB, Python, and Julia, and includes an interactive web app to explore battery behavior, continuum modeling, and design optimization.

BattMo Overview

BattMo in Action

Thermal Effects

3D fully coupled thermal model in MATLAB.

High performance

Utilize the high performance interface in Julia for fast simulations.

Interactive Web Interface

See how BattMoApp lets you tweak parameters live.

BattMo Family

BattMo (MATLAB)

BattMo (MATLAB)

Comprehensive MATLAB interface


BattMo for MATLAB is the original and most feature-rich implementation. It includes a wide range of features and models. It also contains prototyping tools like a computational graph for a structured model development process.

BattMo.jl

BattMo.jl

High-performance Julia interface


BattMo.jl is a modern, high-performance implementation designed for speed and usability. While it’s still evolving to match the MATLAB version’s feature set, it offers a streamlined API for simulation and calibration, along with robust tools for debugging and parameter setup.

PyBattMo

PyBattMo

Python interface for BattMo.jl


PyBattMo is a Python wrapper for BattMo.jl, enabling seamless integration of Julia’s performance with Python’s ecosystem. It allows users to run BattMo simulations within Python while leveraging familiar libraries and tools.

BattMoApp

BattMoApp

User-friendly web interface


BattMoApp is an interactive web application designed for users who prefer graphical interfaces over coding. It offers an accessible way to perform battery simulations, making BattMo’s capabilities available to a broader audience.