A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

universal-battery-database

The Universal Battery Database is an open source software for managing Lithium-ion cell data.
https://github.com/Samuel-Buteau/universal-battery-database

Category: Energy Storage
Sub Category: Battery

Keywords

deep-learning lithium-ion lithium-ion-cells ml tensorflow universal-battery-database

Last synced: about 2 hours ago
JSON representation

Repository metadata

Open source Li-ion data management and modelling software

README.md

Universal Battery Database

The Universal Battery Database is an open source software for managing Lithium-ion cell data. Its primary purposes are:

  1. Organize and parse experimental measurement (e.g. long term cycling and electrochemical impedance spectroscopy) data files of Lithium-ion cells.
  2. Perform sophisticated modelling using machine learning and physics-based approaches.
  3. Describe and organize the design and chemistry information of cells (e.g. electrodes, electrolytes, geometry), as well as experimental conditions (e.g. temperature).
  4. Automatically refresh a database as new data comes in.
  5. Visualize experimental results.
  6. Quickly search and find data of interest.
  7. Quality control.

The Universal Battery Database was developed at the Jeff Dahn Research Group at Dalhousie University.

Table of Contents

Preliminary Results

alt text

Figure 1: Model measurements and make predictions using ml_smoothing.py.

Data Management Software Demo

alt text

Figure 2: Fix anomologous cycling data using the web browser provided by manage.py.

Installation

Prerequisites

Two Installation Options

  1. If you only want to play around with modelling and you have a compiled dataset from somewhere else, you can install without a database. This option is simpler and you can always install a database later.
  2. If you want to use the full database features such as parsing and organising experimental data and metadata, you should install with a database.

Using the Software

Use manage.py to see the web page and use its analytic features.

Use ml_smoothing.py to use the machine learning model and see the results.

Physics and Computer Science Behind the Software

We hypothesize that we can make good generalizations by approximating the functions that map one degradation mechanism to another using neural networks.

We aim to develop a theory of lithium-ion cells. We first break down the machine learning problem into smaller sub-problems. From there, we develop frameworks to convert the theory to practical implementations. Finally, we apply the method to experimental data and evaluate the result.

Contributing

Code Conventions

Generally, we follow Google's Python Style Guide.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 555
Total Committers: 2
Avg Commits per committer: 277.5
Development Distribution Score (DDS): 0.378

Commits in past year: 0
Committers in past year: 0
Avg Commits per committer in past year: 0.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
Harvey Wang h****y@d****a 345
Samuel Buteau S****u@d****a 210

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 59
Total pull requests: 69
Average time to close issues: 8 days
Average time to close pull requests: about 1 month
Total issue authors: 2
Total pull request authors: 3
Average comments per issue: 0.39
Average comments per pull request: 0.28
Merged pull request: 39
Bot issues: 0
Bot pull requests: 26

Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/Samuel-Buteau/universal-battery-database

Top Issue Authors

  • Samuel-Buteau (52)
  • harvey2phase (7)

Top Pull Request Authors

  • harvey2phase (27)
  • dependabot[bot] (26)
  • Samuel-Buteau (16)

Top Issue Labels

  • enhancement (19)
  • bug (5)
  • documentation (3)
  • dependencies (1)
  • help wanted (1)
  • question (1)
  • research (1)

Top Pull Request Labels

  • dependencies (26)

Dependencies

requirements.txt pypi
  • Django ==2.2.11
  • Keras-Applications ==1.0.8
  • Keras-Preprocessing ==1.1.0
  • Markdown ==3.2.1
  • Werkzeug ==1.0.0
  • absl-py ==0.9.0
  • astor ==0.8.1
  • cachetools ==4.0.0
  • certifi ==2019.11.28
  • chardet ==3.0.4
  • cycler ==0.10.0
  • django-background-tasks ==1.2.5
  • django-compat ==1.0.15
  • gast ==0.2.2
  • google-auth ==1.11.2
  • google-auth-oauthlib ==0.4.1
  • google-pasta ==0.1.8
  • grpcio ==1.27.2
  • h5py ==2.10.0
  • idna ==2.9
  • kiwisolver ==1.1.0
  • matplotlib ==3.1.3
  • numpy ==1.18.1
  • oauthlib ==3.1.0
  • opt-einsum ==3.2.0
  • protobuf ==3.11.3
  • psycopg2 ==2.8.4
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • pyparsing ==2.4.6
  • python-dateutil ==2.8.1
  • pytz ==2019.3
  • requests ==2.23.0
  • requests-oauthlib ==1.3.0
  • rsa ==4.0
  • scipy ==1.4.1
  • six ==1.14.0
  • sqlparse ==0.3.1
  • tensorboard ==2.1.1
  • tensorflow ==2.1.0
  • tensorflow-estimator ==2.1.0
  • termcolor ==1.1.0
  • urllib3 ==1.25.8
  • wrapt ==1.12.0
requirements_nosql.txt pypi
  • Django ==2.2.11
  • Keras-Applications ==1.0.8
  • Keras-Preprocessing ==1.1.0
  • Markdown ==3.2.1
  • Werkzeug ==1.0.0
  • absl-py ==0.9.0
  • astor ==0.8.1
  • cachetools ==4.0.0
  • certifi ==2019.11.28
  • chardet ==3.0.4
  • cycler ==0.10.0
  • django-background-tasks ==1.2.5
  • django-compat ==1.0.15
  • gast ==0.2.2
  • google-auth ==1.11.2
  • google-auth-oauthlib ==0.4.1
  • google-pasta ==0.1.8
  • grpcio ==1.27.2
  • h5py ==2.10.0
  • idna ==2.9
  • kiwisolver ==1.1.0
  • matplotlib ==3.1.3
  • numpy ==1.18.1
  • oauthlib ==3.1.0
  • opt-einsum ==3.2.0
  • protobuf ==3.11.3
  • pyasn1 ==0.4.8
  • pyasn1-modules ==0.2.8
  • pyparsing ==2.4.6
  • python-dateutil ==2.8.1
  • pytz ==2019.3
  • requests ==2.23.0
  • requests-oauthlib ==1.3.0
  • rsa ==4.0
  • scipy ==1.4.1
  • six ==1.14.0
  • sqlparse ==0.3.1
  • tensorboard ==2.1.1
  • tensorflow ==2.1.0
  • tensorflow-estimator ==2.1.0
  • termcolor ==1.1.0
  • urllib3 ==1.25.8
  • wrapt ==1.12.0

Score: 5.5134287461649825