A package for the quantitative analysis of differential capacity data!
Package for Battery Cycling Data Visualization and Analysis
This package is intended to quantitatively analyze raw cycling data by identifying and parameterizing peaks found in the differential capacity plots. Differential capacity plots (dQ/dV) can be very powerful for uncovering battery performance characteristics, as the peaks that appear in these plots correspond to the various electrochemical events. However, because of the large amount of data gathered during cycing experiments, many researchers report subsets of cycles and purely qualitative conclusions. This package adds the ability to quantify this type of analysis by cleaning battery cycling datasets and obtaining peak locations, widths, amplitudes, and other descriptors for every charge/discharge cycle in the data. To this end, this tool develops individualized fitted models for each charge and discharge cycle in the data set, comprised of a gaussian baseline and pseudo-voigt distributions at each peak location.
Additionally, there is a DASH based visualization app that can be used as the user interface. Users can upload raw cycling data, either collected via a MACCOR or an Arbin cycler. The app will then process the data and add a few files to the database: the raw data, the cleaned data, and the peak descriptors for every cycle. The app also allows users to scroll through cycles and better understand the differential capacity curves. Additionally, there is a section to evaluate the fit of the gaussian baseline, and tailor the peak finding process. The user can also download the peak descriptors using the "Download CSV" file button in the app.
Additionally, some machine learning was done to classify between two different cathode chemistries, LiCoO2 and LiFePO4. Data sets for these chemistries were obtained from the CALCE website(https://web.calce.umd.edu/batteries/data.htm). Once this data was cleaned and labelled, a 20-80 test-train split was done and a support vector classifier was utilized, with a final test set accuracy of 77%.
How to Install
pip install diffcapanalyzer
- For python packages see requirements.txt
Organization of the project
| app.py | LICENSE | README.md | requirements.txt | runTests | setup.py | __init__.py | +---data | +---ARBIN | | | README.md | | | | | +---CS2_33 | | | | | \---K2_016 | | | +---databases | | dQdV.db | | init_database.db | | | +---MACCOR | | example_data.csv | | | \---ML_data | c_descriptors.xlsx | descriptors_without_heights.xlsx | final_descriptors.xlsx | k_descriptors.xlsx | svc_model.sav | svc_results.png | +---diffcapanalyzer | app_helper_functions.py | chachifuncs.py | databasefuncs.py | databasewrappers.py | descriptors.py | __init__.py | +---docs | | Poster.pdf | | | +---images | | diagram.png | | | \---paper | | paper.md | | | \---images | cleaning_dqdv.png | fitting_dqdv.png | +---examples | | ProcessData_PlotDescriptors_Examples.ipynb | | | \---ML | SVC_Model.ipynb | \---tests | test_app_helper_functions.py | test_chachifuncs.py | test_databasefuncs.py | test_databasewrappers.py | test_descriptors.py | __init__.py | \---test_data test_data.csv test_data_mac.csv
Make sure to install the following dash libraries
pip install dash==0.21.0 # The core dash backend pip install dash-renderer==0.11.3 # The dash front-end pip install dash-html-components==0.9.0 # HTML components pip install dash-core-components==0.18.1 # Supercharged components pip install plotly --upgrade # Latest Plotly graphing library
To run the app run the following in terminal:
Which should return
* Running on http://someurl/ (Press CTRL+C to quit)
Type that URL in browser to launch
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size DiffCapAnalyzer-0.0.1-py3-none-any.whl (27.2 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size DiffCapAnalyzer-0.0.1.tar.gz (21.4 kB)||File type Source||Python version None||Upload date||Hashes View|
Hashes for DiffCapAnalyzer-0.0.1-py3-none-any.whl