PyBaMM (Python Battery Mathematical Modelling)
PyBaMM is a unique and versatile battery modelling package for python produced by a consortium of academics connected through the Faraday Institution. Its mission is to accelerate battery modelling research by providing an open-source framework for multi-institutional, interdisciplinary collaboration. The development of PyBaMM has been driven by a need within the battery community for a modelling software that is reliable, flexible, and efficient. The Oxford Battery Modelling group has played a central role in the development of PyBaMM, drawing upon our unique skill base to satisfy the key requirements of the battery community.
Reliable
- modern professional software engineering techniques
- test driven development
- modular code base for easy updating and testing
- professional software engineers within the core PyBaMM development team
- well documented
Flexible
- open source
- collection of inbuilt models and solvers to provide user with choice
- submodel structure allows for simple integration of new physics
- modular code base separates models, parameterisation, discretisation and solver so that each can be selected independently
- user-friendly python codebase
Efficient
- passes computationally expensive operations to lower level programming languages (e.g. C)
- includes accurate reduced-order models suitable for many applications
- uses automatic differentiation to compute the Jacobian for any model, greatly improving solver performance
Please visit the PyBaMM website for more information, including a getting started guide. The source code is available on Github. We are always open to contributions, so please feel free to submit an issue or fork the repository and submit a pull request to add to the codebase.