Activate evacuation by detector

356 views
Skip to first unread message

fds-quang

unread,
Oct 5, 2017, 9:16:58 AM10/5/17
to FDS and Smokeview Discussions
Hello everyone,

Can we start the evacuation by the activation of a device (smoke detector or heat dectector) with FDS-EVAC?

If the answer is yes, please give me some hints. 

Thank you in advance!



 

Salah Benkorichi

unread,
Oct 6, 2017, 8:19:23 AM10/6/17
to fds...@googlegroups.com
The answer is no.
Read the guide 
"the smoke/heat detectors in FDS fire calculation can not be used to trigger the movement of the agents"

--
You received this message because you are subscribed to the Google Groups "FDS and Smokeview Discussions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to fds-smv+unsubscribe@googlegroups.com.
To post to this group, send email to fds...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fds-smv/e6e48e75-f639-4c78-a149-8703d4fb7ee2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

TimoK

unread,
Oct 10, 2017, 3:59:25 AM10/10/17
to FDS and Smokeview Discussions
Well, you can use detectors to trigger the evacuation in FDS+Evac, but this is not yet
documented nor verified properly. there is an EDEV namelist that could be used for
this purpose. Search for it in the source code (evac.f90).

  ! The EDEV namelists, which contain information how the agents
  ! act to the device and/or control information.
  TYPE EVAC_EDEV_TYPE

Please, find attached an example input file. I have not tested this feature for some time,
so do not use this feature in a real design case. For "academic use" you could use it, but
you should know that you should do the verification that things works as they should.
I would be pleased to help you to do some verification cases so this feature could be
added in the User's guide and people could start using if. I have just been too busy
with other projects, so no time to do the verification stuff.

&EDEV ID='Edev_det', GLOBAL=.TRUE., TIME_DELAY=0.0, PROB=1.0,
      PRE_EVAC_DIST=0, PRE_MEAN=5.0,
      INPUT_ID='HeatDet' /

In the source code, the namelist inputs are:

    NAMELIST /EDEV/ FYI, ID, TIME_DELAY, GLOBAL, EVAC_ID, PERS_ID, MESH_ID, INPUT_ID, &
         PRE_EVAC_DIST, PRE_MEAN, PRE_PARA, PRE_PARA2, PRE_LOW, PRE_HIGH, PROB


GLOBAL keyword:

         IF (TRIM(MESH_ID) == 'null' .AND. .NOT.GLOBAL) THEN
            WRITE(MESSAGE,'(A,I4,A)')  'ERROR: EDEV ',N,' is not global, it must have MESH_ID'
            CALL SHUTDOWN(MESSAGE) ; RETURN
         ENDIF

So, you can set that an alarm is just "heard" in some mesh. Default is true, so the alarm is
applied to all evacuation meshes (i.e., all agents).

TIME_DELAY, EVAC_ID, PERS_ID, PROB keywords: Not used, i.e., not yet implemented (well, you
can quite easily guess what I was going to do...).

INPUT_ID keyword: Names of the CTRL/DEVC IDs that are used, maximum of 40 IDs can be given.
The logic is simple, the "alarm goes of" when the first devc/ctrl alarms. (Well, I do not remember, if
CTRLs can be used, or just the DEVCs...)

PRE_EVAC_DIST, PRE_MEAN, PRE_PARA, PRE_PARA2, PRE_LOW, PRE_HIGH, keywords:
What happens, when the agent "hears the fire bell" activated by the EDEV. So, when the
EDEV activates, then the agents are detecting the fire, if they have not yet detected it.
(The detection time distribution given on the EVAC or PERS namelist). If the agents detect
the fire due to the EDEV, then they are not using the reaction time distribution given on the
EVAC/PERS namelist.

Well, things are just working for PRE_EVAC_DIST=0 (a constant value given by the PRE_MEAN).
My test case was just using this. Now I read the source code and found that I do not read
this keyword in, so the default value (0) is always used... I have now updated this in my version
of the source code, so next time I "merge" my version with the Firemodels version if Github,
it will be there...

So, for these reasons I need some help. At least for the verification of different features should be
quite easy for you out there to do. Verification of different features does not need any programming
skills in Fortran.

TimoK

Test_Edev_case1.txt

WP

unread,
Jul 18, 2018, 9:43:05 AM7/18/18
to FDS and Smokeview Discussions

Hi, Timo.  Got some information here.  
So PRE_EVAC_DIST and PRE_MEAN in EDEV lines may disable those in PERS and EVAC lines?  
In addition, are DET_EVAC_DIST and DET_MEAN still effective when there are EDEV specifications?  I suppose EDEV lines may also disable TDET features in PERS and EVAC lines.  Is that right?  

Thanks a lot.  
Best Regards


在 2017年10月10日星期二 UTC+8下午3:59:25,TimoK写道:

TimoK

unread,
Jul 23, 2018, 7:04:54 AM7/23/18
to FDS and Smokeview Discussions
Hi!

Yes, the PRE_EVAC_DIST etc lines overwrite the ones given on PERS (or EVAC) lines. Detection time is not anymore needed. If an agent has not yet detected the fire due to the EVAC/PERS line distribution time and EDEV activates => the PERS/EVAC line DET time is not anymore needed, the agent detected the fire now (the alarm activated).

