breos.battery.update_battery_soh_cyclewise#

breos.battery.update_battery_soh_cyclewise(soh_start_fraction, soc_series_absolute, nominal_energy_Wh, fec_cum=0.0, min_DoD_fraction=0.01, use_rainflow=True, battery_type='lfp', debug=False)[source]#

Calculate cycle-induced degradation using Naumann’s semi-empirical model.

Implements Equation 5-6 from Naumann 2020 paper, with technology-specific cycle aging coefficients selected by battery_type.

Parameters:
  • soh_start_fraction (float) – Starting SOH as fraction (0-1)

  • soc_series_absolute (Series) – SOC time series

  • nominal_energy_Wh (float) – Nominal battery capacity

  • fec_cum (float) – Cumulative full equivalent cycles

  • min_DoD_fraction (float) – Minimum DoD to count as cycle

  • use_rainflow (bool) – Use rainflow counting (True) or extrema-based detection (False)

  • battery_type (str) – Battery chemistry (‘lfp’)

  • debug (bool) – Enable debug output

Return type:

Tuple[float, float, float]

Returns:

Tuple of (soh_after, qloss_cycle_fraction, fec_cum)