Extend RateMapBattery with bat-perf style mission/endurance utilities.
Current implementation covers point-state behavior well:
- voltage sag:
V = OCV(dod) - R(dod) * I
- current / C-rate / voltage / power / load-resistance states
- pack series/parallel scaling
- propulsion solver integration
Missing bat-perf-style pieces:
- integrate battery state over time for constant current and constant power
- stop integration at cutoff voltage or DOD limits
- report delivered energy, consumed charge, final state, and stop reason
- add usable-energy knockdown factors similar to
kedod and kemfg
Why:
Simple Coulomb counting can overestimate endurance at high C-rate. Voltage sag can hit cutoff before nominal capacity is fully used.
Acceptance criteria:
- Add
integrate_current(...) and integrate_power(...)
- Add delivered energy / consumed Ah outputs
- Add cutoff and DOD-bound stop reasons
- Add tests for high-load early cutoff
- Add one example showing usable energy vs simple SoC counting
Extend
RateMapBatterywith bat-perf style mission/endurance utilities.Current implementation covers point-state behavior well:
V = OCV(dod) - R(dod) * IMissing bat-perf-style pieces:
kedodandkemfgWhy:
Simple Coulomb counting can overestimate endurance at high C-rate. Voltage sag can hit cutoff before nominal capacity is fully used.
Acceptance criteria:
integrate_current(...)andintegrate_power(...)