CIBSE Guide E

Chartered Institution of Building Services Engineers (CIBSE) (2019) CIBSE Guide E: Fire safety engineering. London: CIBSE.

CIBSE Guide E provides guidance on fire safety engineering for buildings.

Chapter 6 - Fire and Smoke

This chapter contains equations for fire dynamics and smoke behavior in compartment fires, including flashover conditions, flame heights, and ventilation-controlled burning rates.

Chapter 6 Equations

Equation 6.7 - Heat Release Rate at Flashover

Calculates the minimum heat release rate required to achieve flashover conditions in a compartment fire based on ventilation characteristics.

ofire.cibse_guide_e.chapter_6.equation_6_7.heat_release_rate_flashover(a_vo, h_o)

Calculates the heat release rate at flashover.

This equation determines the minimum heat release rate required to achieve flashover conditions in a compartment fire, based on the ventilation characteristics.

\[Q_f = 600 \cdot A_{vo} \sqrt{H_o}\]

where:

  • \(Q_f\) is the heat release rate at flashover (kW)

  • \(A_{vo}\) is the ventilation factor area (m²)

  • \(H_o\) is the height of opening (m)

Parameters:
  • a_vo (float) – Ventilation factor area (m²)

  • h_o (float) – Height of opening (m)

Returns:

Heat release rate at flashover (kW)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_6.equation_6_7.heat_release_rate_flashover(2.0, 2.1)

Equation 6.55 - Mean Flame Height

Calculates the average height of flames in a compartment fire based on the total heat release rate.

ofire.cibse_guide_e.chapter_6.equation_6_55.mean_flame_height(q_t)

Calculates the mean flame height.

This equation determines the average height of flames in a compartment fire based on the total heat release rate.

\[Z_f = 0.2 \cdot Q_t^{2/5}\]

where:

  • \(Z_f\) is the mean flame height (m)

  • \(Q_t\) is the total heat release rate (kW)

Parameters:

q_t (float) – Total heat release rate (kW)

Returns:

Mean flame height (m)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_6.equation_6_55.mean_flame_height(1000.0)

Equation 6.57 - Height of Flame Above Opening

Calculates the height of flames extending above a window or door opening during a compartment fire.

ofire.cibse_guide_e.chapter_6.equation_6_57.height_of_flame_aboveopening(r, w, h_o)

Calculates the height of flame above opening.

This equation determines the height of flames extending above a window or door opening during a compartment fire, based on the burning rate and opening geometry.

\[Z_{fo} = 12.8 \cdot \left(\frac{R}{W}\right)^{2/3} - H_o\]

where:

  • \(Z_{fo}\) is the height of flame above opening (m)

  • \(R\) is the burning rate (kg/s)

  • \(W\) is the width of opening (m)

  • \(H_o\) is the height of opening (m)

Parameters:
  • r (float) – Burning rate (kg/s)

  • w (float) – Width of opening (m)

  • h_o (float) – Height of opening (m)

Returns:

Height of flame above opening (m)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_6.equation_6_57.height_of_flame_aboveopening(0.2, 1.0, 2.1)

Equation 6.58 - Ventilation-Controlled Rate of Burning

Calculates the burning rate when the fire is limited by the available ventilation in the compartment.

ofire.cibse_guide_e.chapter_6.equation_6_58.vent_controlled_rate_of_burning(a_t, a_o, h_o, w, d)

Calculates the ventilation-controlled rate of burning.

This equation determines the burning rate when the fire is limited by the available ventilation, considering the total area, opening characteristics, and compartment geometry.

\[R = 0.02 \cdot \left[(A_t - A_o) \cdot (A_o \sqrt{H_o}) \cdot \left(\frac{W}{D}\right)\right]^{1/2}\]

where:

  • \(R\) is the ventilation-controlled burning rate (kg/s)

  • \(A_t\) is the total internal surface area (m²)

  • \(A_o\) is the area of opening (m²)

  • \(H_o\) is the height of opening (m)

  • \(W\) is the width of opening (m)

  • \(D\) is the depth of compartment (m)

Parameters:
  • a_t (float) – Total internal surface area (m²)

  • a_o (float) – Area of opening (m²)

  • h_o (float) – Height of opening (m)

  • w (float) – Width of opening (m)

  • d (float) – Depth of compartment (m)

