# Pool Fire
Source: https://tekrisk.com/en/docs/risk-models/pool-fire

Technical documentation for the Pool Fire consequence model — burning rate, flame geometry, thermal radiation, probit analysis, domino effects, and fatality estimation

## 1. Introduction and Physical Phenomenon

### 1.1 Pool Fire

The **Pool Fire** model simulates the steady-state combustion of a flammable liquid that has spilled onto a flat surface and ignited. The model computes:

- Maximum pool diameter based on spill type
- Mass burning rate per unit area (*burning rate*)
- Flame geometry (height, wind-induced tilt angle)
- Thermal radiation intensity at any given distance
- Human effects (1st/2nd degree burns, fatalities) via Probit functions
- Domino effects on neighboring vessels using Cozzani correlations
- Expected fatalities by integrating thermal radiation with population density

### 1.2 Industrial Context

<Callout type="warn" title="Thermal radiation hazard">
Pool fires produce sustained thermal radiation capable of causing severe burns and fatalities. The hazard zone depends on pool size, fuel properties, wind conditions, and atmospheric humidity.
</Callout>

<Cards>
  <Card title="Continuous Spill">
    Steady-state release; pool diameter grows until equilibrium between inflow and combustion rate
  </Card>
  <Card title="Massive (Instantaneous)">
    Entire volume released at once; maximum diameter depends on total volume released
  </Card>
  <Card title="Circular Dike">
    Fixed diameter defined by the user (inner dike diameter)
  </Card>
  <Card title="Rectangular Dike">
    Equivalent diameter computed from length × width of the containment dike
  </Card>
</Cards>

### 1.3 Scope of This Model

This model calculates:

1. Pool diameter and geometry based on source type (`continuous`, `massive`, `circularDike`, `rectangularDike`)
2. Burning rate using Burgess-Strasser, Mudan, or tabulated methods
3. Flame height via Thomas or Pritchard-Binding correlations
4. Surface Emissive Power (SEP) accounting for soot shielding in large hydrocarbon fires
5. Thermal radiation at any distance — Point Source or Solid Plume (tilted cylinder) model
6. Distance to a specified radiation threshold (inverse problem via Newton-Raphson)
7. Thermal dose and probit-based probability of 1st/2nd degree burns and fatalities
8. Domino effect time-to-failure for neighboring vessels (Cozzani correlations)
9. Population fatalities using concentric annular ring integration

---

## 2. Calculation Sequence

<Mermaid>
{`flowchart TD
    A["Input Data<br/>(fuel, source type, weather)"] --> B["Chemical Properties<br/>YAWS: ΔHvap, cP, ρL at Tamb & Tb"]
    B --> C["Burning Rate<br/>ṁ'' = f(ΔHc, ΔHvap, cP, ρL)"]
    C --> D["Pool Diameter<br/>D = f(sourceType, Q or V)"]
    D --> E["Flame Geometry<br/>u*, H(Thomas|Pritchard), θ, SEP"]
    E --> F["For each distance x:<br/>F_view, τ_atm, q(x)"]
    F --> G["Forward problem<br/>q(x)"]
    F --> H["Inverse problem<br/>x(q_target) — Newton-Raphson"]
    G --> I["Thermal Dose<br/>D_dose = t_exp · (q×10³)^(4/3)"]
    H --> I
    I --> J["Probit Analysis<br/>(Burns 1°/2°, Fatalities TNO/CCPS, Domino)"]
    J --> K["Fatality Calculation<br/>(Concentric Rings + FatalityUtils)"]

    style A fill:#e1f5fe
    style K fill:#c8e6c9
    style F fill:#fff3e0`}
</Mermaid>

