Skip to content

Commit a6ccf32

Browse files
#1100 merge develop
2 parents 789a85f + 0d34872 commit a6ccf32

File tree

235 files changed

+86957
-1431
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

235 files changed

+86957
-1431
lines changed

.all-contributorsrc

+11
Original file line numberDiff line numberDiff line change
@@ -261,6 +261,17 @@
261261
"contributions": [
262262
"doc"
263263
]
264+
},
265+
{
266+
"login": "weilongai",
267+
"name": "WEILONG AI",
268+
"avatar_url": "https://avatars1.githubusercontent.com/u/41424174?v=4",
269+
"profile": "https://github.com/weilongai",
270+
"contributions": [
271+
"code",
272+
"example",
273+
"test"
274+
]
264275
}
265276
],
266277
"contributorsPerLine": 7,

.github/release_checklist.md

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
- Increment version number in `version`
2+
- Increment version number in `docs/conf.py`
3+
- Update CHANGELOG.md with a summary of the release
4+
- Update (and pin) jax and jaxlib to latest version and fix any bugs that arise

.github/workflows/test_on_push.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ jobs:
5656
5757
- name: Install Windows system dependencies
5858
if: matrix.os == 'windows-latest'
59-
run: choco install graphviz
59+
run: choco install graphviz --version=2.38.0.20190211
6060

6161
- name: Install standard python dependencies
6262
run: |

CHANGELOG.md

+19-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,21 @@
11
# [Unreleased](https://github.com/pybamm-team/PyBaMM)
22

