Skip to main content

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:

  1. Traffic Level: A collection of vehicles are simulated in a defined traffic network using the simulation tool SUMO.
  2. Vehicle Level: The power demand of the battery pack is calculated based on the given speed profile of the vehicle.
  3. 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.

Metadata

Release files for pytracksim 1.3.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pytracksim 1.3.8
File Size Uploaded Provenance Actions
pytracksim-1.3.8.tar.gz 5.7 MB With provenance Details for pytracksim-1.3.8.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pytracksim 1.3.8
File Interpreter ABI Platform Actions
pytracksim-1.3.8-py3-none-any.whl Python 3 none any Details for pytracksim-1.3.8-py3-none-any.whl

Total release size: 5.8 MB

Release files / pytracksim-1.3.8.tar.gz

Download URL pytracksim-1.3.8.tar.gz
Size 5.7 MB
Tags Source
SHA-256 checksum
How to use checksums
230554d00491dac63f9a5b64d4eec2a4b8a001799630fc63d18e429b253574da
BLAKE2b-256 checksum
How to use checksums
affbb61dbde544a3b9ed34b711374f42af8351f4911c1dbb57e7f4a297df6d23
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 18, 2026.

Transparency log

Release files / pytracksim-1.3.8-py3-none-any.whl

Download URL pytracksim-1.3.8-py3-none-any.whl
Size 79.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d5999ffe34022b0a7dcb39b79ce4a80fab90e909964f8506187c350eac2f1faf
BLAKE2b-256 checksum
How to use checksums
2a23b43fe9c8c5c6bec4586cd9def8e77cabfeed3ed03a98b38204a0f34928f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 18, 2026.

Transparency log

Security for pytracksim 1.3.8

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for pytracksim-1.3.8.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page