Returns:

Ventilation-controlled burning rate (kg/s)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_6.equation_6_58.vent_controlled_rate_of_burning(45.0, 2.1, 2.1, 3.0, 4.0)

Chapter 6 Appendix

Chapter 7 - Means of Escape

This chapter contains equations for calculating stair capacities, flow rates, and evacuation parameters for egress design.

Chapter 7 Equations

Equation 7.2 - Stair Capacity

Calculates the maximum number of people that can evacuate through a stairway based on its width and number of floors served.

ofire.cibse_guide_e.chapter_7.equation_7_2.stair_capacity(w, n)

Calculates the stair capacity.

This equation determines the maximum number of people that can evacuate through a stairway based on its width and number of floors served.

\[P = 200 \cdot W + 50 \cdot (W - 0.3) \cdot (N - 1)\]

where:

  • \(P\) is the stair capacity (persons)

  • \(W\) is the width of stair (m)

  • \(N\) is the number of floors served (dimensionless)

Parameters:
  • w (float) – Width of stair (m)

  • n (int) – Number of floors served

Returns:

Stair capacity (persons)

Return type:

int

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_7.equation_7_2.stair_capacity(1.2, 6)
>>> print(f"{result} persons")
465 persons

Equation 7.3 - Required Width of Stair

Calculates the minimum stair width required to accommodate a given number of people during evacuation.

ofire.cibse_guide_e.chapter_7.equation_7_3.required_width_stair(p, n)

Calculates the required width of stair.

This equation determines the minimum stair width required to accommodate a given number of people across multiple floors during evacuation.

\[W = \frac{P + 15 \cdot N - 15}{150 + 50 \cdot N}\]

where:

  • \(W\) is the required width of stair (m)

  • \(P\) is the number of people (persons)

  • \(N\) is the number of floors (dimensionless)

Parameters:
  • p (int) – Number of people (persons)

  • n (int) – Number of floors

Returns:

Required width of stair (m)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_7.equation_7_3.required_width_stair(550, 6)
>>> print(f"{result:.2f} m")
1.39 m

Equation 7.6 - Maximum Flow Rate of Persons

Calculates the maximum flow rate of people through a given width.

ofire.cibse_guide_e.chapter_7.equation_7_6.maximum_flowrate_persons(w)

Calculates the maximum flow rate of persons.

This equation determines the maximum flow rate of people that can pass through a given width during evacuation.

\[F = 1.333 \cdot W\]

where:

  • \(F\) is the maximum flow rate (persons/s)

  • \(W\) is the width (m)

Parameters:

w (float) – Width (m)

Returns:

Maximum flow rate (persons/s)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_7.equation_7_6.maximum_flowrate_persons(1.2)

Equation 7.7 - Maximum People in Stair

Calculates the maximum number of people that can be accommodated in a stairway.

ofire.cibse_guide_e.chapter_7.equation_7_7.maximum_people_in_stair(p, a, s)

Calculates the maximum people in stair.

This equation determines the maximum number of people that can be accommodated in a stairway at any given time.

\[N_c = P \cdot A \cdot S\]

where:

  • \(N_c\) is the maximum people in stair (persons)

  • \(P\) is the flow rate (persons/s/m)

  • \(A\) is the area per person (m²/person)

  • \(S\) is the number of storeys (dimensionless)

Parameters:
  • p (float) – Flow rate (persons/s/m)

  • a (float) – Area per person (m²/person)

  • s (int) – Number of storeys

Returns:

Maximum people in stair (persons)

Return type:

int

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_7.equation_7_7.maximum_people_in_stair(3.5, 8.0, 6)

Equation 7.8 - Exit Capacity of Stair

Calculates the number of people that can exit through a stairway within a given time.

ofire.cibse_guide_e.chapter_7.equation_7_8.exit_capacity_stair(w_s, t, a, s)

Calculates the exit capacity of stair.

This equation determines the number of people that can exit through a stairway within a given time period.

\[N_{in} = 1.333 \cdot W_s \cdot T + 3.5 \cdot A \cdot (S - 1)\]

