# Explosión de Nube de Vapor
Source: https://tekrisk.com/es/docs/risk-models/vce

Documentacion tecnica del modelo de consecuencias VCE (Explosion de Nube de Vapor) — metodo TNT equivalente, sobrepresion Lees/Brasie, analisis probit y estimacion de fatalidades

## 1. Introduccion y Fenomeno Fisico

### 1.1 Explosion de Nube de Vapor (VCE)

Una **VCE** (Vapor Cloud Explosion - Explosion de Nube de Vapor) ocurre cuando una cantidad significativa de gas o vapor inflamable se libera a la atmosfera, se mezcla con el aire formando una nube inflamable, y se enciende. Si la nube encuentra suficiente confinamiento u obstruccion (equipos, edificios, tuberias), la combustion puede acelerar hasta generar una onda de sobrepresion destructiva.

A diferencia de una detonacion confinada, la VCE es un fenomeno de **deflagracion** donde la velocidad de la llama es subsonica, pero la generacion de sobrepresion puede ser significativa dependiendo del grado de confinamiento y congestion del entorno.

Los efectos principales de una VCE incluyen:

- **Sobrepresion** (onda de choque) capaz de causar colapso estructural
- **Impulso** (integral presion-tiempo) que determina el dano dinamico
- **Letalidad** en personas por los efectos directos de la sobrepresion
- **Efectos domino** por fallo de recipientes y equipos cercanos

### 1.2 Contexto Industrial

<Callout type="warn" title="Escenario de alta severidad">
Los eventos VCE se encuentran entre los accidentes mas severos en QRA industrial. Incidentes historicos como **Flixborough** (Reino Unido, 1974), **Buncefield** (Reino Unido, 2005) y **Texas City** (EE.UU., 2005) demuestran su potencial catastrofico.
</Callout>

<Cards>
  <Card title="Refinerias de Petroleo">
    Fugas de hidrocarburos gaseosos en areas congestionadas de proceso
  </Card>
  <Card title="Plantas Quimicas">
    Liberacion de vapores inflamables en zonas de proceso
  </Card>
  <Card title="Almacenamiento de GLP">
    Vaporizacion rapida de liquidos presurizados
  </Card>
  <Card title="Instalaciones Offshore">
    Liberaciones de gas natural en plataformas y FPSOs
  </Card>
</Cards>

### 1.3 Alcance de Este Modelo

Este modelo calcula, utilizando el **metodo de equivalente TNT**:

1. Masa equivalente de TNT a partir de la masa de gas, calor de combustion y fraccion de energia
2. Sobrepresion, impulso, duracion y tiempo de arribo a cualquier distancia
3. Distancia a un umbral de sobrepresion especificado (problema inverso)
4. Probabilidad basada en probit de letalidad, rotura de timpano y dano estructural
5. Probabilidad de efecto domino para equipos cercanos (Cozzani y Mingguang)
6. Fatalidades de poblacion usando analisis de anillos concentricos

---

## 2. Secuencia de Calculo

<Mermaid>
{`flowchart TD
    A["Datos de Entrada<br/>(masa, Hc, fe, metodo)"] --> B["Equivalente TNT<br/>m_TNT = fe*Hc*M / DH_TNT"]
    B --> C["Para cada distancia x:<br/>z, P(z), I(z), td(z), ta(z)"]
    C --> D["Directo: P(x)"]
    C --> E["Inverso: x(P_objetivo)<br/>Iteracion Incremental"]
    D --> F["Analisis Probit"]
    E --> F
    F --> G["Letalidad<br/>(personas)"]
    F --> H["Dano<br/>Estructural"]
    F --> I["Efecto<br/>Domino"]
    G --> J["Calculo de Fatalidades<br/>(Anillos Concentricos)"]
    H --> J
    I --> J

    style A fill:#e1f5fe
    style J fill:#c8e6c9
    style C fill:#fff3e0`}
</Mermaid>

El calculo del VCE sigue estas etapas:

<Steps>
  <Step>
    **Equivalente TNT** — Convertir la energia de combustion de la nube de vapor en una masa equivalente de TNT.
  </Step>
  <Step>
    **Distancia Escalada** — Calcular la distancia escalada de Hopkinson-Cranz $z = x / m_{TNT}^{1/3}$ para cada receptor.
  </Step>
  <Step>
    **Parametros de Onda de Choque** — Calcular sobrepresion $P(z)$, impulso $I(z)$, duracion de fase positiva $t_d(z)$ y tiempo de arribo $t_a(z)$ usando el metodo Lees o Brasie.
  </Step>
  <Step>
    **Distancia Inversa** — Encontrar la distancia a la cual la sobrepresion iguala un umbral objetivo via iteracion incremental.
  </Step>
  <Step>
    **Analisis Probit** — Convertir sobrepresion/impulso a probabilidades de letalidad, rotura de timpano, dano estructural y efectos domino.
  </Step>
  <Step>
    **Estimacion de Fatalidades** — Integrar probabilidad de fatalidad sobre anillos concentricos para estimar el total de victimas.
  </Step>
</Steps>

---

## 3. Ecuaciones Principales

### 3.1 Equivalente TNT

$$
m_{TNT} = \frac{f_e \cdot \Delta H_c \cdot M}{\Delta H_{TNT}}
$$

| Simbolo | Descripcion | Unidad | Valor/Rango |
|---------|-------------|--------|-------------|
| $m_{TNT}$ | Masa equivalente de TNT | kg | calculado |
| $f_e$ | Fraccion de energia de explosion | adimensional | 0.01–0.10 |
| $\Delta H_c$ | Calor de combustion del gas | kJ/kg | dato de entrada |
| $M$ | Masa de gas inflamable liberado | kg | dato de entrada |
| $\Delta H_{TNT}$ | Calor de combustion del TNT | kJ/kg | 4,760 |

*Referencia: CCPS, Guidelines for Chemical Process QRA, 2da ed., p. 165*

<Callout type="info" title="Fraccion de energia (fe)">
El parametro $f_e$ (eficiencia de explosion o yield) es tipicamente entre 1% y 10%. Valores mas altos corresponden a mayor confinamiento/congestion. El usuario introduce el valor en porcentaje (1–10) y se divide entre 100 internamente.
</Callout>

### 3.2 Distancia Escalada (Hopkinson-Cranz)

$$
z = \frac{x}{m_{TNT}^{1/3}}
$$

| Simbolo | Descripcion | Unidad |
|---------|-------------|--------|
| $z$ | Distancia escalada | m/kg$^{1/3}$ |
| $x$ | Distancia real desde el centro de la explosion | m |
| $m_{TNT}$ | Masa equivalente de TNT | kg |

**Rango valido para el metodo Lees**: $0.0674 \leq z \leq 40$

### 3.3 Calculo de Sobrepresion

<Tabs items={["Lees (CCPS) — PRINCIPAL", "Brasie & Simpson"]}>
  <Tab value="Lees (CCPS) — PRINCIPAL">
    La sobrepresion se calcula usando un polinomio de grado 11 en la variable transformada $u$:

$$
u = a_1 + b_1 \cdot \log_{10}(z)
$$

$$
\log_{10}(P) = c_0 + c_1 u + c_2 u^2 + c_3 u^3 + \ldots + c_{11} u^{11}
$$

$$
P = 10^{\log_{10}(P)} \quad \text{(kPa)}
$$

    **Rango**: $0.0674 \leq z \leq 40$

    <Accordions type="single">
      <Accordion title="Constantes Polinomiales (de LessConstants.js)">
        | Constante | Valor |
        |-----------|-------|
        | $a_1$ | -0.214362789151 |
        | $b_1$ | 1.35034249993 |
        | $c_0$ | 2.78076916577 |
        | $c_1$ | -1.6958988741 |
        | $c_2$ | -0.154159376846 |
        | $c_3$ | 0.514060730593 |
        | $c_4$ | 0.0988554365274 |
        | $c_5$ | -0.293912623038 |
        | $c_6$ | -0.0268112345019 |
        | $c_7$ | 0.109097496421 |
        | $c_8$ | 0.001628467556311 |
        | $c_9$ | -0.0214631030242 |
        | $c_{10}$ | 0.0001456723382 |
        | $c_{11}$ | 0.00167847752266 |
      </Accordion>
    </Accordions>

    <Callout type="warn" title="Erratas">
    Algunas constantes difieren entre Lees Loss original y CCPS. Las constantes implementadas corresponden a la version corregida de CCPS (p. 162), considerada la version autoritativa.
    </Callout>

    *Referencia: CCPS, Guidelines for Chemical Process QRA, 2da ed., pp. 161-162; Lees, Loss Prevention, 3ra ed., p. 17-127*
  </Tab>
  <Tab value="Brasie & Simpson">
$$
P(z) = \frac{80800 \cdot \left(1 + (z/4.5)^2\right)}{\sqrt{1 + (z/0.048)^2} \cdot \sqrt{1 + (z/0.32)^2} \cdot \sqrt{1 + (z/1.35)^2}} \quad \text{(kPa)}
$$

    *Referencia: Brasie & Simpson, 1968; Kakosimos, Safety in Chemical Engineering, p. 154*
  </Tab>
</Tabs>

### 3.4 Calculo de Impulso

<Tabs items={["Lees (CCPS)", "Brasie (JRC)"]}>
  <Tab value="Lees (CCPS)">
    El impulso positivo usa dos polinomios segun el rango de $z$:

    **Rango 1** ($0.0674 \leq z \leq 0.955$): Polinomio de grado 4

    **Rango 2** ($0.955 < z \leq 40$): Polinomio de grado 7

    Ambos usan: $u = a + b \cdot \log_{10}(z)$, luego $I = 10^{\text{polinomio}(u)}$ (kPa·ms = Pa·s)

    <Accordions type="single">
      <Accordion title="Constantes Rango 1 (ip1)">
        | Constante | Valor |
        |-----------|-------|
        | $a$ | 2.06761908721 |
        | $b$ | 3.0760329666 |
        | $c_0$ | 2.52455620925 |
        | $c_1$ | -0.502992763686 |
        | $c_2$ | 0.171335645235 |
        | $c_3$ | 0.0450176963051 |
        | $c_4$ | -0.0118964626402 |
      </Accordion>
      <Accordion title="Constantes Rango 2 (ip2)">
        | Constante | Valor |
        |-----------|-------|
        | $a$ | -1.94708846747 |
        | $b$ | 2.40697745406 |
        | $c_0$ | 1.67281645863 |
        | $c_1$ | -0.384519026965 |
        | $c_2$ | -0.0260816706301 |
        | $c_3$ | 0.00595798753822 |
        | $c_4$ | 0.014544526107 |
        | $c_5$ | -0.00663289334734 |
        | $c_6$ | -0.00284189327204 |
        | $c_7$ | 0.0013644816227 |
      </Accordion>
    </Accordions>

    *Referencia: Lees, Loss Prevention, 3ra ed., p. 17-127*
  </Tab>
  <Tab value="Brasie (JRC)">
$$
I_{bar \cdot ms} = \frac{0.067 \cdot \sqrt{1 + (z/0.23)^4}}{z^2 \cdot \sqrt{1 + (z/1.55)^3}}
$$

$$
I_{Pa \cdot s} = I_{bar \cdot ms} \times 100
$$

    *Referencia: JRC, Major Accident Hazards Bureau Technical Report, p. 85*
  </Tab>
</Tabs>

### 3.5 Duracion y Tiempo de Arribo

<Tabs items={["Duracion (Lees)", "Duracion (Brasie)", "Tiempo de Arribo (Lees)"]}>
  <Tab value="Duracion (Lees)">
    Tres polinomios para diferentes rangos de $z$:

    - **Rango 1** ($0.178 \leq z \leq 1.01$): Polinomio de grado 5
    - **Rango 2** ($1.01 < z \leq 2.78$): Polinomio de grado 8
    - **Rango 3** ($2.78 < z \leq 40$): Polinomio de grado 5

    $t_d = 10^{\text{polinomio}(u)}$ (ms)

    <Accordions type="single">
      <Accordion title="Constantes Duracion Rango 1 (td1)">
        | Constante | Valor |
        |-----------|-------|
        | $a$ | 1.92946154068 |
        | $b$ | 5.25099193925 |
        | $c_0$ | -0.614227603559 |
        | $c_1$ | 0.130143717675 |
        | $c_2$ | 0.134872511954 |
        | $c_3$ | 0.0391574276906 |
        | $c_4$ | -0.00475933664702 |
        | $c_5$ | -0.00428144598008 |
      </Accordion>
      <Accordion title="Constantes Duracion Rango 2 (td2)">
        | Constante | Valor |
        |-----------|-------|
        | $a$ | -2.12492525216 |
        | $b$ | 9.2996288611 |
        | $c_0$ | 0.315409245784 |
        | $c_1$ | -0.0297944268976 |
        | $c_2$ | 0.030632954288 |
        | $c_3$ | 0.0183405574086 |
        | $c_4$ | -0.0173964666211 |
        | $c_5$ | -0.00106321963633 |
        | $c_6$ | 0.00562060030977 |
        | $c_7$ | 0.0001618217499 |
        | $c_8$ | -0.0006860188944 |
      </Accordion>
      <Accordion title="Constantes Duracion Rango 3 (td3)">
        | Constante | Valor |
        |-----------|-------|
        | $a$ | -3.53626218091 |
        | $b$ | 3.46349745571 |
        | $c_0$ | 0.686906642409 |
        | $c_1$ | 0.0933035304009 |
        | $c_2$ | -0.0005849420883 |
        | $c_3$ | -0.00226884995013 |
        | $c_4$ | -0.00295908591505 |
        | $c_5$ | 0.00148029868929 |
      </Accordion>
    </Accordions>

    *Referencia: Lees, Loss Prevention, 3ra ed., p. 17-127*
  </Tab>
  <Tab value="Duracion (Brasie)">
$$
t_d = \frac{980 \cdot m_{TNT}^{1/3} \cdot \left(1 + (z/0.54)^{10}\right)}{(1 + (z/0.02)^3) \cdot (1 + (z + 0.74)^6) \cdot \sqrt{1 + (z/6.9)^2}} \quad \text{(ms)}
$$

    *Referencia: Lees, Loss Prevention, 3ra ed., p. 17-124*
  </Tab>
  <Tab value="Tiempo de Arribo (Lees)">
    Unico polinomio de grado 9 para todo el rango ($0.0674 \leq z \leq 40$):

    $t_a = 10^{\text{polinomio}(u)}$ (ms)

    <Accordions type="single">
      <Accordion title="Constantes Tiempo de Arribo (ta)">
        | Constante | Valor |
        |-----------|-------|
        | $a$ | -0.202425716178 |
        | $b$ | 1.37784223635 |
        | $c_0$ | -0.0591634288046 |
        | $c_1$ | 1.35706496258 |
        | $c_2$ | 0.052492798645 |
        | $c_3$ | -0.196563954086 |
        | $c_4$ | -0.0601770052288 |
        | $c_5$ | 0.0696360270891 |
        | $c_6$ | 0.0215297490092 |
        | $c_7$ | -0.0161658930785 |
        | $c_8$ | -0.00232531970294 |
        | $c_9$ | 0.00147752067524 |
      </Accordion>
    </Accordions>

    *Referencia: Lees, Loss Prevention, 3ra ed., p. 17-127*
  </Tab>
</Tabs>

### 3.6 Calculo Inverso (Iteracion Incremental)

Para encontrar la distancia $x$ a la cual la sobrepresion iguala un valor objetivo $P_{objetivo}$, el modelo usa **iteracion incremental**:

| Parametro | Valor |
|-----------|-------|
| Paso de iteracion | 0.05 m |
| Maximo de iteraciones | 100,000 |
| Presion inicial de referencia | 2,068 kPa (maximo EPA) |

**Conversion de unidades para sobrepresion objetivo:**

| Unidad de Entrada | Factor a kPa |
|--------------------|-------------|
| kPa | $\times 1$ |
| psi | $\times 6.89476$ |
| bar | $\times 100$ |
| atm | $\times 101.325$ |

<Callout type="info" title="Por que no Newton-Raphson?">
Los polinomios de Lees de alto grado pueden tener derivadas no monotonas, dificultando la convergencia de Newton-Raphson. La iteracion incremental siempre converge si la solucion existe dentro del rango valido.
</Callout>

### 3.7 Analisis Probit — Efectos en Personas

<Tabs items={["Hurst (POR DEFECTO)", "Eisenberg (CCPS)", "Rotura de Timpano"]}>
  <Tab value="Hurst (POR DEFECTO)">
$$
Y_{muerte} = 1.47 + 1.35 \cdot \ln(P_{psi})
$$

    donde $P_{psi} = P_{kPa} \times 0.145038$.

    *Referencia: Hurst, Nussey & Pape, 1989*
  </Tab>
  <Tab value="Eisenberg (CCPS)">
$$
Y_{muerte} = -77.1 + 6.91 \cdot \ln(P_{Pa})
$$

    donde $P_{Pa} = P_{kPa} \times 1000$.

    *Referencia: CCPS, Guidelines for Chemical Process QRA, 2da ed., p. 275*
  </Tab>
  <Tab value="Rotura de Timpano">
$$
Y_{timpano} = -12.6 + 1.525 \cdot \ln(P_{Pa})
$$

    *Referencia: CCPS, Guidelines for Chemical Process QRA, 2da ed.*
  </Tab>
</Tabs>

### 3.8 Analisis Probit — Efectos en Estructuras

<Tabs items={["Dano Eisenberg", "Rotura de Vidrios", "Dano TNO por Impulso"]}>
  <Tab value="Dano Eisenberg">
$$
Y_{estructura} = -23.8 + 2.92 \cdot \ln(P_{Pa})
$$

    *Referencia: CCPS, Guidelines for Chemical Process QRA, 2da ed., p. 275*
  </Tab>
  <Tab value="Rotura de Vidrios">
    **Vidrios pre-1975:**

$$
Y_{vidrios} = -11.97 + 2.12 \cdot \ln(P_{Pa})
$$

    **Vidrios post-1975:**

$$
Y_{vidrios} = -16.58 + 2.53 \cdot \ln(P_{Pa})
$$

    <Callout type="info">
    Los vidrios post-1975 son mas resistentes debido a mejoras en la fabricacion, reflejado en constantes probit mas conservadoras (requieren mayor sobrepresion para el mismo nivel de dano).
    </Callout>

    *Referencia: TNO Green Book (CPR 16E), p. 119*
  </Tab>
  <Tab value="Dano TNO por Impulso">
    Estos probits incorporan tanto sobrepresion como impulso en un parametro combinado $V$:

    **Dano menor:**

$$
V = \left(\frac{4600}{P_{Pa}}\right)^{3.9} + \left(\frac{110}{I}\right)^{5.0}
$$

$$
Y_{menor} = 5.0 - 0.26 \cdot \ln(V)
$$

    **Dano mayor:**

$$
V = \left(\frac{17500}{P_{Pa}}\right)^{8.4} + \left(\frac{290}{I}\right)^{9.3}
$$

$$
Y_{mayor} = 5.0 - 0.26 \cdot \ln(V)
$$

    **Colapso estructural:**

$$
V = \left(\frac{40000}{P_{Pa}}\right)^{7.4} + \left(\frac{460}{I}\right)^{11.3}
$$

$$
Y_{colapso} = 5.0 - 0.22 \cdot \ln(V)
$$

    donde $I$ es el impulso en Pa·s.

    *Referencia: TNO Green Book (CPR 16E); Casal p. 358*
  </Tab>
</Tabs>

### 3.9 Efecto Domino

<Tabs items={["Cozzani (Principal)", "Mingguang (Alternativo)"]}>
  <Tab value="Cozzani (Principal)">
    Todos usan sobrepresion en Pascales:

    | Tipo de Equipo | Ecuacion Probit |
    |----------------|-----------------|
    | Recipientes atmosfericos | $Y = -18.96 + 2.44 \cdot \ln(P_{Pa})$ |
    | Recipientes presurizados | $Y = -42.44 + 4.33 \cdot \ln(P_{Pa})$ |
    | Equipos elongados | $Y = -28.07 + 3.16 \cdot \ln(P_{Pa})$ |
    | Equipos pequenos | $Y = -17.79 + 2.18 \cdot \ln(P_{Pa})$ |

    *Referencia: Cozzani, V. et al., Journal of Hazardous Materials*
  </Tab>
  <Tab value="Mingguang (Alternativo)">
    Todos usan sobrepresion en Pascales:

    | Tipo de Equipo | Ecuacion Probit |
    |----------------|-----------------|
    | Recipientes atmosfericos | $Y = -9.36 + 1.43 \cdot \ln(P_{Pa})$ |
    | Recipientes presurizados | $Y = -14.44 + 1.82 \cdot \ln(P_{Pa})$ |
    | Equipos elongados | $Y = -12.22 + 1.65 \cdot \ln(P_{Pa})$ |
    | Equipos pequenos | $Y = -12.42 + 1.64 \cdot \ln(P_{Pa})$ |

    *Referencia: Mingguang, Z. et al.*
  </Tab>
</Tabs>

### 3.10 Conversion de Probit a Probabilidad

$$P(\%) = f_k \cdot 50 \cdot \left[1 + \text{sgn}(Y - 5) \cdot \text{erf}\left(\frac{|Y - 5|}{\sqrt{2}}\right)\right]$$

| Simbolo | Descripcion | Valor |
|---------|-------------|-------|
| $f_k$ | Factor de proteccion | 1.0 (sin proteccion) |
| $\text{erf}$ | Funcion error (serie de Taylor, 50 terminos) | — |

**Limites:** Si $Y < 0$ → $P = 0\%$. Si $Y > 8.09$ → $P = 100\%$.

### 3.11 Calculo de Fatalidades (Anillos Concentricos)

Las fatalidades de poblacion se estiman dividiendo el area afectada en anillos concentricos centrados en el punto de la explosion.

**Algoritmo:**

1. Radio inicial dinamico: $r_{min} = 0.0674 \cdot m_{TNT}^{1/3}$, efectivo $r_{inicial} = \max(1, \lceil r_{min} \rceil)$ m
2. Para cada anillo $i$ a distancia $r_i$ (incremento = 5 m, max = 10 km):
   - Calcular sobrepresion $P$ usando el metodo seleccionado
   - Si $P = 9999$ o $P \leq 0$: **DETENER** (fuera de rango)
   - Calcular probit de letalidad (Hurst o Eisenberg)
   - Convertir probit a porcentaje $P\%$
   - Si $P\% < 0.1\%$: **DETENER** (fatalidades despreciables)
3. Area del anillo: $A_{anillo} = \pi (r_{ext}^{2} - r_{int}^{2})$
4. Fatalidades por anillo: $F_i = A_{anillo} \times \rho_{pob} \times P_i / 100$
5. Fatalidades totales: $F_{total} = \sum F_i$

| Parametro | Valor por Defecto |
|-----------|-------------------|
| Incremento del anillo | 5 m |
| Radio maximo | 10 km |
| Umbral minimo de probabilidad | 0.1% |
| Regla de redondeo | Si $F > 0.6$ → $\lceil F \rceil$; de lo contrario 0 |

*Referencia: CCPS, Guidelines for Chemical Process QRA, 2da ed., p. 273; TNO Purple Book (CPR 18E)*

### 3.12 Exclusion de Receptores Poligonales

Cuando se definen receptores de tipo poligono, el modelo evita el doble conteo de poblacion:

1. Los receptores poligonales que se superponen con los anillos se identifican usando interseccion geografica
2. Para cada anillo, el area del poligono se resta: $A_{efectiva} = A_{anillo} - A_{excluida}$
3. Las fatalidades de las areas poligonales se calculan por separado usando analisis de grilla distribuida con sus propios conteos de poblacion

---

## 4. Justificacion de los Metodos Seleccionados

<Accordions type="multiple">
  <Accordion title="Por que Lees (CCPS) como Metodo Principal de Sobrepresion">
    1. **Mayor precision** — Polinomios de alto grado (11 para sobrepresion, 4–9 para otros parametros) proporcionan ajuste muy preciso a las curvas experimentales
    2. **Cobertura completa** — Calcula simultaneamente sobrepresion, impulso, duracion y tiempo de arribo
    3. **Rango amplio** — Distancias escaladas de 0.0674 a 40, del campo cercano al lejano
    4. **Referencia autoritativa** — Constantes corregidas en CCPS (p. 162) son las mas fiables y aceptadas
    5. **Brasie como validacion** — Verificacion independiente cruzada de resultados
  </Accordion>
  <Accordion title="Por que Hurst como Probit por Defecto de Letalidad">
    1. **Base empirica directa** — Desarrollada especificamente para letalidad por sobrepresion con datos de accidentes industriales
    2. **Rango numerico conveniente** — Mas estable numericamente que el intercepto negativo grande de Eisenberg
    3. **Conservadurismo apropiado** — Resultados mas conservadores (mayores probabilidades de fatalidad) para sobrepresiones industriales tipicas
    4. **Seleccion del usuario** — Permite cambiar entre Hurst y Eisenberg segun el requerimiento
  </Accordion>
  <Accordion title="Por que Cozzani para Efecto Domino por Sobrepresion">
    1. **Especificidad por tipo de equipo** — Correlaciones separadas para cuatro categorias (atmosferico, presurizado, elongado, pequeno)
    2. **Ampliamente validado** — Correlaciones mas citadas y aceptadas para efecto domino por sobrepresion
    3. **Complemento con Mingguang** — Correlaciones alternativas para comparacion y analisis de sensibilidad
    4. **Entrada directa** — Usa sobrepresion incidente (Pa) directamente disponible del calculo VCE
  </Accordion>
  <Accordion title="Por que Iteracion Incremental para el Calculo Inverso">
    1. **Robustez** — Los polinomios de Lees de alto grado pueden tener derivadas no monotonas, dificultando Newton-Raphson
    2. **Simplicidad** — No requiere derivada analitica del polinomio de grado 11
    3. **Precision suficiente** — Paso de 0.05 m adecuado para analisis de riesgo industrial
    4. **Prevencion de loops infinitos** — Limite de 100,000 iteraciones
  </Accordion>
</Accordions>

---

## 5. Limitaciones del Modelo

<Accordions type="multiple">
  <Accordion title="Metodo TNT Equivalente">
    - **Fraccion de energia** — $f_e$ (0.01–0.10) es una simplificacion; la eficiencia real depende del confinamiento, congestion, tipo de combustible, velocidad de mezcla y condiciones de ignicion
    - **Geometria de la explosion** — Asume explosion hemisferica de superficie; las VCE reales tienen geometrias complejas
    - **Onda de choque ideal** — Asume tipo Friedlander sin reflexiones multiples, canalizacion ni amplificacion por confinamiento
    - **Fuente puntual** — Toda la energia desde un punto unico, simplificacion para nubes de gran extension
  </Accordion>
  <Accordion title="Rango de Distancia Escalada">
    - **Limite inferior** ($z = 0.0674$) — Polinomios de Lees invalidos debajo; distancia minima es $0.0674 \times m_{TNT}^{1/3}$ m
    - **Limite superior** ($z = 40$) — Retorna 9999 (invalido) fuera del rango en lugar de extrapolar
    - **Discontinuidades** — Transiciones de polinomios pueden introducir pequenas discontinuidades numericas
  </Accordion>
  <Accordion title="Iteracion Incremental">
    - **Precision fija** — Paso de 0.05 m introduce error de $\pm 0.025$ m
    - **Velocidad** — Para sobrepresiones muy bajas, muchos pasos necesarios; limite de 100,000 iteraciones corresponde a max 5,001 m
    - **No convergencia** — Retorna `null` si la sobrepresion objetivo esta fuera del rango del modelo
  </Accordion>
  <Accordion title="Limitaciones de los Probit">
    - **Datos limitados** — Ecuaciones basadas en datos de explosiones militares (Eisenberg) o analisis retrospectivo (Hurst)
    - **Poblacion heterogenea** — Sin diferenciacion por edad, condicion, posicion o actividad
    - **Efectos indirectos** — Letalidad combina efectos directos (dano pulmonar) e indirectos (proyectiles, colapso)
    - **Sin efectos combinados** — Sobrepresion no se combina con efectos termicos u otros peligros
  </Accordion>
  <Accordion title="Poblacion / Receptor">
    - **Densidad uniforme** — Calculo base asume densidad uniforme en todas las direcciones (exclusion de poligonos lo aborda parcialmente)
    - **Sin proteccion** — Todas las personas al aire libre sin proteccion estructural
    - **Sin evacuacion** — Respuesta de emergencia no considerada
    - **Poblacion estatica** — Distribucion fija durante el evento
  </Accordion>
  <Accordion title="Numericas">
    - **Erratas en constantes** — Varias constantes en Lees Loss original con errores corregidos en CCPS, documentados en `LessConstants.js`
    - **Discretizacion de anillos** — Incremento de 5 m introduce error de $\pm 2.5$ m
    - **Extrapolacion probit** — Valores limitados: debajo de 0 → 0%, encima de 8.09 → 100%
  </Accordion>
</Accordions>

---

## 6. Resumen de Entradas/Salidas

### 6.1 Entradas Requeridas

| Parametro | Descripcion | Unidad |
|-----------|-------------|--------|
| `massRelease` | Masa de gas inflamable liberado | kg, lb, g, ton |
| `hckjkg` | Calor de combustion | kJ/kg |
| `energyFraction` | Fraccion de energia de explosion ($f_e$) | % (1–10) |
| `VCEMethod` | Metodo de calculo | "less" o "brasie" |
| `populationDensity` | Densidad de poblacion | p/m$^2$, p/ha, p/km$^2$, p/mi$^2$ |
| `probitMethod` | Metodo probit de letalidad | "hurst" o "eisenberg" |
| `overpressureZones` | Zonas de riesgo con umbrales de sobrepresion | kPa |

### 6.2 Salidas

| Salida | Descripcion | Unidad |
|--------|-------------|--------|
| `masaTNTEQ` | Masa equivalente de TNT | kg |
| `zones` | Arreglo de zonas de riesgo con distancias | m |
| `zones[i].overpressureZone` | Sobrepresion de la zona | kPa |
| `zones[i].distance` | Distancia a esa sobrepresion | m |
| `fatalidades` | Resultados del calculo de fatalidades | Objeto o 0 |
| `receiverEffects` | Efectos sobre cada receptor | Arreglo |
| `receiverEffects[i].overpressure` | Sobrepresion en el receptor | kPa |
| `receiverEffects[i].impulse` | Impulso en el receptor | Pa·s |
| `receiverEffects[i].duration` | Duracion de fase positiva | ms |
| `receiverEffects[i].arrivalTime` | Tiempo de arribo | ms |

### 6.3 Categorias de Efectos en Receptores

**Efectos en Poblacion/Estructuras:**

| Categoria | Efecto | Fuente Probit |
|-----------|--------|---------------|
| Sobrepresion | Fatalidad | Hurst 1989 / CCPS p. 275 |
| Sobrepresion | Rotura de timpano | CCPS |
| Sobrepresion | Dano estructural | CCPS p. 275 |
| Sobrepresion | Rotura de vidrios | TNO Green Book |

**Efectos Domino en Equipos:**

| Tipo de Equipo | Fuente Probit |
|----------------|---------------|
| Recipientes atmosfericos | Cozzani — Atmosferico |
| Recipientes presurizados | Cozzani — Presurizado |
| Equipos elongados | Cozzani — Elongado |
| Equipos pequenos | Cozzani — Pequeno |

---

## 7. Referencias Bibliograficas

<Accordions type="single">
  <Accordion title="CCPS — Guidelines for Chemical Process QRA, 2da Edicion">
    Center for Chemical Process Safety, AIChE/Wiley, 2000. Equivalente TNT (p. 165), Polinomios de sobrepresion (pp. 161-162), Probit letalidad Eisenberg (p. 275), Probit dano estructural (p. 275), Anillos de fatalidades (p. 273).
  </Accordion>
  <Accordion title="Lees, F.P. — Loss Prevention in the Process Industries, 3ra Edicion">
    Butterworth-Heinemann, 2004. Constantes polinomiales originales (p. 17-127), Duracion Brasie (p. 17-124), Metodologia general de VCE.
  </Accordion>
  <Accordion title="TNO Green Book (CPR 16E, 3ra Edicion)">
    *Methods for the Calculation of Physical Effects*. Committee for the Prevention of Disasters, 2005. Probit rotura de vidrios (p. 119), Probit TNO dano por impulso.
  </Accordion>
  <Accordion title="TNO Purple Book (CPR 18E)">
    *Methods for the Determination of Possible Damage*. Committee for the Prevention of Disasters, 1999. Metodologia de calculo de fatalidades por anillos concentricos.
  </Accordion>
  <Accordion title="Brasie, W.C. & Simpson, D.W. (1968)">
    "Guidelines for Estimating Damage from Chemical Explosions." 63rd National Meeting, AIChE. Correlacion de sobrepresion alternativa.
  </Accordion>
  <Accordion title="Hurst, N.W., Nussey, C. & Pape, R.P. (1989)">
    "Development and Application of a Risk Assessment Tool (RISKAT)." Chemical Engineering Research and Design, 67. Probit letalidad por sobrepresion (metodo por defecto).
  </Accordion>
  <Accordion title="Cozzani, V. et al.">
    "Escalation thresholds in the assessment of domino accidental events." Journal of Hazardous Materials. Probit efecto domino por sobrepresion (recipientes atmosfericos, presurizados, elongados, pequenos).
  </Accordion>
  <Accordion title="Kakosimos, K.E.">
    *Safety in Chemical Engineering*. Ecuacion de sobrepresion Brasie (p. 154).
  </Accordion>
  <Accordion title="JRC — Joint Research Centre">
    Major Accident Hazards Bureau Technical Report, p. 85. Impulso positivo Brasie.
  </Accordion>
  <Accordion title="Mingguang, Z. et al.">
    Probit functions for domino effect. Correlaciones de efecto domino alternativas.
  </Accordion>
</Accordions>
