Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release notes 23.9 #63

Merged
merged 9 commits into from
Nov 20, 2023
86 changes: 76 additions & 10 deletions content/news.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,87 @@
---
title: PyBaMM Newsroom
shortcutDepth: 2
shortcutDepth: 1
newsHeader: "Battery Modelling Webinar Series 2021"
agriyakhetarpal marked this conversation as resolved.
Show resolved Hide resolved
date: 2021-07-06
toc: true
---

<!-- Format for adding news is: -->
<!-- ## Title -->
<!-- ###### Date -->
<!-- Text -->
<!-- _Date_ -->
<!-- Content -->

<!-- Change date and heading in YAML frontmatter for homepage -->

<!-- Note: follow reverse order while updating, sort in descending order of recency -->

## Release notes 23.9
_October 31, 2023_

PyBaMM 23.9 is finally here! This release marks the change to a new release schedule with three releases a year, aiming to publish the new versions at the end of January, May and September (ish). We would like to thank all the contributors that made this release possible.

The full list of changes can be found in the CHANGELOG file, but here we provide a deeper overview of the main features of this release.
brosaplanella marked this conversation as resolved.
Show resolved Hide resolved

### Installation of optional dependencies
The number of required dependencies for PyBaMM has now been reduced to: [NumPy](https://numpy.org/), [SciPy](https://docs.scipy.org/doc/scipy/), [CasADi](https://web.casadi.org/docs/) and [Xarray](https://docs.xarray.dev/en/stable/). This will be the only dependencies installed when running
```bash
pip install pybamm
```

In addition, PyBaMM has a number of optional dependencies for different functionalities. If using `pip`, optional PyBaMM dependencies can be installed as optional extras, e.g.
```bash
pip install pybamm[dev,plot]
```
where `[dev,plot]` specify the optional sets of dependencies to install (see [the docs](https://docs.pybamm.org/en/latest/source/user_guide/installation/index.html#optional-dependencies) for more information about all the options).

To install all optional dependencies the command is
```bash
pip install pybamm[all]
```

### SEI and plating models for both electrodes
From this version onwards, SEI (including SEI on cracks) and lithium plating models an be included in both the positive and the negative electrodes by passing a tuple of options, e.g.
```python3
model = pybamm.lithium_ion.DFN({"SEI": ("reaction limited", "reaction limited")})
```

To maintain the previous functionality, if a tuple is not given and `"working electrode"` is set to `"both"` (i.e. a full cell) then the setting will be applied only to the negative electrode. This change allows to use degradation models in half-cells, as shown in [this example notebook](https://docs.pybamm.org/en/latest/source/examples/notebooks/models/half-cell.html).

Note that this functionality introduced a breaking change as now all the variables corresponding to SEI, SEI on cracks and lithium plating have domains, e.g. `SEI thickness [m]` is no longer valid and `Negative SEI thickness [m]` or `Positive SEI thickness [m]` need to be used instead.

### Empirical hysteresis models
Another feature available in this version is empirical hysteresis for the particle diffusivity and the intercalation exchange-current density, which add to the existing functionality for hysteresis of the open-circuit potential. This means that these parameter functions can now be defined separately for lithiation and delithiation.

This functionality can be enabled by passing additional options to the model:
```python3
model = pybamm.lithium_ion.SPMe(
{
"open-circuit potential": ("current sigmoid", "single"),
"exchange-current density": ("current sigmoid", "single"),
"diffusivity": ("current sigmoid", "single"),
}
)
```
where the tuples specify different behaviours for each electrode. The parameter values then need to be updated to provide the values for lithiation and delithiation accordingly, as shown in [this example script](https://github.com/pybamm-team/PyBaMM/blob/develop/examples/scripts/emperical_hysteresis.py).

### NumPy functions
NumPy functions now work with PyBaMM symbols, which means they can be used directly (e.g. `np.exp(pybamm.Symbol("a"))`) instead of calling the PyBaMM function (e.g. `pybamm.exp(pybamm.Symbol("a"))`). Additionally, NumPy arrays are now automatically converted to PyBaMM arrays, so the former can be combined with PyBaMM objects.

### MSMR model
The Multi-Species Multi-Reaction (MSMR) model, from [Baker & Verbrugge (2018)](https://iopscience.iop.org/article/10.1149/2.0771816jes) is now available in PyBaMM. The syntax of the model is
```python3
model = pybamm.lithium_ion.MSMR({"number of MSMR reactions": ("6", "4")})
```
and the number of reactions in each electrode needs to be specified (in this case we use 6 reactions in the negative electrode and 4 reactions in the positive one). An example of this model, with detailed explanation, can be found [in this notebook](https://docs.pybamm.org/en/latest/source/examples/notebooks/models/MSMR.html).

### Thermal pouch model
The notation around thermal models for pouch cells has now been improved. The main breaking change is that now the `"lumped"` thermal option always uses the parameters `"Cell cooling surface area [m2]"`, `"Cell volume [m3]"` and `"Total heat transfer coefficient [W.m-2.K-1]"` to compute the cell cooling regardless of the chosen `"cell geometry"` option. When accounting for a pouch cell, the correct values for these parameters must be provided by the user.

The example notebooks for [thermal models](https://docs.pybamm.org/en/latest/source/examples/notebooks/models/thermal-models.html) and [pouch cell models](https://docs.pybamm.org/en/latest/source/examples/notebooks/models/pouch-cell-model.html) have now been updated to reflect these changes.


## Battery Modelling Webinar Series 2021
###### July 06, 2021
_July 06, 2021_

Robert Timms (University of Oxford) presented work on "Reduced-order 3D models of lithium-ion cells" today at the weekly Battery Modeling Webinar Series. The webinar attracts an audience from across the world with interests spanning a diverse range of battery-related topics.

Expand All @@ -29,7 +95,7 @@ examples) or [Google Colab](https://colab.research.google.com/github/pybamm-team


## PyBaMM JORS paper
###### June 09, 2021
_June 09, 2021_

Our introductory paper is now out in the Journal of Open Research Software! This paper explains the motivation and design philosophy behind PyBaMM. Find it here: https://doi.org/10.5334/jors.309

Expand Down Expand Up @@ -60,7 +126,7 @@ year = {2021}


## Oxford Battery Modelling Symposium 2021
###### March 31, 2021
_March 31, 2021_

Today the PyBaMM team presented a poster at the Oxford Battery Modelling Symposium 2021. The third edition of the OBMS ran virtually with Prof. Yue Qi (Brown University), Prof. Daniel Steingart (Columbia University) and Dr. Birger Horstmann (Helmholtz Institute Ulm) as keynote speakers.

Expand All @@ -71,7 +137,7 @@ You may try out PyBaMM for yourself by going to [Examples](https://github.com/py


## PyBaMM v0.4.0 Release
###### March 29, 2021
_March 29, 2021_

PyBaMM version 0.4.0 has now been released. This release introduces:

Expand All @@ -87,7 +153,7 @@ For more information, please see the full [CHANGELOG](https://github.com/pybamm-


## PyBaMM v0.3.0 Release
###### December 01, 2020
_December 01, 2020_

PyBaMM version 0.3.0 has now been released. This release introduces a new aging model for particle swelling and cracking, a new reduced-order model (TSPMe), and a parameter set for A123 LFP cells. Additionally, there have been several backend optimizations to speed up model creation and solving, and other minor features and bug fixes.

Expand All @@ -96,7 +162,7 @@ For more information, please see the full [CHANGELOG](https://github.com/pybamm-


## Faraday Institution Conference 2020
###### November 24, 2020
_November 24, 2020_

Robert Timms (University of Oxford) presented PyBaMM today in the Faraday Institution Annual Conference that took place online.

Expand All @@ -109,7 +175,7 @@ The recording of the talk is available on [YouTube](https://www.youtube.com/watc


## Battery Modelling Webinar Series
###### September 08, 2020
_September 08, 2020_

Valentin Sulzer (University of Michigan) presented PyBaMM today at the weekly
Battery Modeling Webinar Series, an event which attracts audience from across
Expand Down
28 changes: 28 additions & 0 deletions layouts/partials/single/content.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<section class="content-padding flex-row">
<div class="shortcuts-container">
<div class="shortcuts-title"><img src="/images/icons/list-bulleted.svg"/>On this page</div>
<div id="shortcuts"></div>
</div>
<div class="content-container">
<div class="columns">
<div class="column is-centered-tablet-portrait">
<h1 class="title section-title">{{ .Title }}</h1>
<h5 class="subtitle is-5 is-muted">{{ .Params.Subtitle }}</h5>
<div class="divider"></div>
</div>
</div>
{{ with partial "post_meta.html" . -}}
<div class="post-meta">{{ . }}</div>
{{- end }}
<!-- override partial to add optional table of contents -->
{{ if .Params.ToC }}
<div class="column is-centered-tablet-portrait">
{{ .TableOfContents }}
</div>
{{ end }}
<div class="post-content">
{{ .Content }}
</div>
</div>
</div>
</section>