PyBaMM icon indicating copy to clipboard operation
PyBaMM copied to clipboard

Technical roadmap review [2025]

Open brosaplanella opened this issue 6 months ago • 1 comments

It has been over one year since we established the roadmap, so it's time to review it. We will discuss it in the next developer meeting (7th July, 4pm London time).

Similar to the previous discussion (https://github.com/pybamm-team/PyBaMM/issues/3839), this issue should serve to suggest areas. In the meeting we will discuss them, choose a subset and define a leader/coordinator for each one.

brosaplanella avatar Jun 17 '25 16:06 brosaplanella

Current areas are:

  • https://github.com/pybamm-team/PyBaMM/issues/3908
  • https://github.com/pybamm-team/PyBaMM/issues/3909
  • https://github.com/pybamm-team/PyBaMM/issues/3910

Here are some of the areas we didn't cover last time:

  • https://github.com/pybamm-team/PyBaMM/issues/3839#issuecomment-1966644699
  • https://github.com/pybamm-team/PyBaMM/issues/3839#issuecomment-1999405991
  • https://github.com/pybamm-team/PyBaMM/issues/3839#issuecomment-1999415696

brosaplanella avatar Jun 17 '25 16:06 brosaplanella

Possible sensitivity improvements:

  • Interpolation in processed variables similar to values
  • adjoint sensitivities (only for output_variables of explicit time integral or discrete time sum)
  • hessian (requires adjoint)
  • calculate sensitivity term due to movement of event time

martinjrobins avatar Jul 07 '25 07:07 martinjrobins

Not sure if it deserves to be its own focus area, but I am planning on focusing on the following infrastructure topics for this year:

  • [ ] Python 3.13 support
  • [ ] PyBaMM solvers release issues
  • [ ] PyBaMM solvers ARM support
  • [ ] Numpy 2.0 support

kratman avatar Jul 07 '25 15:07 kratman

Improve higher-dimensional modelling (this is an active GSOC project):

  • 2D/3D finite volume/element methods
  • P2D model coupled to 3D thermal
  • 3D network models (see JellyBaMM or PyECN)

rtimms avatar Jul 07 '25 15:07 rtimms

I can revisit the state of WASM support (which currently works only with the CasadiSolver, as I last discussed at the conference) in coordination with Eric's PyBaMM solvers infrastructure support, where the removal of IREE code paths makes things a little easier.

agriyakhetarpal avatar Jul 07 '25 16:07 agriyakhetarpal

Summary of roadmap meeting 07/07/25

The outcome of the meeting is to close the 3 existing roadmap areas and substitute them by the following three:

  • Improvements on solver sensitivities (aka sensitivities, led by @martinjrobins): expose existing SUNDIALS functionality to improve sensitivity calculation (see Martin's comment).
  • Submodel interfaces & options (aka submodels, led by @brosaplanella): rationalise the current approach to submodels, restricting the models that can be created using model options and allowing users to easily define models as a collection of submodels.
  • Develop high-dimensional methods (aka 2D & 3D, led by @rtimms): expand the spatial methods and meshes to do 2D and 3D finite volume/element (see Rob's comment).

The people leading each area are just a contact point, so if you are interested in contributing please get in touch with them. Other areas suggested in the meeting are:

  • Infrastructure (see Eric's and Agriya's comments): improve support across architectures and update to newer Python and dependency releases.
  • Userbase knowledge: use telemetry and/or surveys to better understand how users use PyBaMM and inform further development.
  • Pre-calculations: allow users to specify setups (e.g. geometric) and generate the model parameters from there (e.g. compute electrode surface area from jellyroll dimensions).

Despite not being chosen in the meeting, if someone wants to lead any of the areas above please get in touch.

brosaplanella avatar Jul 08 '25 06:07 brosaplanella

For further discussion on the roadmap areas please use the dedicated issues:

  • #5101
  • #5102
  • #5103

brosaplanella avatar Jul 08 '25 07:07 brosaplanella