where:

  • \(N_{in}\) is the exit capacity (persons)

  • \(W_s\) is the width of stair (m)

  • \(T\) is the time period (s)

  • \(A\) is the area (m²)

  • \(S\) is the number of storeys (dimensionless)

Parameters:
  • w_s (float) – Width of stair (m)

  • t (float) – Time period (s)

  • a (float) – Area (m²)

  • s (int) – Number of storeys

Returns:

Exit capacity (persons)

Return type:

int

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_7.equation_7_8.exit_capacity_stair(1.2, 150.0, 10.0, 5)

Equation 7.9 - Acceptance Capacity of Stair

Calculates the number of people that can be accepted into a stairway from multiple floors.

ofire.cibse_guide_e.chapter_7.equation_7_9.acceptance_capacity_stair(w_e, t, rho, a, s)

Calculates the acceptance capacity of stair.

This equation determines the number of people that can be accepted into a stairway from multiple floors during evacuation.

\[N_{in} = 1.2 \cdot W_e \cdot T + \rho \cdot A \cdot (S - 1)\]

where:

  • \(N_{in}\) is the acceptance capacity (persons)

  • \(W_e\) is the width of entrance (m)

  • \(T\) is the time period (s)

  • \(\rho\) is the density (persons/m²)

  • \(A\) is the area (m²)

  • \(S\) is the number of storeys (dimensionless)

Parameters:
  • w_e (float) – Width of entrance (m)

  • t (float) – Time period (s)

  • rho (float) – Density (persons/m²)

  • a (float) – Area (m²)

  • s (int) – Number of storeys

Returns:

Acceptance capacity (persons)

Return type:

int

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_7.equation_7_9.acceptance_capacity_stair(0.9, 150.0, 2.0, 10.0, 5)

Chapter 10 - Smoke Control

Chapter 10 Equations

Equation 10.1 - Maximum Volumetric Flow Rate

Equation 10.1 - Maximum Volumetric Flow Rate.

Calculates the maximum volumetric flow rate through an opening based on temperature and geometric parameters.

ofire.cibse_guide_e.chapter_10.equation_10_1.max_volumetric_flow_rate(gamma, d, t_s, t_0)

Calculates the maximum volumetric flow rate (Equation 10.1).

This equation determines the maximum volumetric flow rate through an opening based on discharge coefficient, opening diameter, and temperature difference.

\[V = 4.16 \cdot \gamma \cdot d^{5/2} \cdot \left(\frac{T_s - T_0}{T_0}\right)^{1/2}\]

where:

  • \(V\) is the maximum volumetric flow rate (m³/s)

  • \(\gamma\) is the discharge coefficient (dimensionless)

  • \(d\) is the diameter of opening (m)

  • \(T_s\) is the smoke temperature (K)

  • \(T_0\) is the ambient temperature (K)

Parameters:
  • gamma (float) – Discharge coefficient (dimensionless)

  • d (float) – Diameter of opening (m)

  • t_s (float) – Smoke temperature (K)

  • t_0 (float) – Ambient temperature (K)

Returns:

Maximum volumetric flow rate (m³/s)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_1.max_volumetric_flow_rate(0.5, 1.5, 300.0, 290.0)

Equation 10.2 - Minimum Separation Distance Between Vents

Equation 10.2 - Minimum Separation Distance Between Vents.

Calculates the minimum separation distance based on escape velocity.

ofire.cibse_guide_e.chapter_10.equation_10_2.min_separation_dist(v_e)

Calculates the minimum separation distance between vents (Equation 10.2).

This equation determines the minimum separation distance between exhaust vents based on the escape velocity.

\[d = 0.9 \cdot V_e^{0.5}\]

where:

  • \(d\) is the minimum separation distance (m)

  • \(V_e\) is the escape velocity (m/s)

Parameters:

v_e (float) – Escape velocity (m/s)

Returns:

Minimum separation distance (m)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_2.min_separation_dist(0.3)

Equation 10.3 - Volumetric Flow Rate

Equation 10.3 - Volumetric Flow Rate.

Calculates the volumetric flow rate based on mass flow rate and temperature parameters.

ofire.cibse_guide_e.chapter_10.equation_10_3.volumetric_flow_rate(m, t_s, rho_0, t_0)

Calculates the volumetric flow rate (Equation 10.3).

This equation determines the volumetric flow rate of smoke based on mass flow rate, temperature, and density parameters.

\[V = \frac{m \cdot T_s}{\rho_0 \cdot T_0}\]

where:

  • \(V\) is the volumetric flow rate (m³/s)

  • \(m\) is the mass flow rate of smoke exhaust (kg/s)

  • \(T_s\) is the absolute temperature of the smoke (K)

  • \(\rho_0\) is the density of air at ambient temperature (kg/m³)

  • \(T_0\) is the absolute ambient temperature (K)

Parameters:
  • m (float) – Mass flow rate of smoke exhaust (kg/s)

  • t_s (float) – Absolute temperature of the smoke (K)

  • rho_0 (float) – Density of air at ambient temperature (kg/m³)

  • t_0 (float) – Absolute ambient temperature (K)

Returns:

Volumetric flow rate (m³/s)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_3.volumetric_flow_rate(2.0, 473.0, 1.2, 293.0)

Equation 10.4 - Time to Burning Skin

Equation 10.4 - Time to Burning Skin.

Calculates the time required for skin to reach a burning condition based on heat flux.

ofire.cibse_guide_e.chapter_10.equation_10_4.time_burning_skin(q)

Calculates the time to burning of skin due to radiant heat (Equation 10.4).

This equation determines the time time to burning of skin due to radiant heat.

\[t_{irad} = 1.33 \cdot q^{-1.35}\]

where:

  • \(t\) is the time to burning of skin (min)

  • \(q\) is the radiant heat flux (kW/m²)

Parameters:

q (float) – Radiant heat flux (kW/m²)

Returns:

Time to burning of skin (min)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_4.time_burning_skin(2.5)

Equation 10.7 - Visibility

Equation 10.7 - Visibility.

Calculates the optical density based on visibility distance and extinction coefficient.

ofire.cibse_guide_e.chapter_10.equation_10_7.visibility(k, d)

Calculates the visibility (furthest distance at which an object can be perceived) (Equation 10.7).

This equation determines the furthest distance at which an object can be perceived based on the optical density per unit length and a visibility coefficient.

\[S = \frac{D}{2.303 \cdot D}\]

where:

  • \(S\) is the furthest distance at which an object can be perceived (m)

  • \(K\) is the visibility coefficient (-)

  • \(D\) is the optical density per unit length (m^{-1})

Parameters:
  • K (float) – Visibility coefficient (-)

  • D (float) – Optical density per unit length (m^{-1})

Returns:

Furthest distance at which an object can be perceived (m)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_7.visibility(8.0, 0.5)

Equation 10.8 - Fractional Effective Dose

Equation 10.8 - Fractional Effective Dose.

Calculates the fractional effective dose for toxicity assessment.

ofire.cibse_guide_e.chapter_10.equation_10_8.fractional_effective_dose(m_f, t, lc_50)

Calculates the fractional effective dose (Equation 10.8).

This equation determines the fractional effective dose for toxicity assessment based on mass concentration, exposure time, and lethal exposure dose.

\[FED = \frac{m_f \cdot t}{LC_{50}}\]

where:

  • \(FED\) is the fractional effective dose (dimensionless)

  • \(m_f\) is the mass concentration of fuel burned (g/m^{3})

  • \(t\) is the exposure time (min)

  • \(LC_{50}\) is the lethal exposure dose from the test subject for 50% mortality (g/m³·min)

Parameters:
  • m_f (float) – Mass concentration of fuel burned (g/m^{3})

  • t (float) – Exposure time (min)

  • lc_50 (float) – Lethal exposure dose for 50% mortality (g/m³·min)

Returns:

Fractional effective dose (dimensionless)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_8.fractional_effective_dose(2.0, 120.0, 1000.0)

Equation 10.10 - Limiting Average Air Velocity for Opposed Air Flow Ventilation

Equation 10.10 - Limiting Average Air Velocity for Opposed Air Flow Ventilation.

Calculates the limiting average air velocity based on buoyancy forces and temperature difference.

ofire.cibse_guide_e.chapter_10.equation_10_10.limiting_velocity(g, h, t_f, t_0)

Calculates the limiting average air velocity for opposed air flow ventilation (Equation 10.10).

This equation determines the limiting average velocity for opposed air flow ventilation towards the fire compartment, sufficient to prevent the outflow of smoke