<Steps>
  <Step>
    **Chemical Properties** — Retrieve fuel properties from YAWS database at $T_{amb}$: heat of vaporization $\Delta H_{vap}$, liquid heat capacity $c_P$, and liquid density $\rho_L$.
  </Step>
  <Step>
    **Burning Rate** — Compute $\dot{m}''$ [kg/(m²·s)] using Burgess-Strasser, Mudan, or tabulated value (gasoline).
  </Step>
  <Step>
    **Pool Diameter** — Determine maximum pool diameter $D$ based on source type: continuous spill, massive release, circular dike, or rectangular dike.
  </Step>
  <Step>
    **Flame Geometry** — Compute dimensionless wind speed $u^*$, flame height $H$ (Thomas or Pritchard-Binding), tilt angle $\theta$, and Surface Emissive Power (SEP).
  </Step>
  <Step>
    **Thermal Radiation** — Compute radiation $q(x)$ [kW/m²] at target distances using Point Source or Solid Plume (tilted cylinder) view factor model.
  </Step>
  <Step>
    **Probit Analysis** — Convert thermal dose into probability of 1st/2nd degree burns, fatalities (TNO or CCPS), and domino effects (Cozzani).
  </Step>
  <Step>
    **Fatality Estimation** — Integrate fatality probability over concentric annular rings to estimate total casualties.
  </Step>
</Steps>

---

## 3. Chemical Properties (YAWS Correlations)

All fuel properties are retrieved from the YAWS chemical database evaluated at ambient temperature $T_{amb}$ (Kelvin).

<Tabs items={["Heat of Vaporization", "Liquid Heat Capacity", "Liquid Density", "ΔHvap at Tb (CCPS)"]}>
  <Tab value="Heat of Vaporization">

### 3.1 Heat of Vaporization at $T_{amb}$

$$
\Delta H_{vap}(T_{amb}) = \frac{h_{va} \cdot \left(1 - \dfrac{T_{amb}}{T_c}\right)^{h_{vn}}}{M_w} \times 10^3 \quad [\text{kJ/kg}]
$$

| Symbol | Description | Source |
|--------|-------------|--------|
| $h_{va}$ | Vaporization coefficient A | YAWS, p. 109 |
| $h_{vn}$ | Correlation exponent | YAWS, p. 109 |
| $T_c$ | Critical temperature (K) | YAWS |
| $M_w$ | Molecular weight (g/mol) | YAWS |

**Code:** `PoolFire.js`, lines 81–85.

  </Tab>
  <Tab value="Liquid Heat Capacity">

### 3.2 Liquid Heat Capacity

$$
c_P(T_{amb}) = \frac{c_{pla} + c_{plb} \cdot T + c_{plc} \cdot T^2 + c_{pld} \cdot T^3}{M_w} \quad [\text{kJ/(kg·K)}]
$$

where $T = T_{amb}$ in Kelvin.

**Reference:** YAWS, *Chemical Properties Handbook*, 1999.
**Code:** `PoolFire.js`, lines 91–96.

  </Tab>
  <Tab value="Liquid Density">

### 3.3 Liquid Density (at $T_{amb}$ and $T_b$)

$$
\rho_L(T) = d_{lqa} \cdot d_{lqb}^{-\left(1 - T/T_c\right)^{d_{lqn}}} \times 10^3 \quad [\text{kg/m}^3]
$$

Density is calculated at two points:
- $\rho_L(T_{amb})$: ambient temperature (for mass-to-volume conversion)
- $\rho_L(T_b)$: boiling point (for fuel regression rate $v_f$)

**Reference:** YAWS, p. 185. **Code:** `PoolFire.js`, lines 98–113.

  </Tab>
  <Tab value="ΔHvap at Tb (CCPS)">

### 3.4 Heat of Vaporization at $T_b$ (CCPS Correction)

$$
\Delta H_{vap}(T_b) = \Delta H_{vap}(T_{amb}) + c_P \cdot (T_b - T_{amb}) \quad [\text{kJ/kg}]
$$

**Reference:** CCPS, *Guidelines for CPQRA*, 2nd Ed., p. 234.
**Code:** `PoolFire.js`, lines 119–121.

  </Tab>
</Tabs>

---

## 4. Burning Rate — `burningRate()`

