On this page

PyBaMM GSoC 2023 Project Ideas

Projects

Documentation

Our documentation is currently fragmented across several different locations:

The goal of this project is to consolidate all of the information together under a single location.

As a stretch goal, the student will be expected to survey other popular python packages for ideas on how to improve our documentation infrastructure. Some ideas are:

Note that the focus of this project is not on writing documentation but on improving the infrastructure around it.

Expected outcomes

Desired skills

Difficulty

Potential mentors

Techno-economic analysis

While PyBaMM goes deep into advanced models of batteries, much can be done with simpler “back-of-the-envelope” calculations for the capacity, energy, mass, and cost of a battery. The goal of this project will be to create a library for techno-economic analysis that can be combined with existing PyBaMM functionality. This project will draw inspiration from existing libraries (https://github.com/mjlacey/cellmodels, https://github.com/ndrewwang/BotB). See those repositories for more detail on what the outcome might look like.

Expected outcomes

Desired skills

Difficulty

Potential mentors

Dockerizing and simplifying PyBaMM’s installation

PyBaMM currently has multiple required and optional dependencies, but the installation process for some of them is not straightforward. PyBaMM depends on tox to unify the installation process at the moment, but Dockerizing the process (without removing the tox dependency) will make it uniform for every platform and developer. The goal of this project would be to make PyBaMM’s developer installation, with optional as well as default dependencies, a breeze. Ideally, in the end, developers will be able to install PyBaMM (with specific dependencies chosen by them) using a single command.

Expected outcomes

Other possible issues/PRs that can be tackled - #2457, #2346, #2537.

Stretch goals:

Desired skills

Difficulty

Potential mentors