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. PyBaMM’s development 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.
- 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
- many inbuilt models and solvers to provide user with choice
- submodel structure allows for simple integration of new physics
- modular code base separates models, discretization and solver so that each can be selected independently (e.g. easy to include your own solver)
- open source
- user-friendly python codebase
- 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.