Riesgo Social y Curva F-N

Documentación técnica para la cuantificación del Riesgo Social, construcción de la Curva F-N, evaluación de criterios ALARP y cálculo de Riesgo Individual en QRA industrial

1. Introducción

El Riesgo Social cuantifica el peligro que representa una instalación industrial para la colectividad que reside o trabaja en sus alrededores. A diferencia del Riesgo Individual (que evalúa la probabilidad de que una persona específica fallezca), el Riesgo Social expresa la relación entre la frecuencia de ocurrencia de un accidente y el número de víctimas fatales que podría causar.

La herramienta principal para visualizar y evaluar el Riesgo Social es la Curva F-N (curva frecuencia-número):

  • Eje X (N): Número de fatalidades en un evento
  • Eje Y (F): Frecuencia acumulativa F(N)F(N) = frecuencia anual de eventos que causen al menos N fatalidades [eventos/año]

Ambos ejes usan escala logarítmica.

Requisito regulatorio

Las Curvas F-N son requeridas por los principales estándares de QRA a nivel mundial (UK R2P2, Países Bajos RIVM, México ASEA, Australia HIPAP, Hong Kong HKSAR) para licencias de operación y planificación de uso del suelo.


2. Conceptos Clave

Frecuencia de Escenario P(As)

Tasa anual [eventos/año] de ocurrencia del escenario accidental AsA_s — obtenida de LOPA, árboles de fallo o bases de datos históricas (OREDA, TNO FACTS)

Fatalidades Esperadas E[F(As)]

Número esperado de muertes dado que AsA_s ocurre — calculado por los modelos de consecuencias mediante integración en anillos concéntricos con funciones Probit

Población Expuesta Ng

Personas dentro del radio de riesgo — definido por el radio al 1% Probit para modelos térmicos/sobrepresión, o por el área LFL para Flash Fire

Riesgo Individual Promedio RIg

Probabilidad anual de muerte de una persona promedio en la población expuesta — RIg=E[Fa]/NgRI_g = E[F_a] / N_g

2.1 Definiciones Formales

E[F(As)]=riPmuerte(ri)ρpopAanillo(ri)E[F(A_s)] = \sum_{r_i} P_{muerte}(r_i) \cdot \rho_{pop} \cdot A_{anillo}(r_i) Ng=πr1%2ρpop(modelos Probit)Ng=ALFLρpop(Flash Fire)N_g = \pi \cdot r_{1\%}^2 \cdot \rho_{pop} \quad \text{(modelos Probit)} \qquad N_g = A_{LFL} \cdot \rho_{pop} \quad \text{(Flash Fire)} RIg=E[Fa]Ng,dondeE[Fa]=sP(As)E[F(As)]RI_g = \frac{E[F_a]}{N_g}, \quad \text{donde} \quad E[F_a] = \sum_s P(A_s) \cdot E[F(A_s)]

3. Secuencia de Cálculo

Cargando diagrama...

Fatalidades del modelo — Para cada escenario, FatalityUtils.js integra la probabilidad de muerte en anillos concéntricos de 5 m de espesor (hasta 10 km), calculando E[F(As)]=iFiE[F(A_s)] = \sum_i F_i con la función Probit correspondiente.

Población expuesta NgN_gng-calculator.ts calcula NgN_g usando el radio al 1% Probit para modelos térmicos/sobrepresión, el área del polígono LFL para Flash Fire, o la suma ponderada de la rosa de vientos para escenarios multi-direccionales.

Construcción de la Curva F-NcalculateFnCurve() recopila todos los pares (fs,Ns)(f_s, N_s) y calcula F(Nk)=s:NsNkfsF(N_k) = \sum_{s:\,N_s \geq N_k} f_s para cada valor único de NN, generando una función escalón decreciente en escala log-log.

Evaluación ALARPanalyzeUnacceptableScenarios() compara cada punto de la curva con el límite superior Flim(N)=C1/NnF_{lim}(N) = C_1/N^{|n|}, calcula el exceso de frecuencia ΔF\Delta F y genera recomendaciones de reducción por escenario.


4. Cálculo de Fatalidades por Anillos Concéntricos

4.1 Geometría de Anillos y Dosis Térmica

El área de estudio se divide en anillos concéntricos de 5 m de espesor, desde el punto de emisión hasta el radio máximo (por defecto 10 km):

Aanillo(ri)=π(ri+12ri2)[m2]A_{anillo}(r_i) = \pi \left(r_{i+1}^2 - r_i^2\right) \quad [\text{m}^2]

La dosis térmica acumulada en cada anillo:

Ddosis=texp[q(ri)×103]4/3[(W/m2)4/3s]D_{dosis} = t_{exp} \cdot \left[q(r_i) \times 10^3\right]^{4/3} \quad \left[(\text{W/m}^2)^{4/3} \cdot \text{s}\right]

Código: FatalityUtils.jscalculateFatalities().

4.2 Funciones Probit de Fatalidades

Metodología CCPS (Eisenberg):

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

Referencia: CCPS, Guidelines for CPQRA, 2nd Ed., p. 269.

Metodología TNO:

Pr=36.38+2.56ln(Ddosis)Pr = -36.38 + 2.56 \cdot \ln(D_{dosis})

Referencia: TNO Green Book (CPR 14E), 1997, p. 20, ec. 3.5.

4.3 Conversión Probit → Porcentaje Fatal

Pfatal%=50(1+Pr5Pr5erf ⁣(Pr52))P_{fatal}\% = 50 \left(1 + \frac{Pr-5}{|Pr-5|} \cdot \text{erf}\!\left(\frac{|Pr-5|}{\sqrt{2}}\right)\right)

4.4 Fatalidades por Anillo

Fi=Pfatal,i100ρpopAanillo(ri)F_i = \frac{P_{fatal,i}}{100} \cdot \rho_{pop} \cdot A_{anillo}(r_i)

Criterio de parada

El cálculo se detiene cuando Pfatal<0.1%P_{fatal} < 0.1\%. Si Fi<0.6\sum F_i < 0.6 el resultado se devuelve como 0 (impacto despreciable). Código: FatalityUtils.js, líneas 111–200.


5. Cálculo de la Población Expuesta — NgN_g

5.1 PoolFire, JetFire, VCE, FireBall

Se interpola en los resultados del modelo para encontrar el radio al 1% de probabilidad de muerte r1%r_{1\%}:

Ng=πr1%2ρpopN_g = \pi \cdot r_{1\%}^2 \cdot \rho_{pop}

Interpolación lineal entre los dos anillos adyacentes donde el porcentaje fatal cruza el 1%:

r1%=ri+1%PiPi+1Pi(ri+1ri)r_{1\%} = r_i + \frac{1\% - P_i}{P_{i+1} - P_i} \cdot (r_{i+1} - r_i)

Código: ng-calculator.tscalculateNgForProbitModel().


6. Construcción de la Curva F-N

6.1 Definición Formal

Dado un conjunto de SS escenarios accidentales, cada uno con frecuencia fsf_s [eventos/año] y fatalidades NsN_s [personas]:

F(N)=s:  NsNfs\boxed{F(N) = \sum_{s:\; N_s \geq N} f_s}

F(N)F(N) es la suma de frecuencias de todos los escenarios que producen al menos NN fatalidades.

Código: social-risk-table.tsxcalculateFnCurve().

6.2 Algoritmo de Cálculo

Recopilar todos los escenarios con sus pares (fs,Ns)(f_s, N_s): frecuencia y fatalidades de cada uno

Obtener el conjunto único de valores NN, ordenados de mayor a menor

Para cada NkN_k: calcular F(Nk)=fsF(N_k) = \sum f_s donde NsNkN_s \geq N_k

Graficar los pares (Nk,F(Nk))(N_k,\, F(N_k)) como función escalón decreciente en ejes log-log

Propiedad monotónica

La Curva F-N siempre es una función escalón decreciente: F(N)F(N1)F(N) \leq F(N-1) para todo NN, ya que umbrales de fatalidad más altos solo pueden ser superados por menos escenarios.


7. Zonas de Tolerabilidad y Criterios ALARP

7.1 Líneas Límite

Las líneas de tolerabilidad son funciones potenciales en el plano log-log:

Flim(N)=CNnF_{lim}(N) = \frac{C}{N^{|n|}}
LíneaFórmulaSignificado
Límite superiorFsup(N)=C1/NnF_{sup}(N) = C_1 / N^{\lvert n \rvert}Frontera entre zonas Inaceptable y ALARP
Límite inferiorFinf(N)=C2/NnF_{inf}(N) = C_2 / N^{\lvert n \rvert}Frontera entre zonas ALARP y Aceptable

Código: fn-curve-analysis.tscalculateUpperLimit(); fn-curve-chartjs.tsxdrawLimitLines().

7.2 Zonas ALARP

Principio ALARP

ALARP (As Low As Reasonably Practicable) — el riesgo debe reducirse tanto como sea razonablemente practicable. Estar en la zona ALARP no significa que el riesgo sea aceptable; debe demostrarse que reducciones adicionales no son razonablemente factibles.

ZonaCriterioAcción requerida
InaceptableF(N)>Fsup(N)F(N) > F_{sup}(N)Reducción obligatoria del riesgo
ALARPFinf(N)<F(N)Fsup(N)F_{inf}(N) < F(N) \leq F_{sup}(N)Reducir a menos que sea desproporcionadamente costoso
AceptableF(N)Finf(N)F(N) \leq F_{inf}(N)No se requiere acción adicional

7.3 Criterios por Estándar Internacional

ParámetroValor
C1C_1 (superior)10210^{-2} eventos/año
C2C_2 (inferior)10410^{-4} eventos/año
Pendiente nn1-1
ReferenciaR2P2 (2001)

Configuración por proyecto

Los valores C1C_1, C2C_2 y nn se configuran en Configuración del Proyecto → Criterios de Riesgo Social y se persisten en project.socialRiskCriteria.


8. Análisis de Escenarios Inaceptables

Un punto (N,F(N))(N, F(N)) es inaceptable cuando F(N)>C1/NnF(N) > C_1 / N^{|n|}.

Identificar el punto inaceptable — Encontrar todos (Nk,F(Nk))(N_k, F(N_k)) donde F(Nk)>Fsup(Nk)F(N_k) > F_{sup}(N_k)

Aplicar objetivo ALARP — Establecer objetivo con 10% de margen de seguridad: Fobj(N)=Fsup(N)(1m),m=0.10F_{obj}(N) = F_{sup}(N) \cdot (1 - m), \quad m = 0.10

Calcular exceso de frecuencia: ΔF(N)=F(N)Fobj(N)\Delta F(N) = F(N) - F_{obj}(N)

Reducción requerida por escenario — Para el escenario ss contribuyente: frequerida,s=factual,sΔF(N),FRs=factual,sfrequerida,sf_{requerida,s} = f_{actual,s} - \Delta F(N), \quad FR_s = \frac{f_{actual,s}}{f_{requerida,s}} Si frequerida,s0f_{requerida,s} \leq 0, el escenario no puede resolver el problema solo — se requieren reducciones combinadas.

Código: fn-curve-analysis.tsanalyzeUnacceptablePoint(), líneas 60–127.


9. Riesgo Individual

9.1 Cálculo

E[Fa]=sP(As)E[F(As)],RIg=E[Fa]NgE[F_a] = \sum_{s} P(A_s) \cdot E[F(A_s)], \qquad RI_g = \frac{E[F_a]}{N_g}

9.2 Clasificación (NTE-002-CGPC, §14.3)

ClasificaciónCriterio
AceptableRIg<umbral tolerableRI_g < \text{umbral tolerable}
ALARPtolerableRIg<intolerable\text{tolerable} \leq RI_g < \text{intolerable}
InaceptableRIgumbral intolerableRI_g \geq \text{umbral intolerable}

Código: individual-risk-summary.tsxevaluateRiskStatus().

9.3 Criterios por País / Norma

GrupoIntolerableTolerable
Público10410^{-4}/año10610^{-6}/año
Trabajadores10310^{-3}/año10610^{-6}/año

Referencia: R2P2 (2001)

Código: individual-risk-presets.ts.


10. Modo de Uso en el Sistema

Definir escenarios — Para cada fuente, crear RiskModels con su tipo de evento (PoolFire, JetFire, FlashFire, VCE, FireBall) y asignarle una frecuencia P(As)P(A_s).

Ejecutar cálculo de consecuencias — Correr el cálculo de cada modelo para obtener fatalidades.sumaFatalidades y fatalidades.resultados.

Configurar criterios — En Configuración del Proyecto → Criterios de Riesgo Social, seleccionar el estándar internacional o ingresar valores personalizados de C1C_1, C2C_2 y nn.

Visualizar la Curva F-N — En la pestaña Riesgo Social → subpestaña Curva F-N, la tabla calcula automáticamente NN y F(N)F(N) para cada escenario y los grafica.

Interpretar zonas — Puntos sobre la línea superior (F>C1/NnF > C_1/N^{|n|}) son inaceptables. El sistema genera recomendaciones automáticas de reducción de frecuencia.

Riesgo Individual — En la subpestaña Riesgo Individual, ingresar NgN_g o dejar que el sistema lo calcule, y verificar RIgRI_g contra el criterio del país.

Flash Fire con pétalos (rosa de vientos)

Para eventos Flash Fire con dirección de viento incierta, activar la rosa de vientos en el panel del modelo. El sistema expande el escenario en hasta 16 sub-escenarios — uno por dirección del viento — cada uno con frecuencia efectiva P(As)×Pdir,iP(A_s) \times P_{dir,i} y su propia Ng,iN_{g,i}. En la curva F-N aparecen como filas separadas: {nombre_escenario} — {dirección}.


11. Aplicaciones de la Curva F-N

AplicaciónDescripción
QRA industrialEvaluación de riesgo cuantitativo de instalaciones petroquímicas, plantas de proceso y terminales de almacenamiento
Planes de uso de sueloDeterminar zonas de restricción y distancias de seguridad alrededor de instalaciones peligrosas
Licencias de operaciónComparar el riesgo de la instalación contra criterios regulatorios nacionales para obtener permisos
Diseño de salvaguardasIdentificar qué escenarios requieren capas adicionales de protección (SIL, válvulas de seguridad, PLC)
Comparación de alternativasEvaluar el impacto de diferentes configuraciones de planta, materiales o tecnologías en el perfil de riesgo
Comunicación con autoridadesPresentar resultados del estudio de riesgo de manera estandarizada ante reguladores (ASEA, HSE, INERIS)
Seguros industrialesCuantificar el PML (Probable Maximum Loss) para el cálculo de primas de seguros
Planes de emergenciaDeterminar zonas de evacuación basadas en isópletas de concentración/radiación

12. Limitaciones del Análisis


13. Referencias Bibliográficas