BS 7974 & PD 7974¶
BS 7974 and the PD 7974 document suite provide guidance on the application of fire safety engineering principles to the design of buildings.
PD 7974 - Application of fire safety engineering principles to the design of buildings.
This module provides calculations and tools based on PD 7974, the UK standard for applying fire safety engineering principles to building design.
- Available submodules:
part_1: Part 1 calculations
Example
>>> import ofire
>>> ofire.pd_7974.part_1
Part 1 - Initiation and Development of Fire¶
PD 7974 Part 1 - Initiation and development of fire within the enclosure of origin.
This module contains calculations for fire initiation and development within the enclosure of origin, as specified in PD 7974 Part 1.
- Available sections:
section_8: Section 8 calculations
Section 8 - Fire Growth and Heat Release Rate¶
Section 8 - Fire growth and heat release rate calculations.
This section provides various equations for calculating heat release rates, temperatures, and fire growth parameters according to PD 7974 Part 1.
Equation Modules¶
Equation 28 - Heat Release Rate at Flashover (Thomas)¶
Equation 28 - Heat release rate at flashover (Thomas).
Provides calculation for heat release rate at flashover following Thomas’ method.
- ofire.pd_7974.part_1.section_8.equation_28.q_fo(a_t, a_v, h_v)¶
Calculate heat release rate at flashover following Thomas’ method (Equation 28).
This equation calculates the heat release rate at flashover
\[Q_{fo} = 7.8 \cdot A_t + 378 \cdot A_v \cdot \sqrt{H_v}\]where:
\(Q_{fo}\) is the heat release rate (kW)
\(A_t\) is the internal surface area less the openings (m²)
\(A_v\) is the equivalent area of ventilation openings (m²)
\(H_v\) is the equivalent height of ventilation openings (m)
- Parameters:
- Returns:
Heat release rate (kW)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_28.q_fo(100.0, 10.0, 2.5) >>> print(f"{result:.1f} kW")
Equation 29 - Heat Release Rate at Flashover (McCaffrey)¶
Equation 29 - Heat release rate with heat of combustion.
Provides calculation for heat release rate incorporating fuel heat of combustion.
- ofire.pd_7974.part_1.section_8.equation_29.q_fo(h_k, a_t, a_v, h_v)¶
Calculate heat release rate at flashover following McCaffrey’s method (Equation 29).
This equation calculates the heat release rate at flashover ///
\[Q_{fo} = 610 \cdot \sqrt{H_k \cdot A_t \cdot A_v \cdot \sqrt{H_v}}\]where:
\(Q_{fo}\) is the heat release rate (kW)
\(H_k\) is the heat of combustion (MJ/kg)
\(A_t\) is the internal surface area less the openings (m²)
\(A_v\) is the equivalent area of ventilation openings (m²)
\(H_v\) is the equivalent height of ventilation openings (m)
- Parameters:
- Returns:
Heat release rate (kW)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_29.q_fo(18.0, 100.0, 10.0, 2.5) >>> print(f"{result:.1f} kW")
Equation 33 - Ventilation-Controlled Heat Release Rate¶
Equation 33 - Ventilation-controlled heat release rate.
Provides calculation for maximum heat release rate limited by ventilation.
- ofire.pd_7974.part_1.section_8.equation_33.q_max_vc(a_v, h_v)¶
Calculate maximum heat release rate for ventilation-controlled fire (Equation 33).
This equation calculates the maximum heat release rate when a fire is limited by the available ventilation.
\[Q_{max,vc} = 1500 \cdot A_v \cdot \sqrt{H_v}\]where:
\(Q_{max,vc}\) is the maximum heat release rate for ventilation-controlled fire (kW)
\(A_v\) is the equivalent area of ventilation openings (m²)
\(H_v\) is the equivalent height of ventilation openings (m)
- Parameters:
- Returns:
Maximum heat release rate (kW)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_33.q_max_vc(10.0, 2.5) >>> print(f"{result:.1f} kW")
Equation 4 - Fuel-Controlled Heat Release Rate¶
Equation 4 - Fuel-controlled heat release rate.
Provides calculation for maximum heat release rate limited by fuel availability.
- ofire.pd_7974.part_1.section_8.equation_4.q_max_fc(a_f, hrrpua)¶
Calculate Heat Release Rate from Heat Release Rate per Unit Area (Equation 4).
This equation calculates the maximum heat release rate when a fire is controlled by the available fuel rather than ventilation.
\[Q = A_f \cdot HRRPUA\]where:
\(Q\) is the maximum heat release rate for fuel-controlled fire (kW)
\(A_f\) is the floor area of fire (m²)
\(HRRPUA\) is the heat release rate per unit area (kW/m²)
- Parameters:
- Returns:
Maximum heat release rate (kW)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_4.q_max_fc(50.0, 250.0) >>> print(f"{result:.1f} kW")
Equation 41 - Maximum Gas Temperature¶
Equation 41 - Maximum gas temperature.
Provides calculation for maximum gas temperature in compartment fires.
- ofire.pd_7974.part_1.section_8.equation_41.t_g_max(omega)¶
Calculate maximum gas temperature (Equation 41).
This equation calculates the maximum gas temperature in a compartment fire based on the opening factor.
\[T_{g,max} = 6000 \cdot \frac{1 - e^{-0.1 \omega}}{\sqrt{\omega}}\]where:
\(T_{g,max}\) is the maximum gas temperature (°C)
\(\omega\) is the opening factor (m^0.5)
- Parameters:
omega (float) – Opening factor (m^0.5)
- Returns:
Maximum gas temperature (°C)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_41.t_g_max(0.05) >>> print(f"{result:.1f} °C")
Equation 42 - Opening Factor¶
Equation 42 - Opening factor.
Provides calculation for opening factor relating compartment geometry to ventilation.
- ofire.pd_7974.part_1.section_8.equation_42.omega(a_t, a_v, h_v)¶
Calculate opening factor (Equation 42).
This equation calculates the opening factor which relates the compartment geometry to the ventilation characteristics.
\[\omega = \frac{A_t}{A_v \cdot \sqrt{H_v}}\]where:
\(\omega\) is the opening factor (m^0.5)
\(A_t\) is the total floor area (m²)
\(A_v\) is the area of ventilation openings (m²)
\(H_v\) is the height of ventilation openings (m)
- Parameters:
- Returns:
Opening factor (m^0.5)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_42.omega(100.0, 10.0, 2.5) >>> print(f"{result:.3f} m^0.5")
Equation 43 - Gas Temperature¶
Equation 43 - Gas temperature.
Provides calculation for actual gas temperature based on maximum temperature and fuel load.
- ofire.pd_7974.part_1.section_8.equation_43.t_g(t_g_max, psi)¶
Calculate gas temperature (Equation 43).
This equation calculates the actual gas temperature in a compartment fire based on the maximum gas temperature and fuel load density parameter.
\[T_g = T_{g,max} \cdot (1 - e^{-0.05 \psi})\]where:
\(T_g\) is the gas temperature (°C)
\(T_{g,max}\) is the maximum gas temperature (°C)
\(\psi\) is the fuel load density parameter (dimensionless)
- Parameters:
- Returns:
Gas temperature (°C)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_43.t_g(800.0, 2.0) >>> print(f"{result:.1f} °C")
Equation 44 - Fuel Load Density Parameter¶
Equation 44 - Fuel load density parameter.
Provides calculation for fuel load density parameter relating fuel to ventilation characteristics.
- ofire.pd_7974.part_1.section_8.equation_44.psi(m_e, a_v, a_t)¶
Calculate fuel load density parameter (Equation 44).
This equation calculates the fuel load density parameter which relates the fuel load to the compartment ventilation characteristics.
\[\psi = \frac{m_e}{\sqrt{A_v \cdot A_t}}\]where:
\(\psi\) is the fuel load density parameter (dimensionless)
\(m_e\) is the fuel load density (kg/m²)
\(A_v\) is the area of ventilation openings (m²)
\(A_t\) is the total floor area (m²)
- Parameters:
- Returns:
Fuel load density parameter (dimensionless)
- Return type:
- Assumptions:
To be completed
- Limitations:
To be completed
Example
>>> import ofire >>> result = ofire.pd_7974.part_1.section_8.equation_44.psi(50.0, 10.0, 100.0) >>> print(f"{result:.3f}")