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

Merge develop into main for v0.4.0 release #49

Merged
merged 70 commits into from
Nov 20, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
b0433de
Fixed maximum concentration in positive electrode in test file
ikorotkin Jun 16, 2023
3f83150
Fixed maximum concentration in test_schema.py according to issue #30
ikorotkin Jun 16, 2023
a88ac51
Merge pull request #31 from ikorotkin/issue-30-fix-max-concentration-…
rtimms Jun 16, 2023
7411768
Validate the sto limits according to issue #8
ikorotkin Jun 19, 2023
e836bbe
Fixed tests, added target_soc tests
ikorotkin Jun 19, 2023
233f4db
Fix too big maximum concentration in the example
ikorotkin Jun 19, 2023
6ca9e7b
Added tests for the STO limit validator
ikorotkin Jun 19, 2023
1339711
Improved error messages for the STO limits validator
ikorotkin Jun 19, 2023
3a848d7
Added dict of electrodes for well-mixed blended electrode support
ikorotkin Jun 20, 2023
d03c39a
Added blended electrode example to the test
ikorotkin Jun 20, 2023
8dc406b
Split electrode properties into chemistry and other, update test
ikorotkin Jun 20, 2023
4a36ec6
Renamed classes ElectrodeChemistry and ElectrodeOther to Particle and…
ikorotkin Jun 21, 2023
bed16f8
First attempt to add validation based on models according to issue #29
ikorotkin Jun 21, 2023
5eeb7e9
Add skip_on_failure for the sto limit validator (no need to check the…
ikorotkin Jun 21, 2023
4a3704b
merge main
rtimms Jul 2, 2023
804d758
merge develop
rtimms Jul 2, 2023
8ad4272
#26 allow user-defined params
rtimms Aug 31, 2023
274dc79
#26 changelog
rtimms Aug 31, 2023
f933a15
update docs and README.md
rtimms Aug 31, 2023
acb236f
update docstrings
rtimms Sep 1, 2023
eb9579d
Updated CHANGELOG
ikorotkin Sep 4, 2023
c2afaf8
Merge branch 'develop' into issue-23-blended-electrodes
ikorotkin Sep 4, 2023
3b3e389
Merge remote-tracking branch 'upstream/develop' into issue-29-validat…
ikorotkin Sep 4, 2023
e286492
Updated CHANGELOG
ikorotkin Sep 4, 2023
f88c6f4
Raise a warning instead of an error
ikorotkin Sep 6, 2023
bca53ce
Updated CHANGELOG
ikorotkin Sep 6, 2023
58930b3
Merge pull request #34 from ikorotkin/issue-29-validation-based-on-mo…
rtimms Sep 11, 2023
2a6a0a6
Merged development into issue-23-blended-electrodes
ikorotkin Sep 11, 2023
679e153
Merge pull request #33 from ikorotkin/issue-23-blended-electrodes
ikorotkin Sep 11, 2023
b46ddc4
Merged development into issue-8-sto-limits
ikorotkin Sep 11, 2023
14f2c11
Added STO limit check for all parameter sets (including SPM)
ikorotkin Sep 11, 2023
b9200d1
Changed error to a warning if initial SOC is outside of [0,1]
ikorotkin Sep 11, 2023
7a54d44
Changed error to a warning for STO limits validator
ikorotkin Sep 11, 2023
19d3dcf
Moved STO validator from schema to new file validators.py
ikorotkin Sep 12, 2023
755ccfd
Added user-defined tolerance to check minimum/maximum voltage limits.…
ikorotkin Sep 12, 2023
d18380d
Treat more warnings as errors for testing
ikorotkin Sep 12, 2023
3524977
Updated CHANGELOG
ikorotkin Sep 13, 2023
1fa5ba0
Added example JSON files
ikorotkin Sep 25, 2023
e4b061c
Updated changelog
ikorotkin Sep 25, 2023
98b9c1e
merge develop
rtimms Oct 5, 2023
fc38062
#26 fix types for user-defined parameters
rtimms Oct 5, 2023
f116efd
#26 use get_args
rtimms Oct 5, 2023
dd506d8
#26 use get_args
rtimms Oct 5, 2023
b797fea
#26 update changelog
rtimms Oct 5, 2023
28eb745
merge develop
rtimms Oct 13, 2023
4cba3f6
update url
rtimms Oct 16, 2023
694e727
update docstrings
rtimms Oct 16, 2023
cd00a67
Merge pull request #45 from ikorotkin/examples
rtimms Oct 19, 2023
ea7c2c1
merge develop
rtimms Oct 19, 2023
e4168ef
Merge develop
ikorotkin Oct 19, 2023
79ecbc2
Merge pull request #44 from FaradayInstitution/issue-26-user-defined-…
rtimms Oct 19, 2023
ee7f21c
update authors and install
rtimms Oct 19, 2023
2fbff65
update CHANGELOG
rtimms Oct 19, 2023
8b359b3
add readthedocs.yaml
rtimms Oct 19, 2023
337624b
Merge develop
ikorotkin Oct 19, 2023
1d51b3d
Add v_tol to parse_bpx_obj and parse_bpx_str, rename the global setti…
ikorotkin Oct 19, 2023
cd577b9
Added tests
ikorotkin Oct 19, 2023
df537c7
Split long strings into several lines
ikorotkin Oct 19, 2023
fee5318
Fix one typo and one description
ikorotkin Oct 19, 2023
bc8382e
Merge pull request #47 from ikorotkin/typos
rtimms Oct 19, 2023
b677fe2
Merge pull request #32 from ikorotkin/issue-8-sto-limits
rtimms Oct 19, 2023
9099c56
merge develop
rtimms Nov 8, 2023
19b78b8
remove makefile
rtimms Nov 8, 2023
9bdb956
Merge pull request #43 from FaradayInstitution/docs
rtimms Nov 8, 2023
c36a05b
bump version number
rtimms Nov 8, 2023
39ad3d6
update changelog
rtimms Nov 8, 2023
599d80a
Merge pull request #48 from FaradayInstitution/v-0-4-0-release
rtimms Nov 9, 2023
9d57532
Merge branch 'main' into develop
rtimms Nov 9, 2023
c184b7b
update urls and docs instructios
rtimms Nov 13, 2023
64c6470
revert bpx-example url
rtimms Nov 13, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# [v0.4.0](https://github.com/FaradayInstitution/BPX/releases/tag/v0.4.0)

- Added five parametrisation examples (two DFN parametrisation examples from About:Energy open-source release, blended electrode definition, user-defined 0th-order hysteresis, and SPM parametrisation). ([#45](https://github.com/FaradayInstitution/BPX/pull/45))
- Allow user-defined parameters to be added using the field ["Parameterisation"]["User-defined"] ([#44](https://github.com/pybamm-team/BPX/pull/44))
- Allow user-defined parameters to be added using the field ["Parameterisation"]["User-defined"] ([#44](https://github.com/FaradayInstitution/BPX/pull/44))
- Added basic API documentation ([#43](https://github.com/FaradayInstitution/BPX/pull/43))
- Added validation based on models: SPM, SPMe, DFN ([#34](https://github.com/pybamm-team/BPX/pull/34)). A warning will be produced if the user-defined model type does not match the parameter set (e.g., if the model is `SPM`, but the full DFN model parameters are provided).
- Added support for well-mixed, blended electrodes that contain more than one active material ([#33](https://github.com/pybamm-team/BPX/pull/33))
- Added validation based on models: SPM, SPMe, DFN ([#34](https://github.com/FaradayInstitution/BPX/pull/34)). A warning will be produced if the user-defined model type does not match the parameter set (e.g., if the model is `SPM`, but the full DFN model parameters are provided).
- Added support for well-mixed, blended electrodes that contain more than one active material ([#33](https://github.com/FaradayInstitution/BPX/pull/33))
- Added validation of the STO limits subbed into the OCPs vs the upper/lower cut-off voltage limits for non-blended electrodes with the OCPs defined as functions ([#32](https://github.com/FaradayInstitution/BPX/pull/32)). The user can provide a tolerance by updating the settings variable `BPX.settings.tolerances["Voltage [V]"]` or by passing extra option `v_tol` to `parse_bpx_file()`, `parse_bpx_obj()` or `parse_bpx_str()` functions. Default value of the tolerance is 1 mV. The tolerance cannot be negative.
- Added the target SOC check in `get_electrode_concentrations()` function. Raise a warning if the SOC is outside of [0,1] interval.

# [v0.3.1](https://github.com/FaradayInstitution/BPX/releases/tag/v0.3.1)

- Temporarily pin Pydantic version ([#35](https://github.com/FaradayInstitution/BPX/pull/35))

# [v0.3.0](https://github.com/pybamm-team/BPX/releases/tag/v0.3.0)
# [v0.3.0](https://github.com/FaradayInstitution/BPX/releases/tag/v0.3.0)

- Added a missing factor of 2 in the definition of the interfacial current, see the Butler-Volmer equation (2a) in the associated BPX standard document. The interfacial current is now given by $j=2j_0\sinh(F\eta/2/R/T)$ instead of $j=j_0\sinh(F\eta/2/R/T)$.

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ This repository features a Pydantic-based parser for JSON files in the BPX forma

To support the new open standard, [About:Energy](https://www.aboutenergy.io/) have supplied two parameters sets for an NMC and LFP cell. The BPX files and associated examples and information can be found on the [A:E BPX Parameterisation repository](https://github.com/About-Energy-OpenSource/About-Energy-BPX-Parameterisation/).

To see how to use BPX with [PyBaMM](https://www.pybamm.org/), check out the [BPX example repository](https://github.com/pybamm-team/bpx-example).
To see how to use BPX with [PyBaMM](https://www.pybamm.org/), check out the [BPX example repository](https://github.com/FaradayInstitution/bpx-example).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops, now this link is broken (and a few other links to bpx-example below), it should be in pybamm-team repo.


## 🚀 Installation
The BPX package can be installed using pip
Expand All @@ -26,7 +26,7 @@ import bpx
filename = 'path/to/my/file.json'
my_params = bpx.parse_bpx_file(filename)
```
`my_params` will now be of type `BPX`, which acts like a python dataclass with the same attributes as the BPX format. To obatin example files, see the `examples` folder, the [A:E BPX Parameterisation repository](https://github.com/About-Energy-OpenSource/About-Energy-BPX-Parameterisation/), or the [BPX example repository](https://github.com/pybamm-team/bpx-example).
`my_params` will now be of type `BPX`, which acts like a python dataclass with the same attributes as the BPX format. To obatin example files, see the `examples` folder, the [A:E BPX Parameterisation repository](https://github.com/About-Energy-OpenSource/About-Energy-BPX-Parameterisation/), or the [BPX example repository](https://github.com/FaradayInstitution/bpx-example).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And here as well, should be pybamm-team.


Attributes of the class can be printed out using the standard Python dot notation, for example, you can print out the initial temperature of the cell using
```python
Expand Down Expand Up @@ -60,7 +60,7 @@ print(bpx.BPX.schema_json(indent=2))
According to the `pydantic` docs, the generated schemas are compliant with the specifications: JSON Schema Core, JSON Schema Validation and OpenAPI.

## 📖 Documentation
API documentation for the `bpx` package can be built locally using [Sphinx](https://www.sphinx-doc.org/en/master/). To build the documentation first [clone the repository](https://github.com/git-guides/git-clone), then run the following command:
API documentation for the `bpx` package can be built locally using [Sphinx](https://www.sphinx-doc.org/en/master/). To build the documentation first [clone the repository](https://github.com/git-guides/git-clone), install the `bpx` package, and then run the following command:
```bash
sphinx-build docs docs/_build/html
```
Expand Down
2 changes: 1 addition & 1 deletion docs/source/user_guide/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import bpx
filename = 'path/to/my/file.json'
my_params = bpx.parse_bpx_file(filename)
```
`my_params` will now be of type `BPX`, which acts like a python dataclass with the same attributes as the BPX format. To obatin example files, see the [A:E BPX Parameterisation repository](https://github.com/About-Energy-OpenSource/About-Energy-BPX-Parameterisation/) or [BPX example repository](https://github.com/pybamm-team/bpx-example).
`my_params` will now be of type `BPX`, which acts like a python dataclass with the same attributes as the BPX format. To obatin example files, see the [A:E BPX Parameterisation repository](https://github.com/About-Energy-OpenSource/About-Energy-BPX-Parameterisation/) or [BPX example repository](https://github.com/FaradayInstitution/bpx-example).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bpx-example repo is in pybamm-team


Attributes of the class can be printed out using the standard Python dot notation, for example, you can print out the initial temperature of the cell using
```python
Expand Down
Loading