The burning rate $\dot{m}''$ [kg/(m²·s)] is the mass of fuel consumed per unit area per unit time. It governs fire intensity and pool diameter.

<Tabs items={["Gasoline (Tabulated)", "Burgess-Strasser", "Mudan"]}>
  <Tab value="Gasoline (Tabulated)">

### 4.1 Special Case: Gasoline

For gasoline (*GASOLINE-s*), a tabulated experimental value is used directly:

$$
\dot{m}'' = 0.055 \quad [\text{kg/(m}^2\text{·s)}]
$$

**Code:** `PoolFire.js`, lines 291–293.

  </Tab>
  <Tab value="Burgess-Strasser">

### 4.2 Burgess-Strasser Method (Kakosimos)

$$
\dot{m}'' = \rho_L(T_b) \cdot 1.27 \times 10^{-6} \cdot \frac{\Delta H_c}{\Delta H_{vap}(T_b) + c_P \cdot (T_b - T_{amb})}
$$

**Reference:** Kakosimos, K.E. et al., *Safety in Chemical Engineering*, p. 82.
**Code:** `PoolFire.js`, lines 298–305.

  </Tab>
  <Tab value="Mudan">

### 4.3 Mudan Method

$$
\dot{m}'' = \frac{0.001 \cdot \Delta H_{vap}(T_b)}{\Delta H_{vap}(T_{amb}) + c_P \cdot (T_b - T_{amb})}
$$

**Reference:** Mudan & Croce, *SFPE Handbook of Fire Protection Engineering*, 1995; cited in Kakosimos p. 83.
**Code:** `PoolFire.js`, lines 307–313.

  </Tab>
</Tabs>

<Callout type="info" title="Design note">
The denominator in both Burgess-Strasser and Mudan methods includes $c_P \cdot (T_b - T_{amb})$ to account for the sensible heat required to bring the liquid to its boiling point before evaporation.
</Callout>

---

## 5. Pool Diameter — `poolDiameter()`

<Tabs items={["Continuous Spill", "Massive Spill", "Circular Dike", "Rectangular Dike"]}>
  <Tab value="Continuous Spill">

### 5.1 Continuous Spill (CCPS p. 228)

The maximum diameter is reached when the horizontal spreading rate equals the combustion rate. The vertical burning rate is:

$$
y_{max} = 1.27 \times 10^{-6} \cdot \frac{\Delta H_c}{\Delta H_{vap}(T_b)} \quad [\text{m/s}]
$$

The equilibrium maximum diameter:

$$
D = 2 \sqrt{\frac{Q_{spill}}{\pi \cdot y_{max}}} \quad [\text{m}]
$$

where $Q_{spill}$ is the volumetric spill rate [m³/s].

<Callout type="info" title="Special cases">
For GASOLINE: $y_{max} = 7 \times 10^{-5}$ m/s; for LP GAS: $y_{max} = 2 \times 10^{-4}$ m/s (tabulated values).
</Callout>

**Reference:** CCPS, p. 228. **Code:** `PoolFire.js`, lines 331–345.

  </Tab>
  <Tab value="Massive Spill">

### 5.2 Massive / Instantaneous Spill (CCPS p. 234)

For a volume $V$ [m³] released instantaneously, the maximum diameter is:

$$
D = 2 \cdot \left(\frac{V^3 \cdot g}{v_f^2}\right)^{1/8}
$$

where the fuel regression rate is:

$$
v_f = \frac{\dot{m}''}{\rho_L(T_b)} \quad [\text{m/s}]
$$

**Reference:** CCPS, p. 234. **Code:** `PoolFire.js`, lines 347–356.

  </Tab>
  <Tab value="Circular Dike">

### 5.3 Circular Dike

The diameter is specified directly by the user (inner dike diameter). No calculation required.

**Code:** `PoolFire.js`, line 357.

  </Tab>
  <Tab value="Rectangular Dike">

### 5.4 Rectangular Dike

Equivalent diameter by equating the rectangular containment area with a circle:

$$
D_{equiv} = \sqrt{\frac{4 \cdot L \cdot W}{\pi}}
$$

where $L$ is the length and $W$ the width of the dike [m].

**Code:** `PoolFire.js`, lines 359–363.

  </Tab>
</Tabs>

---

## 6. Time Calculations

<Tabs items={["Equilibrium Time", "Fire Duration"]}>
  <Tab value="Equilibrium Time">

### 6.1 Continuous Spill — `timeToReachPoolSize()`

$$
t_{eq} = 0.564 \cdot \frac{D}{\left(g \cdot v_f \cdot D\right)^{1/3}} \quad [\text{s}]
$$

**Code:** `PoolFire.js`, lines 377–379.

### 6.2 Massive Spill

$$
t_{eq} = 0.6743 \cdot \left(\frac{V}{g \cdot v_f^2}\right)^{1/4} \quad [\text{s}]
$$

**Code:** `PoolFire.js`, lines 381–386.

  </Tab>
  <Tab value="Fire Duration">

### 6.3 Fire Duration — `timeDurationPoolFire(V)`

$$
t_{dur} = \frac{4 \cdot V}{\pi \cdot D^2 \cdot v_f} \quad [\text{s}]
$$

where $V$ is the available liquid volume [m³].

**Reference:** Based on circular pool geometry with regression rate $v_f$.
**Code:** `PoolFire.js`, lines 397–405.

  </Tab>
</Tabs>

---

## 7. Dimensionless Wind Speed — `ux()`

$$
u^* = u_w \cdot \left(\frac{g \cdot \dot{m}'' \cdot D}{\rho_{air}}\right)^{-1/3}, \quad u^* \geq 1.0
$$

The physical minimum $u^* = 1.0$ corresponds to the no-wind condition. Dry air density uses ISA 1976 altitude correction:

$$
P = 101\,325 \cdot \left(1 - 2.5577 \times 10^{-5} \cdot H\right)^{5.25588} \quad [\text{Pa}], \quad \rho_{air} = \frac{P}{287.05 \cdot T_{amb}}
$$

**Reference:** ISA 1976. **Code:** `PoolFire.js`, lines 414–430.

---

## 8. Flame Height — `alturaFlama()`

<Tabs items={["Thomas — No Wind", "Thomas — With Wind", "Pritchard-Binding"]}>
  <Tab value="Thomas — No Wind">

### 8.1 Thomas Method — No Wind ($u_w = 0$)

$$
H = 42 \cdot D \cdot \left(\frac{\dot{m}''}{\rho_{air} \sqrt{g \cdot D}}\right)^{0.61}
$$

**Reference:** Thomas, P.H., *The size of flames from natural fires*, 1963; Kakosimos p. 86.
**Code:** `PoolFire.js`, lines 464–470.

  </Tab>
  <Tab value="Thomas — With Wind">

### 8.2 Thomas Method — With Wind

$$
H = 55 \cdot D \cdot \left(\frac{\dot{m}''}{\rho_{air} \sqrt{g \cdot D}}\right)^{0.67} \cdot (u^*)^{-0.21}
$$

**Reference:** Thomas, 1963; Kakosimos p. 86. **Code:** `PoolFire.js`, lines 472–477.

  </Tab>
  <Tab value="Pritchard-Binding">

### 8.3 Pritchard-Binding Method

$$
H = 10.615 \cdot D \cdot \left(\frac{\dot{m}''}{\rho_{air} \sqrt{g \cdot D}}\right)^{0.305} \cdot (u^*)^{-0.03}
$$

**Reference:** Pritchard, M.J. & Binding, T.M., *FIRE2*, IChemE Symposium Series No. 130, 1992.
**Code:** `PoolFire.js`, lines 479–484.

  </Tab>
</Tabs>

<Callout type="info" title="Method comparison">
Thomas slightly overestimates height for large pools (D > 50 m) with strong wind. Pritchard-Binding was developed specifically for hydrocarbons and yields somewhat lower heights; recommended for conservative analyses in industrial facilities at low $u^*$ values.
</Callout>

---

## 9. Surface Emissive Power (SEP) — `SEP()`

The SEP [kW/m²] is the radiant power emitted per unit area of the flame surface.

<Tabs items={["Hydrocarbons D > 15 m (Mudan-Croce)", "Non-hydrocarbons or D ≤ 15 m"]}>
  <Tab value="Hydrocarbons D > 15 m (Mudan-Croce)">

For large hydrocarbon pools (alkanes, gasoline, diesel, jet fuel), soot significantly reduces effective radiation. The bi-exponential correlation models the shielding effect:

$$
SEP = 140 \cdot e^{-0.12 D} + 20 \cdot (1 - e^{-0.12 D}) \quad [\text{kW/m}^2]
$$

The first term represents radiation from the luminous core; the second, background radiation from the smoke column.

<Callout type="info" title="Hydrocarbon identification">
The code identifies hydrocarbons by the presence of suffixes `ANE`, `GAS`, `GASOLINE`, `DIESEL`, or `TURBO` in the substance name.
</Callout>

**Reference:** Mudan & Croce, *SFPE Handbook*, 1995; Kakosimos p. 88. **Code:** `PoolFire.js`, lines 505–508.

  </Tab>
  <Tab value="Non-hydrocarbons or D ≤ 15 m">

For non-aromatic fuels or small pools where soot does not dominate:

$$
SEP = \frac{0.35 \cdot \dot{m}'' \cdot \Delta H_c}{1 + 72 \cdot (\dot{m}'')^{0.61}} \quad [\text{kW/m}^2]
$$

**Code:** `PoolFire.js`, lines 510–513.

  </Tab>
</Tabs>

---

## 10. Flame Tilt Angle — `anguloFlama()`

Wind tilts the flame from the vertical. The angle $\theta$ [rad] is computed from the Froude and Reynolds numbers:

$$
Fr = \frac{u_w^2}{g \cdot D}, \quad Re = \frac{u_w \cdot D}{\nu}, \quad c = 0.666 \cdot Fr^{0.333} \cdot Re^{0.117}
$$

$$
\theta = \arcsin\!\left(\frac{\sqrt{4c^2 + 1} - 1}{2c}\right) \quad [\text{rad}]
$$

For $u_w \leq 0$, $\theta = 0$ (vertical flame). Kinematic viscosity $\nu$ [m²/s] is obtained from an empirical polynomial in $T_{amb}$ [K].

**Code:** `PoolFire.js`, lines 523–542.

---

## 11. View Factor — `viewFactor(x)`

<Tabs items={["Point Source", "Solid Plume (Tilted Cylinder)"]}>
  <Tab value="Point Source">

### 11.1 Point Source Model

Assumes all energy radiates from a geometric point at the flame center:

$$
F = \frac{1}{4\pi x^2}
$$

<Callout type="warn" title="Near-field limitation">
Valid for $x \gg D$. Underestimates radiation in the near field.
</Callout>

**Code:** `PoolFire.js`, line 610.

  </Tab>
  <Tab value="Solid Plume (Tilted Cylinder)">

### 11.2 Solid Plume Model

Treats the flame as a solid tilted cylinder with dimensionless variables:

$$
\alpha = \frac{H}{R}, \quad \beta = \frac{x}{R}, \quad R = \frac{D}{2}
$$

$$
A = \sqrt{\alpha^2 + (\beta+1)^2 - 2\alpha(\beta+1)\sin\theta}, \quad B = \sqrt{\alpha^2 + (\beta-1)^2 - 2\alpha(\beta-1)\sin\theta}
$$

$$
C = \sqrt{1 + (\beta^2-1)\cos^2\theta}, \quad D_v = \sqrt{\frac{\beta-1}{\beta+1}}, \quad E = \frac{\alpha\cos\theta}{\beta - \alpha\sin\theta}, \quad F_2 = \sqrt{\beta^2-1}
$$

