Status against ISO 20414
ISO 20414:2020 (Fire safety engineering — Verification and validation protocol for building fire evacuation models) defines 21 verification tests (Tests 1–21) and 9 validation tests (Tests 22–30). The table below gives the status of each verification test for pyFDS-Evac. FED means fractional effective dose, and K [1/m] is the extinction coefficient. Everything on this page is verification: it checks that the code reproduces the correlation or hand calculation it implements. None of it is validation against observed evacuations, and none of ISO 20414’s validation tests (22–30) has been run.
Tests 18 and 19: the fire–people interaction tests
These two tests cover the part of the model that pyFDS-Evac adds to JuPedSim. Each has its own page, with the setup, the expected values, the results and the pass criteria:
All verification tests
“Not yet run” means that the component belongs to pyFDS-Evac, or is configured through it, but no test reproduces the ISO setup. “Inherited” means that the component is JuPedSim’s movement model, which pyFDS-Evac does not change; pyFDS-Evac has not rerun it. “Out of scope” means that pyFDS-Evac does not model the component.
| Test | Title | Status | Reason |
|---|---|---|---|
| 18 | Reduced visibility vs walking speed | Run, passes | Own page. Frantzich–Nilsson law only. |
| 19 | Occupant incapacitation by fire/smoke | Run for CO, CO2, O2 | Own page. Heat and optional gases not run in this layout. |
| 1 | Pre-evacuation time assignment | Partly covered | The four distributions gamma, log-normal, Weibull and uniform are checked against closed-form moments (test_premovement_verif.py); the constant 10 s default is not checked (#309); the ISO room and per-agent start times are not run. |
| 2 | Walking speed in a corridor | Inherited | Movement is JuPedSim’s. |
| 3 | Walking speed on stairs | Out of scope | No stairs; the walkable area is one floor. |
| 4 | Movement around a corner | Inherited | Movement is JuPedSim’s. |
| 5 | Assigned demographics | Not yet run | Speed distributions (v0_distribution) are set in pyFDS-Evac; their assignment has not been tested in the ISO setup. |
| 6 | Horizontal counter-flows | Inherited | Movement is JuPedSim’s. |
| 7 | Overtaking people with movement disabilities | Inherited | Movement is JuPedSim’s; slower agents are set with v0. |
| 8 | Exit route allocation | Not yet run | Exits and journeys are set in the scenario JSON, but rerouting is on by default (--enable-rerouting), so an allocated route may not be kept; no test reproduces the ISO layout. |
| 9 | Dynamic availability of exit | Not supported | An exit cannot be closed at a set time. Availability changes only when routing refuses a route for its smoke or dose. |
| 10 | Congestion in front of a flight of stairs | Out of scope | No stairs. |
| 11 | Maximum flow rates at an opening/exit | Not yet run | Optional throughput throttling on exits exists (enable_throughput_throttling, max_throughput); it has not been tested in the ISO setup. |
| 12 | Stair flow rates | Out of scope | No stairs. |
| 13 | Flow rate, density and walking speed in a corridor | Inherited | Movement is JuPedSim’s. |
| 14 | Group behaviour | Out of scope | Groups are not modelled. |
| 15 | Social influence on exit choice | Out of scope | Herding is not modelled (issue #78). |
| 16 | Affiliation to familiar exits | Not yet run | Familiarity and the entrance key exist; whether they meet the test’s criterion has not been checked. |
| 17 | Route choice based on geometric layout | Out of scope | The ISO layout has two floors. |
| 20 | Lift usage | Out of scope | Lifts are not modelled. |
| 21 | Escalator usage | Out of scope | Escalators are not modelled. |
Movement is inherited from JuPedSim
pyFDS-Evac does not implement locomotion. Walking, collision avoidance,
counter-flow and flow through openings are computed by the JuPedSim model
named in the scenario (model_type, default CollisionFreeSpeedModel).
pyFDS-Evac sets each agent’s desired speed and target, and it can cap the
flow through an exit, but locomotion itself is JuPedSim’s. The movement tests are
therefore inherited, and pyFDS-Evac has not rerun them. JuPedSim reports its
own status against ISO 20414, RiMEA, NIST TN 1822 and IMO MSC.1/Circ.1533 on
its V&V standards coverage dashboard,
including the tests it marks as expected failures. That status applies to the
models and versions it names, which may differ from the model and version a
pyFDS-Evac scenario uses.