\[v_e = 0.64 \cdot \left(g \cdot H \cdot \frac{T_f - T_0}{T_f}\right)^{0.5}\]

where:

  • \(v_e\) is the limiting average air velocity (m/s)

  • \(g\) is the acceleration due to gravity (m/s²)

  • \(h\) is the height of the opening as measured from the bottom of the opening (m)

  • \(T_f\) is the temperature of the heated smoke (K)

  • \(T_0\) is the temperature of the ambient air (K)

Parameters:
  • g (float) – Acceleration due to gravity (m/s²)

  • h (float) – Height of the opening as measured from the bottom of the opening (m)

  • t_f (float) – Temperature of the heated smoke (K)

  • t_0 (float) – Temperature of the ambient air (K)

Returns:

Limiting average air velocity (m/s)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_10.limiting_velocity(9.8, 2.2, 973.0, 293.0)

Equation 10.11 - Limiting Average Air Velocity to Prevent Smoke Spread from Large Spaces

Equation 10.11 - Limiting Average Air Velocity to Prevent Smoke Spread from Large Spaces.

Calculates the limiting velocity based on heat release rate and height above fire source.

ofire.cibse_guide_e.chapter_10.equation_10_11.limiting_velocity(q, z)

Calculates the limiting average air velocity for opposed air flow - large spaces (Equation 10.11).

This equation determines the limiting average air velocity for opposed air flow systems designed to prevent smoke spread from a large space (e.g. atrium) to an adjoining small space below the smoke layer interface.

\[v_e = 0.057 \cdot \left(\frac{Qj}{z}\right)^{1/3}\]

where:

  • \(v_e\) is the limiting average air velocity (m/s)

  • \(Q\) is the heat release rate of the fire (kW)

  • \(z\) is the height above base of the fire to the bottom of the opening (m)

Parameters:
  • q (float) – Heat release rate of the fire(kW)

  • z (float) – Height above base of the fire to the bottom of the opening (m)

Returns:

Limiting average air velocity (m/s)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_11.limiting_velocity(1000.0, 1.5)

Equation 10.12 - Limiting Average Inlet Air Velocity to Prevent Smoke Spread Upstream

Equation 10.12 - Limiting Average Inlet Air Velocity to Prevent Smoke Spread Upstream.

Calculates the limiting velocity incorporating thermal properties and environmental conditions.

ofire.cibse_guide_e.chapter_10.equation_10_12.limiting_velocity(k, g, q, omega, rho, c, t)

Calculates the limiting average inlet air velocity to prevent further smoke spread into corridor (Equation 10.12).

This equation determines the limiting average inlet air velocity for opposing airflow smoke control systems to prevent further smoke spread into a corridor.

\[v_k = k \cdot \left(\frac{g \cdot Q}{\omega \cdot \rho \cdot c \cdot T}\right)^{1/3}\]

where:

  • \(v_k\) is the limiting average inlet air velocity to prevent smoke flowing upstream (m/s)

  • \(k\) is a dimensionless coefficient (K=1, constant)

  • \(g\) is the acceleration due to gravity (m/s²)

  • \(Q\) is the heat release rate of the fire (kW)

  • \(\omega\) is the corridor width (m)

  • \(\rho\) is the density of upstream air (kg/m³)

  • \(c\) is the specific heat of downstream gases (kJ/kg·K)

  • \(T\) is the temperature of downstream mixture of air and smoke (K)

Parameters:
  • k (float) – Dimensionless coefficient (K=1, constant)

  • g (float) – Acceleration due to gravity (m/s²)

  • q (float) – Heat release rate (kW)

  • omega (float) – Corridor width (m)

  • rho (float) – Density of upstream air (kg/m³)

  • c (float) – Specific heat of downstream gases (kJ/kg·K)

  • t (float) – Temperature of downstream mixture of air and smoke (K)

Returns:

Limiting average inlet air velocity (m/s)

Return type:

float

Assumptions:

To be completed

Limitations:

To be completed

Example

>>> import ofire
>>> result = ofire.cibse_guide_e.chapter_10.equation_10_12.limiting_velocity(1.0, 9.8, 1000.0, 2.5, 1.2, 1.0, 773.0)