ampworks.ocv#

Tools for processing and analyzing open-circuit voltage (OCV) behavior. Includes utilities for estimating OCV curves from low-rate charge/discharge data and extracting useful features from measured voltage-capacity profiles.

Functions#

match_peaks(charge, discharge[, x0, display])

Find symmetric iR shift to align dQdV peaks.

Package Contents#

ampworks.ocv.match_peaks(charge, discharge, x0=None, display=False)[source]#

Find symmetric iR shift to align dQdV peaks.

This function finds the optimal symmetric iR shift to apply to charge and discharge dQdV curves to align their peaks. The shifted curves are then averaged to produce a final dQdV curve. In addition to the iR value, a new DqdvSpline object is returned containing the averaged dQdV curve. Use this function to estimate an open-circuit voltage curve from low-rate charge and discharge data.

Parameters:
  • charge (DqdvSpline) – A fitted dQdV spline object for low-rate charge data.

  • discharge (DqdvSpline) – A fitted dQdV spline object for low-rate discharge data.

  • x0 (float | None, optional) – Initial guess for the symmetric iR shift, by default None, which uses a heuristic based on peak locations.

  • display (bool, optional) – Whether to display intermediate optimization results, by default False.

Returns:

iR, spline (tuple[float, DqdvSpline]) – The optimal symmetric iR shift and the averaged dQdV spline.

See also

DqdvSpline

Smoothing spline for dQdV curves.