Alpha, MIT licence

Visibility-aware evacuation
modelling on FDS output

A Python library that couples a finished Fire Dynamics Simulator run to 
JuPedSim agents: smoke slows them, dose stops them, smoke along a route 
changes their exit, and sign legibility decides which exits they know.

Research software, provided without warranty. Not intended for regulatory or design use.
Defaults follow FDS+Evac; see what changed.

Installation

pyFDS-Evac is installed from the repository until the PyPI release, which waits on an upstream fdsvismap merge. Requirements (Python 3.11 or 3.12, uv, git) and a check that the install works are on the Install page.

pip install "pyfds-evac @ git+https://github.com/PedestrianDynamics/pyFDS-Evac.git"

The examples and the tracked scenarios live in the repository (examples/, assets/), not in the installed package. To run them, clone the repository and use uv:

git clone https://github.com/PedestrianDynamics/pyFDS-Evac.git
cd pyFDS-Evac
uv sync
uv run python run.py --scenario assets/ISO-table21 --cleanup

Where to start

Your own FDS case

Bringing your own FDS case? Read what your FDS case must provide first: pyFDS-Evac does not run FDS, it samples the output of a finished run, and the deck has to dump specific slices for that to work.

Workflow

LibraryRole
FDSFire physics. Writes slices: extinction coefficient, temperature, CO, CO₂, O₂, HCN, irritants.
fdsreaderNearest-neighbour lookup of any slice quantity at a time and position.
fdsvismapPer sign and time: which floor cells can read it, Beer–Lambert along the sight line.
pyFDS-EvacSpeed factor, dose, route ranking, cognitive maps. Decides where each agent goes and how fast.
JuPedSimMoves agents collision-free on the walkable area.

pyFDS-Evac adds no movement model and no fire model.

For the ideas behind speed, route choice and wayfinding, read Concepts and the talk A Modular Workflow for Visibility-Aware Evacuation Modelling.