Skip to main content

A python module to analyze fast impedance tortuosity measurements.

Project description

FIPT: Fast impedance tortuosity

FIPT is a measurement technique that allows a fast determination of the ionic resistance for battery electrodes. The technique is based on the work by J. Landesfeind (DOI: 10.1149/issn.1945-7111) and then optimized for execution speed at Battrion.

The measurement setup can be built based on https://github.com/deniz195/fipt

The data aquired in an FIPT measurement can be analyzed by the code in this repository. The code fits an analytical model to the data to determine the relevant parameters of the measurement:

r_ion - Ionic resistance
r_sep - Seperator resistance
chisqr - χ2 as quality of fit
gamma - Phase exponent
q_s   - Capacitance factor

The ionic resistance can be used to calculate the MacMullin number (and the tortuosity), which are important performance parameters of battery electrodes.

Quick analysis

If you want to quickly analyze your impedance data:

Install fipt-analysis:

pip install fipt

Put the test data test_data_001.csv from the examples folder in your current folder. Analyze the data:

python -m fipt ./my_fipt_data_1234.csv

To analyze your own data, put it in a file with the same format as test_data_001.csv, which is:

Format: CSV
1st column, Frequency in [Hz]
2nd column, Z' in [Ohm] 
3rd column, Z'' in [Ohm]
(Name of columns is not important)

Examples

To see how to analyze fipt data in your own python code, refer to the jupyter notebook demo_fipt.ipyn in the examples folder.

Features and known issues

The code was optimized to allow the fitting and analysis of large numbers of data files, with minimum user intervention. The key features of the code are:

  • Robust estimation of starting parameters from raw data
  • Resistance to outlier data points through use of Student-T likelihood function
  • Ability to verify each fit, through automatic generation of result files (plots, statistics, etc.)

Known issues:

  • The code is currently provided with a minimum of documentation.
  • Calculation of MacMullin number and tortuosity not yet included

Requirements

Required packages are numpy, scipy for data and statistical models and lmfit to perform the model fitting.

It is recommended (but not necessary) to install matplotlib installed, so that fipt-analysis will be able to create plots of the fitting.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

For questions please feel free to reach out to Deniz Bozyigit (dbozyigit@battrion.com)

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fipt-0.1.1.tar.gz (11.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fipt-0.1.1-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

Details for the file fipt-0.1.1.tar.gz.

File metadata

  • Download URL: fipt-0.1.1.tar.gz
  • Upload date:
  • Size: 11.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.2

File hashes

Hashes for fipt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 6a85d3ee0f58e660445c50a6bfdd4f36e76c227a6d5086ea8e494e7bf20a0eb0
MD5 14ffc16ae544b06e9313da137c9817a5
BLAKE2b-256 40d52e3d290b2619ccfd0d99d3f3d1a4b673d88fd005dc18473e482ff1c9c39b

See more details on using hashes here.

File details

Details for the file fipt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: fipt-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 13.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.26.0 CPython/3.6.2

File hashes

Hashes for fipt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 803a6458a79b9c3c9b2bbe421df160ac5d1a5b22fef7e521629ee120112f411f
MD5 5adf894ffccaedcfb9398ed24450c820
BLAKE2b-256 2fb64359cae6750ac40b3b8d8aface7b7f5f9871282aacb958137842e8cc4de6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page