<Accordions type="single">
  <Accordion title="Vertical and horizontal components">

**Vertical component $F_v$:**

$$
F_v = \frac{1}{\pi}\!\left[-E\arctan(D_v) + E\cdot\frac{\alpha^2+(\beta+1)^2-2\beta(1+\alpha\sin\theta)}{AB}\arctan\!\frac{AD_v}{B} + \frac{\cos\theta}{C}\!\left(\arctan\!\frac{\alpha\beta - F_2^2\sin\theta}{F_2 C} + \arctan\!\frac{F_2^2\sin\theta}{F_2 C}\right)\right]
$$

**Horizontal component $F_h$:**

$$
F_h = \frac{1}{\pi}\!\left[\arctan\!\frac{1}{D_v} + \frac{\sin\theta}{C}\!\left(\arctan\!\frac{\alpha\beta - F_2^2\sin\theta}{F_2 C} + \arctan\!\frac{F_2\sin\theta}{C}\right) - \frac{\alpha^2+(\beta+1)^2-2(\beta+1+\alpha\beta\sin\theta)}{AB}\arctan\!\frac{AD_v}{B}\right]
$$

  </Accordion>
</Accordions>

**Combined view factor:**

$$
F_{vista} = \sqrt{F_v^2 + F_h^2}
$$

**Code:** `PoolFire.js`, lines 550–611.

  </Tab>
</Tabs>

---

## 12. Atmospheric Transmissivity — `ta(x)`

Atmospheric humidity attenuates thermal radiation. Transmissivity $\tau$ uses Wayne's correlation (cited in CCPS):

$$
\tau = 2.02 \cdot (P_w \cdot x)^{-0.09}
$$

The partial pressure of water vapor $P_w$ [Pa]:

$$
P_w^0 = \frac{\exp\!\left(77.345 + 0.0057\,T - 7235/T\right)}{T^{8.2}}, \qquad P_w = \frac{HR}{100} \cdot P_w^0
$$

where $HR$ is relative humidity [%] and $T = T_{amb}$ [K]. **Code:** `PoolFire.js`, lines 620–638.

---

## 13. Thermal Radiation — `qTermAtX(x)`

<Tabs items={["Point Source", "Solid Plume"]}>
  <Tab value="Point Source">

$$
q(x) = \tau(x) \cdot F_\eta \cdot \dot{m}'' \cdot \Delta H_c \cdot F_{vista}(x) \cdot A_{pool} \quad [\text{kW/m}^2]
$$

where:
- $F_\eta$ — radiated energy fraction (0.15–0.35, user-configurable; CCPS p. 230–232, Table 2.27)
- $A_{pool} = \pi D^2 / 4$ — pool area [m²]

**Code:** `PoolFire.js`, lines 652–663.

  </Tab>
  <Tab value="Solid Plume">

$$
q(x) = SEP \cdot F_{vista}(x) \cdot \tau(x) \quad [\text{kW/m}^2]
$$

**Code:** `PoolFire.js`, line 667.

  </Tab>
</Tabs>

---

## 14. Distance to a Given Radiation Level — `xTerm(q_target)`

Given a target radiation level $q_{target}$ [kW/m²], the distance $x$ [m] is found via **Newton-Raphson**. For the Point Source model:

$$
f(x) = \frac{Z \cdot P_w^{-0.09}}{4\pi} \cdot x^{-2.09} - q_{target} = 0, \qquad Z = 2.02 \cdot F_\eta \cdot \dot{m}'' \cdot \Delta H_c \cdot A_{pool}
$$

$$
f'(x) = -\frac{2.09 \cdot Z \cdot P_w^{-0.09}}{4\pi} \cdot x^{-3.09}, \qquad x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}
$$

Convergence tolerance: 0.01 m. **Code:** `PoolFire.js`, lines 681–737.

---

## 15. Thermal Dose — `dose(x)`

$$
D_{dose} = t_{exp} \cdot \left[q(x) \times 10^3\right]^{4/3} \quad \left[(\text{W/m}^2)^{4/3} \cdot \text{s}\right]
$$

The factor $10^3$ converts $q$ from kW/m² to W/m². **Code:** `PoolFire.js`, line 758.

---

## 16. Effects — Probit Functions

Probit functions transform the thermal dose into damage probability via the standard normal distribution.

<Accordions type="multiple">
  <Accordion title="1st Degree Burns (TNO Green Book, eq. 3.4)">

$$
Pr = -39.83 + 3.0186 \cdot \ln(D_{dose})
$$

**Reference:** TNO Green Book (CPR 14E), 1997, p. 20, eq. 3.4. **Code:** `ProbitUtils.js`, line 90.

  </Accordion>
  <Accordion title="2nd Degree Burns (TNO Green Book, eq. 3.7)">

$$
Pr = -43.14 + 3.0186 \cdot \ln(D_{dose})
$$

**Reference:** TNO Green Book (CPR 14E), 1997, p. 20, eq. 3.7. **Code:** `ProbitUtils.js`, line 94.

  </Accordion>
  <Accordion title="Fatalities — TNO Methodology (eq. 3.5)">

$$
Pr = -36.38 + 2.56 \cdot \ln(D_{dose})
$$

**Reference:** TNO Green Book (CPR 14E), 1997, p. 20, eq. 3.5. **Code:** `ProbitUtils.js`, line 103.

  </Accordion>
  <Accordion title="Fatalities — CCPS Methodology (Eisenberg)">

$$
Pr = -14.9 + 2.56 \cdot \ln\!\left(\frac{D_{dose}}{10\,000}\right)
$$

<Callout type="info" title="Methodology selection">
The Pool Fire model uses the CCPS methodology for fatality calculations in population density integration.
</Callout>

**Reference:** CCPS, *Guidelines for CPQRA*, 2nd Ed., p. 269. **Code:** `ProbitUtils.js`, line 100.

  </Accordion>
  <Accordion title="Probit to Percentage Conversion">

$$
P\% = 50 \cdot \left(1 + \frac{Pr - 5}{|Pr - 5|} \cdot \text{erf}\!\left(\frac{|Pr - 5|}{\sqrt{2}}\right)\right)
$$

Limits: $Pr < 0 \Rightarrow P = 0\%$; $Pr > 8.09 \Rightarrow P = 100\%$. **Code:** `ProbitUtils.js`, lines 125–145.

  </Accordion>
</Accordions>

---

## 17. Time to Failure for Vessels (Domino Effect) — Cozzani Correlations

<Accordions type="multiple">
  <Accordion title="Atmospheric Vessels">

$$
TTF = \exp\!\left(-1.13 \cdot \ln(q) - 0.00002667 \cdot V + 9.877\right)
$$

  </Accordion>
  <Accordion title="Pressurized Vessels">

$$
TTF = \exp\!\left(-0.95 \cdot \ln(q) + 8.845 \cdot V^{0.032}\right)
$$

  </Accordion>
  <Accordion title="Pressurized Vessels — Full Engulfment">

Condition: distance from equipment to pool center < 1.1 × pool radius.

$$
TTF = \exp\!\left(-1.29 \cdot \ln(q) + 10.97 \cdot V^{0.026}\right)
$$

  </Accordion>
  <Accordion title="Domino Effect Probit (Cozzani, p. 300)">

$$
Pr_{domino} = 9.25 - 1.847 \cdot \ln\!\left(\frac{TTF}{60}\right)
$$

**Reference:** Cozzani, V. et al., *Journal of Hazardous Materials*, Vol. 127, 2006, p. 300.
**Code:** `ProbitUtils.js`, lines 50–63 (TTF), line 108 (domino probit).

  </Accordion>
</Accordions>

---

## 18. Fatality Calculation — `fatalidades()`

The method numerically integrates the probability of death over concentric annular rings:

$$
N_{fatal} = \sum_{r_i} P_{death}(r_i) \cdot \rho_{pop} \cdot A_{ring}(r_i)
$$

| Symbol | Description | Unit |
|--------|-------------|------|
| $P_{death}(r_i)$ | Probability of death at distance $r_i$ (CCPS method) | % |
| $\rho_{pop}$ | Population density | persons/m² |
| $A_{ring}(r_i)$ | Annular ring area | m² |

For polygon receivers (zones with known population), `FatalityUtils.js` uses a 10 m grid to distribute the population within the polygon and excludes that area from the uniform density calculation.

**Code:** `PoolFire.js`, lines 818–860; delegated to `FatalityUtils.js`.

---

## 19. Model Limitations

<Accordions type="multiple">
  <Accordion title="Cylindrical flame geometry">
    The model assumes a cylindrical flame shape (solid plume). Real flames are conical or irregular, especially under strong wind.
  </Accordion>
  <Accordion title="Uniform SEP distribution">
    SEP is assumed constant across the entire flame surface. In reality, SEP varies with height (higher at the base, lower in the smoke plume).
  </Accordion>
  <Accordion title="Unidirectional wind">
    The model considers a single wind direction; it does not model directional variability or turbulence.
  </Accordion>
  <Accordion title="Flat horizontal pool">
    Terrain slopes, obstacles, and three-dimensional confinement are not considered.
  </Accordion>
  <Accordion title="Steady-state assumption">
    Pool diameter models assume equilibrium. The transient behavior during pool growth is not simulated in the radiation calculation.
  </Accordion>
  <Accordion title="No flame-spill feedback">
    Additional evaporation induced by radiation on unburned liquid is not accounted for.
  </Accordion>
  <Accordion title="Cozzani correlations scope">
    Valid only for atmospheric and pressurized vessels. Not applicable to reactors, heat exchangers, or other equipment without available experimental correlations.
  </Accordion>
  <Accordion title="Atmospheric transmissivity range">
    Wayne's correlation is valid for distances of 10 m to 1000 m. For very short distances it may overestimate attenuation.
  </Accordion>
  <Accordion title="Point Source near-field">
    The point source simplification is valid for $x \gg D$. It underestimates radiation in the near field.
  </Accordion>
</Accordions>

---

## 20. Bibliographic References

<Accordions type="single">
  <Accordion title="View complete reference list">

| # | Reference |
|---|-----------|
| 1 | Kakosimos, K.E. et al. — *Safety in Chemical Engineering*. Papasotiriou Publications. (pp. 82, 83, 86, 88) |
| 2 | CCPS — *Guidelines for Chemical Process Quantitative Risk Analysis*, 2nd Ed. AIChE, New York, 1999. (pp. 228, 230–234, 269) |
| 3 | TNO — *Methods for the Calculation of Physical Effects* (CPR 14E, "Green Book"), 3rd Ed. 1997. (p. 20, eqs. 3.4, 3.5, 3.7) |
| 4 | YAWS, C.L. — *Chemical Properties Handbook*. McGraw-Hill, New York, 1999. (pp. 109, 185, 582) |
| 5 | Thomas, P.H. — *The size of flames from natural fires*. 9th Intl. Symposium on Combustion, 1963, pp. 844–859. |
| 6 | Pritchard, M.J. & Binding, T.M. — *FIRE2: A new approach for predicting thermal hazards from hydrocarbon pool fires*. IChemE Symposium Series No. 130, 1992. |
| 7 | Cozzani, V., Gubinelli, G., Antonioni, G., Spadoni, G. & Zanelli, S. — *The assessment of risk caused by domino effect in quantitative area risk analysis*. J. Hazardous Materials, Vol. 127, 2006, pp. 14–30. |
| 8 | Mudan, K.S. & Croce, P.A. — *Fire hazard calculations for large open hydrocarbon fires*, SFPE Handbook of Fire Protection Engineering. SFPE/NFPA, 1995. |
| 9 | ISA — *International Standard Atmosphere*. ICAO Doc 7488/2, 1976. |

  </Accordion>
</Accordions>
