v0.6.1, 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

Install pyFDS-Evac from PyPI and check it. Requirements (Python 3.12 to 3.14) and a full check on a scenario are on the Install page.

pip install pyfds-evac            # the pyfds-evac command
pip install "pyfds-evac[gui]"     # adds what pyfds-evac-gui needs
pip install "pyfds-evac[tui]"     # adds what pyfds-evac-tui needs
pyfds-evac --help

The package contains no scenarios or examples. Each example page offers its input files as a zip. To run the scripts and the scenarios with tracked FDS output, 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

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.