Skip to content

Commit 32aa742

Browse files
committed
Update README for the modern era
1 parent 28eecbc commit 32aa742

File tree

2 files changed

+42
-11
lines changed

2 files changed

+42
-11
lines changed

LICENSE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
MIT License
22

3-
Copyright (c) 2021 Ben Smith
3+
Copyright (c) 2021-2024 Ben Smith
44

55
Permission is hereby granted, free of charge, to any person obtaining a copy
66
of this software and associated documentation files (the "Software"), to deal

README.md

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,57 @@
11
# navani
2-
Module for processing and plotting electrochemical data from battery cyclers. Conatins functions to extract dQ/dV.
32

4-
The main dependencies are galvani and mdbtools.
3+
Module for processing and plotting electrochemical data from battery cyclers, combining other open source libraries to create pandas dataframes with a normalized schema across multiple cycler brands.
4+
Contains functions to compute dQ/dV and dV/dQ.
55

6-
galvani : https://github.com/echemdata/galvani
7-
This can be installed using pip:
8-
`pip install galvani`
6+
Currently supports:
97

10-
mdbtools
11-
This can be installed on linux and mac using:
12-
`sudo apt install mdbtools`
8+
- BioLogic MPR (`.mpr`)
9+
- Arbin res files (`.res`)
10+
- Simple `.txt` and Excel `.xls`/`.xlsx` formats produced by e.g., Arbin, Ivium and Lanhe/Lande
11+
- Neware NDA and NDAX (`.nda`, `.ndax`)
1312

13+
The main dependencies are :
1414

15+
- pandas
16+
- [galvani](https://github.com/echemdata/galvani) (BioLogic MPR)
17+
- [mdbtools](https://github.com/mdbtools/mdbtools) (for reading Arbin's .res files with galvani).
18+
- [NewareNDA](https://github.com/Solid-Energy-Systems/NewareNDA) (for reading Neware's NDA and NDAx formats).
19+
20+
## Installation
21+
22+
It is stronly recommended to use a fresh Python environment to install navani, using e.g., `conda create` or `python -m venv <chosen directory`.
23+
To install navani, either clone this repository and install from your local copy:
24+
25+
```shell
26+
git clone git@github.com/BenSmithGreyGroup/navani
27+
cd navani
28+
pip install .
1529
```
30+
31+
or install directly from GitHub with `pip`:
32+
33+
```shell
34+
pip install git+https://github.com/BenSmithGreyGroup/navani
35+
```
36+
37+
The additional non-Python mdbtools dependency to `galvani` that is required to read Arbin's `.res` format can be installed on Ubuntu via `sudo apt install mdbtools`, with similar instructions available for other Linux distributions.
38+
39+
## Usage
40+
41+
The main entry point to navani is the `navani.echem.echem_file_loader` function, which will do file type detection and return a pandas dataframe.
42+
Many different plot types are then available, as shown below:
43+
44+
```python
1645
import pandas as pd
1746
import navani.echem as ec
1847

1948
df = ec.echem_file_loader(filepath)
2049
fig, ax = ec.charge_discharge_plot(df, 1)
2150
```
51+
2252
<img src="Example_figures/Graphite_charge_discharge_plot.png" width="50%" height="50%">
2353

24-
```
54+
```python
2555
for cycle in [1, 2]:
2656
mask = df['half cycle'] == cycle
2757
voltage, dqdv, capacity = ec.dqdv_single_cycle(df['Capacity'][mask], df['Voltage'][mask],
@@ -37,9 +67,10 @@ plt.xlim(0, 0.5)
3767
plt.xlabel('Voltage / V')
3868
plt.ylabel('dQ/dV / mAhV$^{-1}$')
3969
```
70+
4071
<img src="Example_figures/Graphite_dqdv.png" width="50%" height="50%">
4172

42-
```
73+
```python
4374
fig, ax = ec.multi_dqdv_plot(df, cycles=cycles,
4475
colormap='plasma',
4576
window_size_1=51,

0 commit comments

Comments
 (0)