Páginas

viernes, 1 de marzo de 2013

Simulando la evacuación de una discoteca


Para comprender mejor cómo funciona un programa de simulación de evacuación vamos a ver cómo se evacúa una discoteca.

Un caso sencillo, un local de 6 x 25m, lo que nos da 150m2 de superficie y usando la ocupación del CTE para discotecas 300 personas en el interior.

No hay fuego y hemos definido 2 puertas de salida de 1,5m según marca la normativa, a razón de 200 personas por metro de salida pensando que una de las salidas pueda estar bloqueada.

Haciendo correr el modelo nos da este resultado.


El movimiento está acelerado. Atiempo normal la evacuación dura 96 s.
 El video no ha quedado con mucha calidad.
En posteriores entradas los mejoraré


¡A que es bonito!

 E inquietante, porque podemos ver empujones y sentir que no nos gustaría estar en el medio.

Detrás estos simpáticos avatares hay un trabajo técnico importante en los que están definidos multitud de características.

Como es un ejemplo muy simple he introducido estas características en los agentes.

&PERS ID='Adult',
      FYI='Male+Female diameter and velocity',
      DEFAULT_PROPERTIES='Adult',
      PRE_EVAC_DIST=1,PRE_LOW=5.0,PRE_HIGH=15.0,
      DET_EVAC_DIST=1,DET_LOW=5.0,DET_HIGH=15.0,
      TDET_SMOKE_DENS=0.1,
      HUMAN_SMOKE_HEIGHT=1.60,
      DENS_INIT=4.0,
      OUTPUT_SPEED=.TRUE.,
      OUTPUT_FED=.TRUE.,
      COLOR_METHOD= 0 /


Para comprender las características tenemos que saber que la imagen es sólo una representación y que un agente tiene esta forma en el cálculo:


Se asume que el cuerpo humano puede asimilarse a la superposición de 3 cículos, pudiendo definir diferentes tipos de persona variando el diámetro de esos círuclos.

Por otra parte también se asume que su movilidad puede ser distinta y podemos variar ambas cosas según nos convenga.

El programa trae los siguientes tipos predefinidos:





Osea adulto, hombre, mujer, niño o anciano.

En el ejemplo, con la línea "DEFAULT_PROPERTIES='Adult' nos hemos decantado por la primera opción.

Podemos definir multitud de opciones. En el ejemplo:

- DET_EVAC_DIST=1,PRE_LOW=5.0,PRE_HIGH=15.0: Indica el tiempo máximo y nínimo que los agentes van a tardar en detectar el motivo de la evacuación.
- PRE_EVAC_DIST=1,PRE_LOW=5.0,PRE_HIGH=15.0: Indica el tiempo máximo y nínimo que los agentes van a tomarse para iniciar la evacuación una vez detectado el fuego.
- TDET_SMOKE_DENS=0.1: Indica la densidad de humo en mg/m3 que tiene que alcanzarse en la posición del agente para que detecte humo.
- HUMAN_SMOKE_HEIGHT=1.60 es la altura a la que se realiza la toma de muestra de la densidad del humo en una posición determinada.
- DENS_INIT=4.0:m: permite altas densidades de personas en las condiciones iniciales, ya que la distribución de los agentes es aleatoria.

Las indicaciones OUTPUT son para que el programa guarde datos de la velocidad y de las concentraciones de tóxicos que les llegan a cada agente.

Esos datos se pueden usar en el postproceso para dar color a los avatares.

De esta forma si le decimos al programa que los coloree por velocidad de salida tendremos este resultado:



Vemos a los avatares casi parados en azul intenso y los que se mueven más deprisa en rojo




No hay comentarios:

Publicar un comentario