Completed · Pedestrian dynamics · Python 3.12.8 · JuPedSim
JuPedSim Evacuation Analysis
A completed pedestrian-evacuation workflow using a building geometry, manually defined exits, scenario-specific assignments, reproducible trajectory output, and a pinned compatibility environment.
Problem
Evacuation behavior depends on pedestrian starting positions, available exits, group assignments, and movement parameters. The project compares defined scenarios through one repeatable simulation workflow.
My contribution
- Imported and prepared the walkable geometry from a WKT file.
- Defined nine exit polygons and configurable pedestrian spawn areas.
- Created scenario-specific rules for group placement and exit assignment.
- Used JuPedSim distribution utilities to generate valid initial positions.
- Used NumPy, Numba, and
ThreadPoolExecutorfor selected setup calculations. - Exported trajectories to SQLite and generated notebook animations.
- Added a pinned Python environment and automated API-compatibility simulation.
Simulation methodology
Geometry
The walkable area is loaded from HC.wkt, with exits and spawn areas defined explicitly.
Scenario logic
Each case can change active spawn areas, group sizes, available exits, and walking parameters.
Outputs
The notebook records trajectories, evacuation time, runtime, and animations for comparison.
Reproducibility
The repository records Python 3.12.8, pins the top-level JuPedSim notebook packages, and runs a small GitHub Actions compatibility simulation. The automated check verifies installation consistency and the main geometry, distribution, model, agent, Numba, and SQLite-writer APIs without running all six production scenarios.
Representative visual

Completed outcome
The project provides a reusable setup for comparing defined evacuation scenarios. Geometry, spawn configuration, exit logic, movement parameters, and output generation remain separated so the workflow is easy to inspect and extend.
Scope and limitations
This is an educational pedestrian-dynamics study, not a certified safety assessment. Exit assignment uses centroid information and scenario-defined restrictions; it does not calculate a globally optimal path. The simulation has not been calibrated against measured evacuation data. Possible follow-up research includes path-aware assignment, sensitivity studies, repeated stochastic runs, additional geometries, and experimental validation.