What happens, if the agent has "detected the fire" due to the EVAC/PERS line time distribution, but is not yet moving towards an exit (the reaction time "PRE" is still going on). If the alarm goes of and alarm has shorter reaction time than what is left at the PRE given on the EVAC/PERS line? I do not remember. But one can make a verification case for this quite easily. For simple verification, give "constant distributions _DIST=0" and EVAC/PERS line PRE time much larger than EDEV one and make the EDEV to activate quite fast. My guess is that the minimum of "EDEV PRE time" and "what is left of EVAC/PERS line PRE time" is used.

TimoK

WP

unread,
Jul 24, 2018, 1:46:07 AM7/24/18
to FDS and Smokeview Discussions

Yes.  I have quickly modified and tested the example as you suggested.  What I observed is that tpre in EDEV is counted in if tpre in PERS/EVAC remains.  Not quite sure about whether the program chooses the minimum or not.  If needed, I can further test it and let you know whether the minimum is selected.  


在 2018年7月23日星期一 UTC+8下午7:04:54,TimoK写道:

TimoK

unread,
Jul 24, 2018, 5:47:22 AM7/24/18
to FDS and Smokeview Discussions
Well, you could test that. Make a simple case. I could add it to my verification suite, so that I could write EDEV stuff in the manual. Without a verification case, I do not want to put this in the manual. It is nice that one can point an example file/case, which is working as it should.

Well, I checked the source code. It seems to be that:

                         IF (T+TPRE < HR%TDET+HR%TPRE) THEN
                            WRITE(LU_EVACOUT,FMT='(A,I6,A,A,A,F8.2,A,F6.2,A)') ' Agent n:o ', HR%ILABEL, ' detection by ', &
                                 TRIM(EVAC_DEVICES(KK)%DEVC_ID), ' at', T, ' s, new Tpre is ', TPRE, ' s'
                            HR%TDET = T
                            HR%TPRE = TPRE
                         ELSE
                            WRITE(LU_EVACOUT,FMT='(A,I6,A,A,A,F8.2,A)') ' Agent n:o ', HR%ILABEL, ' detection by ', &
                                 TRIM(EVAC_DEVICES(KK)%DEVC_ID), ' at', T, ' s'
                         END IF

Above "TPRE" is the the reaction time generated by the EDEV line information (if no info given on EDEV, then the agent's PERS line value is used as "TPRE"). So, if the time, when the agent start to move towards an exit is less with EDEV than what is left with the original t_det+t_pre values (PERS/EVAC lines), then the EDEV ones are used. If not, then the agent will start to move with the original EVAC/PERS line given times.

In short: EDEV can make an agent to start to move towards an exit earlier than what is initially generated by the EVAC/PERS line distributions. But not the other way around. So, "minimum of both starting times to move towards an exit" is used.

TimoK

WP

unread,
Jul 27, 2018, 1:47:01 AM7/27/18
to FDS and Smokeview Discussions

Hi, Timo, Thanks for your explanation.  
I briefly take a look at the issue.  I think the model could be simplified a little bit such that the priority is EDEV > EVAC > PERS for TDET and TPRE settings.  This will be easier for users to understand the model and cause less confusion to users.  

In fact, without fire and smoke simulation the detection time (TDET) is not that meaningful.  In presence of fire and smoke simulation, EDEV lines can just overwrite EVAC/PERS lines in TDET and TPRE setings.  This is more concise and clear logic.  The minimum setting is fine, but it is a little complicated.  

There is probably one case that the detection time is activated earlier than EDEV lines, that is, agent directly see the fire or smoke on the spot.  That may trigger TDET earlier than EDEV.  I think you have partly impletmented agents' sight detection of smoke in the program, but it is not yet related to TDET.  

Best Regards, 

Sorry for my poor English
WP



在 2018年7月24日星期二 UTC+8下午5:47:22,TimoK写道:

TimoK

unread,
Jul 27, 2018, 5:15:41 AM7/27/18
to FDS and Smokeview Discussions
An agent can detect a fire due to a smoke. There is a criterion for this (you can set it "globally" on some PERS line, last value read in is used for all agents). If the local smoke density at the agent position (about head height) is larger than this criterion, the agent detects the fire, if it has not yet detected it (due to EVAC/PERS line detection time distribution and/or EDEV detection).

EDEV  > EVAC > PERS prererence for reaction time distribution (TPRE). Well, that could be an easier way to understand how things work. Now EVAC > PERS is working, i.e., EVAC line information overwrites PERS line information. If an alarm sounds (EDEV activation) then one uses different reaction times (if the agent in not yet walking towards an exit, i.e., it has not yet started to evacuate). Here on "minumum" anymore. So, if an agent detects the fire (first) due to EDEV, then it "waits" EDEV TPRE time and starts to evacuate. (If no TPRE parameters given on EDEV line, then EVAC/PERS line TPRE is used, i.e., the user says that the reaction time is same regardless of how the agent detects the fire.)

This is easy to program, in principle. But the problem is if there are many EDEV devices. The IF statements above are working in this case, because the minimun time of all ways to detect and react are used. Well, probably I should program this so that one uses minimum of EDEV tdet+tpre times, if there are many EDEV devices activating.

TimoK

Reply all
Reply to author
Forward
0 new messages