ISO 20414 status

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.

TestTitleStatusReason
18Reduced visibility vs walking speedRun, passesOwn page. Frantzich–Nilsson law only.
19Occupant incapacitation by fire/smokeRun for CO, CO2, O2Own page. Heat and optional gases not run in this layout.
1Pre-evacuation time assignmentPartly coveredThe 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.
2Walking speed in a corridorInheritedMovement is JuPedSim’s.
3Walking speed on stairsOut of scopeNo stairs; the walkable area is one floor.
4Movement around a cornerInheritedMovement is JuPedSim’s.
5Assigned demographicsNot yet runSpeed distributions (v0_distribution) are set in pyFDS-Evac; their assignment has not been tested in the ISO setup.
6Horizontal counter-flowsInheritedMovement is JuPedSim’s.
7Overtaking people with movement disabilitiesInheritedMovement is JuPedSim’s; slower agents are set with v0.
8Exit route allocationNot yet runExits 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.
9Dynamic availability of exitNot supportedAn exit cannot be closed at a set time. Availability changes only when routing refuses a route for its smoke or dose.
10Congestion in front of a flight of stairsOut of scopeNo stairs.
11Maximum flow rates at an opening/exitNot yet runOptional throughput throttling on exits exists (enable_throughput_throttling, max_throughput); it has not been tested in the ISO setup.
12Stair flow ratesOut of scopeNo stairs.
13Flow rate, density and walking speed in a corridorInheritedMovement is JuPedSim’s.
14Group behaviourOut of scopeGroups are not modelled.
15Social influence on exit choiceOut of scopeHerding is not modelled (issue #78).
16Affiliation to familiar exitsNot yet runFamiliarity and the entrance key exist; whether they meet the test’s criterion has not been checked.
17Route choice based on geometric layoutOut of scopeThe ISO layout has two floors.
20Lift usageOut of scopeLifts are not modelled.
21Escalator usageOut of scopeEscalators 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.

Last updated on