33
## Features
4+
- Added composite surface form electrolyte models: `CompositeDifferential` and `CompositeAlgebraic` ([#1207](https://github.com/pybamm-team/PyBaMM/issues/1207))
45

6+
## Optimizations
7+
8+
## Bug fixes
9+
10+
## Breaking changes
11+
12+
# [v0.3.0](https://github.com/pybamm-team/PyBaMM) - 2020-11-22
13+
14+
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.
15+
16+
## Features
17+
18+
- Added a submodel for particle swelling and cracking ([#1232](https://github.com/pybamm-team/PyBaMM/pull/1232))
519
- Added a notebook on how to speed up the solver and handle instabilities ([#1223](https://github.com/pybamm-team/PyBaMM/pull/1223))
620
- Improve string printing of `BinaryOperator`, `Function`, and `Concatenation` objects ([#1223](https://github.com/pybamm-team/PyBaMM/pull/1223))
721
- Added `Solution.integration_time`, which is the time taken just by the integration subroutine, without extra setups ([#1223](https://github.com/pybamm-team/PyBaMM/pull/1223))
@@ -13,6 +27,7 @@
1327

1428
## Optimizations
1529

30+
- Operations such as `1*x` and `0+x` now directly return `x` ([#1252](https://github.com/pybamm-team/PyBaMM/pull/1252))
1631
- Add (optional) smooth approximations for the `Minimum`, `Maximum`, `Heaviside`, and `AbsoluteValue` operators ([#1223](https://github.com/pybamm-team/PyBaMM/pull/1223))
1732
- Avoid unnecessary repeated computations in the solvers ([#1222](https://github.com/pybamm-team/PyBaMM/pull/1222))
1833
- Rewrite `Symbol.is_constant` to be more efficient ([#1222](https://github.com/pybamm-team/PyBaMM/pull/1222))
@@ -21,15 +36,18 @@
2136

2237
## Bug fixes
2338

39+
- Quickplot now works when timescale or lengthscale is a function of an input parameter ([#1234](https://github.com/pybamm-team/PyBaMM/pull/1234))
2440
- Fix bug that was slowing down creation of the EC reaction SEI submodel ([#1227](https://github.com/pybamm-team/PyBaMM/pull/1227))
2541
- Add missing separator thermal parameters for the Ecker parameter set ([#1226](https://github.com/pybamm-team/PyBaMM/pull/1226))
42+
- Make sure simulation solves when evaluated timescale is a function of an input parameter ([#1218](https://github.com/pybamm-team/PyBaMM/pull/1218))
2643
- Raise error if saving to MATLAB with variable names that MATLAB can't read, and give option of providing alternative variable names ([#1206](https://github.com/pybamm-team/PyBaMM/pull/1206))
2744
- Raise error if the boundary condition at the origin in a spherical domain is other than no-flux ([#1175](https://github.com/pybamm-team/PyBaMM/pull/1175))
2845
- Fix boundary conditions at r = 0 for Creating Models notebooks ([#1173](https://github.com/pybamm-team/PyBaMM/pull/1173))
29-
- Make sure simulation solves when evaluated timescale is a function of an input parameter ([#1218](https://github.com/pybamm-team/PyBaMM/pull/1218))
3046

3147
## Breaking changes
3248

49+
- Operations such as `1*x` and `0+x` now directly return `x`. This can be bypassed by explicitly creating the binary operators, e.g. `pybamm.Multiplication(1, x)` ([#1252](https://github.com/pybamm-team/PyBaMM/pull/1252))
50+
- The parameters "Positive/Negative particle distribution in x" and "Positive/Negative surface area per unit volume distribution in x" have been deprecated. Instead, users can provide "Positive/Negative particle radius [m]" and "Positive/Negative surface area per unit volume [m-1]" directly as functions of through-cell position (x [m]) ([#1237](https://github.com/pybamm-team/PyBaMM/pull/1237))
3351

3452
# [v0.2.4](https://github.com/pybamm-team/PyBaMM/tree/v0.2.4) - 2020-09-07
3553

MANIFEST.in

+3
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ include pybamm/input/parameters/lithium-ion/electrolytes/lipf6_Nyman2008/paramet
2828
include pybamm/input/parameters/lithium-ion/separators/separator_Kim2011/parameters.csv
2929
include pybamm/input/parameters/lithium-ion/separators/separator_Chen2020/parameters.csv
3030
include pybamm/input/parameters/lithium-ion/separators/separator_Marquis2019/parameters.csv
31+
include pybamm/input/parameters/lithium-ion/mechanicals/lico2_graphite_Ai2020/parameters.csv
32+
include pybamm/input/parameters/lithium-ion/anodes/graphite_Ai2020/graphite_ocp_Enertech_Ai2020.csv
3133
include pybamm/input/parameters/lead-acid/anodes/lead_Sulzer2019/lead_ocp_Bode1977.py
3234
include pybamm/input/parameters/lead-acid/cathodes/lead_dioxide_Sulzer2019/lead_dioxide_ocp_Bode1977.py
3335
include pybamm/input/parameters/lead-acid/electrolytes/sulfuric_acid_Sulzer2019/diffusivity_Gu1997.py
@@ -82,6 +84,7 @@ include pybamm/input/parameters/lithium-ion/electrolytes/lipf6_Nyman2008/README.
8284
include pybamm/input/parameters/lithium-ion/separators/separator_Kim2011/README.md
8385
include pybamm/input/parameters/lithium-ion/separators/separator_Chen2020/README.md
8486
include pybamm/input/parameters/lithium-ion/separators/separator_Marquis2019/README.md
87+
include pybamm/input/parameters/lithium-ion/mechanicals/lico2_graphite_Ai2020/README.md
8588
include pybamm/version
8689
include pybamm/CITATIONS.txt
8790
include CMakeBuild.py

README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/pybamm-team/PyBaMM/blob/master/)
77
[![black_code_style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)
88
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
9-
[![All Contributors](https://img.shields.io/badge/all_contributors-21-orange.svg?style=flat-square)](#contributors-)
9+
[![All Contributors](https://img.shields.io/badge/all_contributors-22-orange.svg?style=flat-square)](#contributors-)
1010
<!-- ALL-CONTRIBUTORS-BADGE:END -->
1111

1212
PyBaMM (Python Battery Mathematical Modelling) solves physics-based electrochemical DAE models by using state-of-the-art automatic differentiation and numerical solvers. The Doyle-Fuller-Newman model can be solved in under 0.1 seconds, while the reduced-order Single Particle Model and Single Particle Model with electrolyte can be solved in just a few milliseconds. Additional physics can easily be included such as thermal effects, fast particle diffusion, 3D effects, and more. All models are implemented in a flexible manner, and a wide range of models and parameter sets (NCA, NMC, LiCoO2, ...) are available. There is also functionality to simulate any set of experimental instructions, such as CCCV or GITT, or specify drive cycles.
@@ -140,6 +140,9 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
140140
<td align="center"><a href="https://github.com/dalbamont"><img src="https://avatars1.githubusercontent.com/u/19659095?v=4" width="100px;" alt=""/><br /><sub><b>dalbamont</b></sub></a><br /><a href="https://github.com/pybamm-team/PyBaMM/commits?author=dalbamont" title="Code">💻</a></td>
141141
<td align="center"><a href="https://github.com/anandmy"><img src="https://avatars1.githubusercontent.com/u/34894671?v=4" width="100px;" alt=""/><br /><sub><b>Anand Mohan Yadav</b></sub></a><br /><a href="https://github.com/pybamm-team/PyBaMM/commits?author=anandmy" title="Documentation">📖</a></td>
142142
</tr>
143+
<tr>
144+
<td align="center"><a href="https://github.com/weilongai"><img src="https://avatars1.githubusercontent.com/u/41424174?v=4" width="100px;" alt=""/><br /><sub><b>WEILONG AI</b></sub></a><br /><a href="https://github.com/pybamm-team/PyBaMM/commits?author=weilongai" title="Code">💻</a> <a href="#example-weilongai" title="Examples">💡</a> <a href="https://github.com/pybamm-team/PyBaMM/commits?author=weilongai" title="Tests">⚠️</a></td>
145+
</tr>
143146
</table>
144147

145148
<!-- markdownlint-enable -->

docs/conf.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
author = "The PyBaMM Team"
2727

2828
# The short X.Y version
29-
version = "0.2"
29+
version = "0.3"
3030
# The full version, including alpha/beta/rc tags
31-
release = "0.2.4"
31+
release = "0.3.0-beta"
3232

3333

3434
# -- General configuration ---------------------------------------------------

docs/requirements.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Requirements for readthedocs.io
2-
numpy >= 1.16
2+
numpy >= 1.16
33
scipy >= 1.3
44
pandas >= 0.24
55
anytree >= 2.4.3

docs/source/expression_tree/broadcasts.rst

+4
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,7 @@ Broadcasting Operators
2323
:members:
2424

2525
.. autofunction:: pybamm.ones_like
26+
27+
.. autofunction:: pybamm.zeros_like
28+
29+
.. autofunction:: pybamm.full_like

docs/source/models/submodels/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Submodels
1414
interface/index
1515
oxygen_diffusion/index
1616
particle/index
17+
particle_cracking/index
1718
porosity/index
1819
thermal/index
1920
tortuosity/index
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Base Particle Cracking Model
2+
============================
3+
4+
.. autoclass:: pybamm.particle_cracking.BaseCracking
5+
:members:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Crack Propagation Model
2+
=======================
3+
4+
.. autoclass:: pybamm.particle_cracking.CrackPropagation
5+
:members:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Particle Cracking
2+
=================
3+
4+
.. toctree::
5+
:maxdepth: 1
6+
7+
base_cracking
8+
crack_propagation
9+
no_cracking
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
No Cracking Model
2+
=================
3+
4+
.. autoclass:: pybamm.particle_cracking.NoCracking
5+
:members:

examples/notebooks/Creating Models/4-comparing-full-and-reduced-order-models.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@
391391
"name": "python",
392392
"nbconvert_exporter": "python",
393393
"pygments_lexer": "ipython3",
394-
"version": "3.6.8"
394+
"version": "3.7.7"
395395
}
396396
},
397397
"nbformat": 4,

examples/notebooks/Getting Started/Tutorial 1 - How to run a model.ipynb

+3-3
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
{
8484
"data": {
8585
"text/plain": [
86-
"<pybamm.solvers.solution.Solution at 0x7f09715ea9b0>"
86+
"<pybamm.solvers.solution.Solution at 0x7f20b554f650>"
8787
]
8888
},
8989
"execution_count": 4,
@@ -110,7 +110,7 @@
110110
{
111111
"data": {
112112
"application/vnd.jupyter.widget-view+json": {
113-
"model_id": "06ae219fb8b94fa3aad3b8907a41ed27",
113+
"model_id": "2b323f5e668d4135834681aac97571ce",
114114
"version_major": 2,
115115
"version_minor": 0
116116
},
@@ -152,7 +152,7 @@
152152
"name": "python",
153153
"nbconvert_exporter": "python",
154154
"pygments_lexer": "ipython3",
155-
"version": "3.6.9"
155+
"version": "3.7.8"
156156
}
157157
},
158158
"nbformat": 4,

examples/notebooks/Getting Started/Tutorial 5 - Run experiments.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@
206206
"name": "python",
207207
"nbconvert_exporter": "python",
208208
"pygments_lexer": "ipython3",
209-
"version": "3.6.9"
209+
"version": "3.7.8"
210210
}
211211
},
212212
"nbformat": 4,

examples/notebooks/Getting Started/Tutorial 7 - Model options.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@
140140
"name": "python",
141141
"nbconvert_exporter": "python",
142142
"pygments_lexer": "ipython3",
143-
"version": "3.6.9"
143+
"version": "3.7.8"
144144
}
145145
},
146146
"nbformat": 4,

examples/notebooks/Getting Started/Tutorial 9 - Changing the mesh.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@
288288
"name": "python",
289289
"nbconvert_exporter": "python",
290290
"pygments_lexer": "ipython3",
291-
"version": "3.6.9"
291+
"version": "3.7.8"
292292
}
293293
},
294294
"nbformat": 4,

0 commit comments

Comments
 (0)