Class FireEscapeAnalyzer
java.lang.Object
org.episteme.social.architecture.FireEscapeAnalyzer
Analytical engine for fire safety and evacuation planning in architectural designs.
It simulates evacuation scenarios using hydraulic flow models to estimate
evacuation times, identify bottlenecks, and verify compliance with safety codes.
- Since:
- 1.0
- Version:
- 2.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordRepresents a distinct area or room in a building with specific occupancy.static final recordComplete simulation result for a specific building configuration.static final recordRepresents a point of egress (door, stairway, corridor exit). -
Method Summary
Modifier and TypeMethodDescriptionanalyzeEvacuation(List<FireEscapeAnalyzer.Compartment> compartments, List<FireEscapeAnalyzer.Exit> exits) Calculates the total evacuation time for a set of compartments and exits.checkTravelDistances(List<FireEscapeAnalyzer.Compartment> compartments, double maxDistance, double maxDeadEnd) Verifies that travel distances from any point to the nearest exit stay within code-mandated limits.static intminimumExitsRequired(int occupancy) Determines the minimum number of exits required by standard building codes based on occupant load.static RealrequiredExitWidth(int occupancy, double targetEvacTime) Calculates the required combined exit width based on occupant load and a target evacuation time.static RealrequiredStairWidth(int occupantLoad, int numFloors) Calculates the required width for a stairwell serving multiple floors.signageRequirements(List<FireEscapeAnalyzer.Compartment> compartments, List<FireEscapeAnalyzer.Exit> exits) Identifies necessary safety signage and lighting for evacuation routes.
-
Method Details
-
analyzeEvacuation
public static FireEscapeAnalyzer.EvacuationResult analyzeEvacuation(List<FireEscapeAnalyzer.Compartment> compartments, List<FireEscapeAnalyzer.Exit> exits) Calculates the total evacuation time for a set of compartments and exits.- Parameters:
compartments- list of rooms/areasexits- list of available exits- Returns:
- an EvacuationResult containing time estimates and bottleneck identification
-
requiredExitWidth
Calculates the required combined exit width based on occupant load and a target evacuation time.- Parameters:
occupancy- total count of people to evacuatetargetEvacTime- target time in minutes- Returns:
- required total width in meters
-
checkTravelDistances
public static Map<String,Boolean> checkTravelDistances(List<FireEscapeAnalyzer.Compartment> compartments, double maxDistance, double maxDeadEnd) Verifies that travel distances from any point to the nearest exit stay within code-mandated limits.- Parameters:
compartments- list of areas to checkmaxDistance- global maximum travel distancemaxDeadEnd- maximum distance for areas served by only one exit- Returns:
- map of compartment IDs to compliance status
-
minimumExitsRequired
public static int minimumExitsRequired(int occupancy) Determines the minimum number of exits required by standard building codes based on occupant load.- Parameters:
occupancy- total number of people- Returns:
- required exit count (1 to 4+)
-
requiredStairWidth
Calculates the required width for a stairwell serving multiple floors.- Parameters:
occupantLoad- load per floornumFloors- number of floors served- Returns:
- minimum required width in meters
-
signageRequirements
public static List<String> signageRequirements(List<FireEscapeAnalyzer.Compartment> compartments, List<FireEscapeAnalyzer.Exit> exits) Identifies necessary safety signage and lighting for evacuation routes.- Parameters:
compartments- areas servedexits- exit points- Returns:
- list of localized signage requirements
-