A multilevel battery simulation tool for realistic battery cell data
Project description
TRACKSIM
TRACKSIM (TRaffic, vehicle, and battery pACK SIMulator) is an open source python library for generating near-life dynamic battery data. The goal of the project is to provide a tool for generating realistic synthetic battery data with a high amount of user-customizability at every simuation level. The three levels are:
- Traffic Level: A collection of vehicles are simulated in a defined traffic network using the simulation tool SUMO.
- Vehicle Level: The power demand of the battery pack is calculated based on the given speed profile of the vehicle.
- Battery Level: The current and voltage of the battery pack and every cell in the pack are calculated based on the power demand.
Installing TRACKSIM
TRACKSIM requires SUMO to be installed on the system in order to perform the traffic simulation. A gude for installing SUMO can be found here. The latest version of SUMO which TRACKSIM has been tested with is 1.22.0.
TRACKSIM is indexed in the Python Package Index (PyPI) under the package name pytracksim. To install the latest version of the package, we recommend using pip. The command for installing TRACKSIM is:
pip install pytracksim
Using TRACKSIM
There are multiple examples available in the repository to get you started using TRACKSIM. In the example below, we simulate a vehicle and battery pack given in [1] with the cells in the battery pack being modeled as in [2].
Setting up the battery pack and the vehicle can be done using two lines of code:
from tracksim.tracksim import Vehicle, Pack
from tracksim.vehicle_models import ChevyVoltTuned # Modified version of the model in [1]
from tracksim.pack_models import ChevyVoltPack # See [1]
from tracksim.cell_models import load_Zheng2024 # See [2]
from tracksim.temperature_models import Zheng2024Temp # See [2]
Zheng2024Cell = load_Zheng2024()
pack = Pack(ChevyVoltPack, Zheng2024Cell, Zheng2024Temp)
vehicle = Vehicle(ChevyVoltTuned, pack)
The vehicle and the battery pack can then be simulated using a given trip profile:
from tracksim.example_trips import load_udds
trip_data = load_udds()
time = trip_data['Time [s]']
sample_period = time[1] - time[0]
speed = trip_data['Speed [m/s]']
vehicle.simulate_vehicle(time, speed, sample_period)
vehicle.simulate_battery_pack()
Plotting the results can then be done using one line of code:
from tracksim.utils import plot_vehicle_and_battery_data
fig, ax = plot_vehicle_and_battery_data(vehicle)
Citing TRACKSIM
If you use TRACKSIM in you work, please cite the original paper:
N. A. Weinreich, X. Sui, R. Teodorescu, and K. G. Larsen, “TRACKSIM: A multi-level simulation framework for near-life battery data generation,” in 2025 26th European Conference on Power Electronics and Applications (EPE’25 ECCE Europe), Aalborg, Denmark, Apr. 2025.
You can also use the BibTex:
@inproceedings{weinreich_tracksim_2025,
address = {Aalborg, Denmark},
title = {{TRACKSIM}: A Multi-Level Simulation Framework for Near-Life Battery Data Generation},
language = {en},
booktitle = {2025 26th {European} {Conference} on {Power} {Electronics} and {Applications} ({EPE}'25 {ECCE} {Europe})},
author = {Weinreich, Nicolai Andre and Sui, Xin and Teodorescu, Remus and Larsen, Kim Guldstrand},
month = apr,
year = {2025}
}
Relevant Publications
[1] G. L. Plett, Battery Management Systems, Volume 2: Equivalent Circuit Methods. in Artech House Power engineering series. Boston: Artech house, 2016.
[2] Y. Zheng, Y. Che, X. Hu, X. Sui, and R. Teodorescu, “Online Sensorless Temperature Estimation of Lithium-Ion Batteries Through Electro-Thermal Coupling,” IEEE/ASME Trans. Mechatron., vol. 29, no. 6, pp. 4156–4167, Dec. 2024, doi: 10.1109/TMECH.2024.3367291.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pytracksim-1.3.3.tar.gz.
File metadata
- Download URL: pytracksim-1.3.3.tar.gz
- Upload date:
- Size: 5.7 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a75b7ba41c1dd4a7bd527c0967a59ebde7a637b2da350fd8d85aa49483fee93
|
|
| MD5 |
c43594e246714d565815968e9b1c9be9
|
|
| BLAKE2b-256 |
5a27c29da6dc33011c0d975d60ddbc883ca7fe3ff66e83aa4f57c7c3db086694
|
Provenance
The following attestation bundles were made for pytracksim-1.3.3.tar.gz:
Publisher:
publish.yml on crosbat/tracksim
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pytracksim-1.3.3.tar.gz -
Subject digest:
7a75b7ba41c1dd4a7bd527c0967a59ebde7a637b2da350fd8d85aa49483fee93 - Sigstore transparency entry: 947471419
- Sigstore integration time:
-
Permalink:
crosbat/tracksim@cf2e9cd8b8fb9bbd1b678f0d66d2fd87481836dd -
Branch / Tag:
refs/tags/v1.3.3 - Owner: https://github.com/crosbat
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cf2e9cd8b8fb9bbd1b678f0d66d2fd87481836dd -
Trigger Event:
release
-
Statement type:
File details
Details for the file pytracksim-1.3.3-py3-none-any.whl.
File metadata
- Download URL: pytracksim-1.3.3-py3-none-any.whl
- Upload date:
- Size: 76.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7ef668d6f1d9824c63f9e0eb58d8874a63487f66a4333a2024fcaacf62cb60db
|
|
| MD5 |
38944281a785fbe75a95395753baccdc
|
|
| BLAKE2b-256 |
e5e7013ec6dce5b1d0eb28a7305ffcba39547075562150a92e16e527af2449e3
|
Provenance
The following attestation bundles were made for pytracksim-1.3.3-py3-none-any.whl:
Publisher:
publish.yml on crosbat/tracksim
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
pytracksim-1.3.3-py3-none-any.whl -
Subject digest:
7ef668d6f1d9824c63f9e0eb58d8874a63487f66a4333a2024fcaacf62cb60db - Sigstore transparency entry: 947471423
- Sigstore integration time:
-
Permalink:
crosbat/tracksim@cf2e9cd8b8fb9bbd1b678f0d66d2fd87481836dd -
Branch / Tag:
refs/tags/v1.3.3 - Owner: https://github.com/crosbat
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@cf2e9cd8b8fb9bbd1b678f0d66d2fd87481836dd -
Trigger Event:
release
-
Statement type: