Skip to content

feat(battery): implement rate-map based battery model inspired by bat-perf #3

@karakayahuseyin

Description

@karakayahuseyin

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:

  1. Is lightweight and fast to solve.
  2. Relies on readily available manufacturer data (such as discharge rate maps / C-rate curves).
  3. 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

  • Analyze the mathematical formulations in bat-perf.
  • Create a new battery module/database (e.g., pythrust/battery/) to handle battery specs and state equations.
  • Support loading battery rate-map datasets (JSON/CSV).
  • Integrate the dynamic battery model into the solver (solver.py), allowing battery voltage to vary dynamically with state of charge (SoC) and current draw ($I$).
  • Add unit tests and validation cases using real manufacturer rate-map datasets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions