Skip to content

Normas de Colombia y México, y caudal de voladura por dilución (0.3.0) - #7

Open
Miqueas7 wants to merge 3 commits into
masterfrom
normas-colombia-mexico
Open

Miqueas7 wants to merge 3 commits into
masterfrom
normas-colombia-mexico

Conversation

@Miqueas7

Copy link
Copy Markdown
Owner

Qué cambia

Normas nuevas. RegulatoryConfig.colombia() (Decreto 1886 de 2015, consolidado con el Decreto 944 de 2022) y RegulatoryConfig.mexico() (NOM-023-STPS-2012, minas que no son de carbón), con sus tablas de gases, la cita de cada concepto y --norma colombia|mexico en la CLI.

Colombia México
Caudal por persona 3 m³/min hasta 1.500 msnm; 6 de 1.500 en adelante (Art. 54) 1,50 m³/min, sin escala por altitud (8.4.4 a) 1)
Caudal por HP diésel 6 m³/min (Art. 54, par. 2, num. 1) 2,13 m³/min (8.4.4 a) 2)
Gases Arts. 38, 39 y 53 NOM-010-STPS-2014, Tabla I.1

Donde la norma no regula un concepto, la cita lo declara como criterio de ingeniería.

Caudal de voladura. Declarar gas_volume_per_kg desviaba el cálculo a volumen de gases entre tiempo de dilución, que daba 1 m³/min. Ahora hay un solo modelo, por dilución de CO y NOx, y ese parámetro solo fija el volumen de gases reportado.

Factores de choque. shock_factors() devuelve None, no 0.0, donde el factor sale por fórmula o es manual.

Resultados que cambian

Solo para quien declaraba gas_volume_per_kg. Con 50 kg de ANFO en 30 min a 4.200 msnm y un scoop de 150 HP:

0.2.1 0.3.0
Q_Exp 1 m³/min 6.751 m³/min
Criterio gobernante diésel voladura
Q_total 981 m³/min 7.764 m³/min

El ejemplo 01-demanda-peru deja de incluir voladura para seguir mostrando el caso gobernado por el diésel.

Verificación

  • 245 pruebas de C++ y 199 de Python en verde en Windows (MSVC), compiladas desde cero.
  • Cada artículo y numeral citado se releyó en el texto oficial descargado.

Antes de publicar

  • Confirmar en SUIN-Juriscol que el Decreto 1886 no tiene modificaciones posteriores a 2022.
  • El modelo de voladura es conservador y el Governor solo comprueba la velocidad mínima en el frente, no la máxima.
  • La publicación en PyPI ocurre al empujar la etiqueta v0.3.0.

RegulatoryConfig gana colombia() y mexico(), con sus tablas de gases y la
cita de cada concepto, siguiendo el patron del preajuste chileno: cada valor
nombra el articulo o numeral leido en el texto vigente y, donde la norma no
regula el concepto, la cita lo declara en vez de tomar prestado el articulo
de otro pais.

Colombia, Decreto 1886 de 2015 (consolidado con el Decreto 944 de 2022, que
no modifico los articulos con valores de ventilacion):
- 3 m3/min por trabajador hasta 1.500 msnm y 6 de 1.500 msnm en adelante
  (Art. 54, nums. 1 y 2). La norma tiene un solo escalon. Las dos bandas
  incluyen el 1.500 en su texto; rige la regla comun de borde y a 1.500 msnm
  exactos aplica la banda inferior.
- 6 m3/min por HP con CO en el escape <= 0,12 % (Art. 54, par. 2, num. 1).
  El num. 2 admite 4 m3/min por HP si el CO es <= 0,08 %; la cita lo dice.
- Gases del Art. 39, oxigeno del Art. 38 (19,5 a 23,5 %) y metano del
  Art. 53 (1,0 %, el valor mas estricto).

Mexico, NOM-023-STPS-2012 (minas subterraneas que no son de carbon):
- 1,50 m3/min por trabajador, sin escala por altitud (numeral 8.4.4 a) 1).
- 2,13 m3/min por caballo de fuerza diesel (numeral 8.4.4 a) 2).
- La norma no trae tabla de gases: remite a la NOM-010-STPS-1999 "o las que
  las sustituyan", hoy la NOM-010-STPS-2014 (Tabla I.1).
- No fija el minimo de oxigeno en labores: la tabla lleva 19,5 % como
  criterio de ingenieria y la cita lo declara.
- Las minas de carbon se rigen por la NOM-032-STPS-2008 y quedan fuera.

En ambas normas el tiempo de dilucion tras la voladura, el volumen de gases
por kg y el factor de fugas no estan regulados: se conservan 30 min, 0,04
m3/kg y 0,15 como criterio de ingenieria, y la cita remite al articulo de
reingreso (Art. 157 colombiano, numeral 8.6.9 g) mexicano). El SO2 solo
tiene limite de corto tiempo en las dos tablas: su twa_8h va sin valor.

regulation_reference deja el ternario Peru/Chile y pasa a una cita por norma
en orden fijo, de modo que agregar un pais es un argumento mas por concepto.
La clausula de escala por altitud va vacia en Colombia porque su unico
escalon ya esta en la cita del caudal por persona; asi los umbrales de
relleno no llegan a la referencia impresa.

La CLI acepta --norma colombia|mexico en demanda, lmp y cobertura.

De paso, shock_factors() deja de listar x = 0.0 en expansion, contraccion,
codos y union, donde el factor sale por formula o es manual: un cero se lee
como "sin perdida", asi que x va sin valor en esas filas. La ayuda de
GasLimit aclara que un campo que la norma no fija vale None, y la de
calculate_diesel_flow que la version simple no evalua la dilucion de CO ni
de NOx.

Las pruebas nuevas cubren los valores de cada preajuste, cada fila de las
dos tablas de gases y un barrido de todo resultado alcanzable con cada norma
que falla si alguna cita menciona una norma ajena.
…nantes

Declarar gas_volume_per_kg en BlastingParams desviaba el calculo a una
formula que dividia el volumen total de gases entre el tiempo de dilucion.
Ese cociente es el ritmo al que se generan los gases, no el caudal que los
diluye hasta un limite de exposicion: con 50 kg, 0,04 m3/kg y 30 min daba
0,067 m3/min, que el redondeo de seguridad subia a 1. La funcion suelta
calculate_blasting_flow devolvia ese mismo valor aunque el parametro no se
declarara, y VentilationGovernor tomaba la misma rama cuando la entrada lo
traia. En una libreria que dimensiona ventilacion, un caudal de voladura de
1 m3/min es un defecto de seguridad, no un caso simplificado.

Queda un solo modelo: dilucion de CO y de NOx segun el tipo de explosivo,
recambio volumetrico y velocidad minima de barrido. gas_volume_per_kg ya no
cambia el caudal; solo fija el volumen total de gases que se reporta.

- VentilationGovernor usa siempre el modelo con correccion por altitud, y
  por eso exige seccion y longitud del frente para toda voladura (las toma
  de VentilationInput si la voladura no las trae).
- calculate_blasting_flow usa el mismo modelo sin correccion por altitud,
  porque no recibe atmosfera, y omite los criterios de seccion si no se dan
  face_area_m2 y face_length_m.

Los resultados cambian para quien declaraba gas_volume_per_kg. Con 50 kg de
ANFO en 30 min a 4.200 msnm y un scoop de 150 HP, Q_Exp pasa de 1 a 6.751
m3/min, la voladura pasa a gobernar y el total sube de 981 a 7.764 m3/min.
Quien no declaraba el parametro ya obtenia este modelo en el Governor.

Las pruebas que fijaban el caudal de 1 m3/min se recalculan con su
derivacion. El ejemplo 01 deja de incluir voladura para seguir mostrando el
caso gobernado por el diesel, y su README explica el cambio.
pyproject.toml, el paquete Python y CMakeLists.txt quedan en 0.3.0.

Los README en ingles y espanol describen los cuatro preajustes, avisan del
cambio en el caudal de voladura y actualizan el conteo de pruebas (245 de
C++ y 199 de Python). El registro de cambios detalla a quien afecta cada
cambio. El roadmap marca Colombia y Mexico como implementados y deja
abiertos las minas de carbon mexicanas (NOM-032-STPS-2008) y el calculo del
calor por temperatura efectiva o indice TGBH, que hoy solo se cita.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant