Problem / Rationale
The current battery model in PyThrust uses a static voltage and basic constant discharge efficiency. While electrochemistry-based models (like PyBaMM) provide high fidelity, they are often overkill for aircraft conceptual design and flight performance studies. Furthermore, electrochemical models require numerous physical parameters (e.g., electrode thickness, diffusion coefficients) that are rarely available in manufacturer datasheets.
We need a battery model that:
- Is lightweight and fast to solve.
- Relies on readily available manufacturer data (such as discharge rate maps / C-rate curves).
- Captures voltage drop and discharge characteristics accurately enough for design and sizing studies.
Proposed Solution
Implement a Python port of the battery model from bat-perf.
This model runs on rate map data (readily available from manufacturer datasheets) and models the voltage variation under load and discharge state, which is ideal for flight vehicle performance simulation.
Implementation Steps
Problem / Rationale
The current battery model in
PyThrustuses a static voltage and basic constant discharge efficiency. While electrochemistry-based models (like PyBaMM) provide high fidelity, they are often overkill for aircraft conceptual design and flight performance studies. Furthermore, electrochemical models require numerous physical parameters (e.g., electrode thickness, diffusion coefficients) that are rarely available in manufacturer datasheets.We need a battery model that:
Proposed Solution
Implement a Python port of the battery model from bat-perf.
This model runs on rate map data (readily available from manufacturer datasheets) and models the voltage variation under load and discharge state, which is ideal for flight vehicle performance simulation.
Implementation Steps
pythrust/battery/) to handle battery specs and state equations.solver.py), allowing battery voltage to vary dynamically with state of charge (SoC) and current draw (