FDS EVAC question - EXITS and preference states

254 views
Skip to first unread message

Vladimir Mozer

unread,
Mar 27, 2021, 2:04:08 PM3/27/21
to FDS and Smokeview Discussions
Hello,

I have been playing around with FDS EVAC and a couple of questions arose regarding wayfinding and preference states of exits.

1. Known vs unknown doors - is a DOOR with an exit sign or an EXIT that is not considered as familiar or not? When I ran a case with two doors - none of them KNOWN and visible to the agents - the agents gradually change the preference class (Table 3 from the EVAC user guide) as they progress. At first they go towards the door that is specified as first in the input file without preference (cyan) then some switch to 3 (not familiar + visible - blue) as they "discover" the door and then change to 1 (familiar + visible - black) and some other agents following change to 2 (familiar + not visible - yellow). I attach a figure where the agents are shown in these different preference states. What I do not understand is the familiar / not familiar change of preference for doors that are signed as EXITS but not specified as known to the agents. Any thoughts or info?

 exits_not_familiar.png

2. Does anyone know what the agents in EVAC actually see? I placed an EXIT not listed in familiar doors for agents. I turned the agents so that they look away from the door. However the agents indicate preference state 1 (visible + familiar - black). I expected them to start with no preference state (not visible + not familiar - cyan). Do the agents "see" 360° or a certain angle such as those shown in Fig 5 or the EVAC user guide?
exit_not_familiar_agents_turned_away.png
Thanks for any answers or explanation.

Vlad
 

Gregor

unread,
Mar 28, 2021, 2:27:19 PM3/28/21
to FDS and Smokeview Discussions
Have you read the manual and the readme-file? What questions do you have after reading?

Vladimir Mozer

unread,
Mar 28, 2021, 3:19:51 PM3/28/21
to FDS and Smokeview Discussions
Thanks for your reply. Yes I have read both and the questions I posted originaly are because I was not able to identify clear answer or description to the simulation behaviour/elaments. 

As regards my first question, I do not fully understand the changes of preference classes of doors - if an agent sees an EXIT that is not known to them, then I would understand changing to either visible+familiar or visible+not familiar and keeping in this preference state. However, I see pretty much every state in my simulation case which I am not able to associate with the description in the user guide.

For my second question - the agents are turned away from the exit which is not listed as a known door to them - they should not see the door at this time. Hence I thought they would be in a different preference state and not visible+familiar which is shown in the figure. They do not know about the door yet - untile they turn around. So I would expect them to start as no preference (not visible + not known - cyan) and subsequently turn to 3 ( visible + not known) since the door is not listed as known on the EVAC line.

And the third question kind of touches on the two previous ones - is an EXIT or DOOR with an EXIT_SIGN=.TRUE. considered familiar or not familiar once an agent sees it

Thank you.

TimoK

unread,
Apr 8, 2021, 6:05:30 AM4/8/21
to FDS and Smokeview Discussions
" if an agent sees an EXIT that is not known to them" => this is in class visible+not familiar. If an exit is not familiar and it is not seen => agent does not use this exit (agent does not know that this exit exists at all).

But the agent uses familiar doors if they exits in the current "floor". The "floor" means the current evacuation mesh and within that evacuation mesh the current "evacuation zone". You can have two completely isolated parts of building in the same evacuation mesh, no way from one to other one without crossing any walls or DOOR=>DOOR connections.

If you have not given any door/exit of this "evacuation zone" as familiar => agent can use only visible doors. If no visible door is seen, then the agent behaves according to the AGENT_TYPE and I_HERDING_TYPE given on the input. By default (if I remember correctly) the agent will pick "randomly" some guiding flow fields towards some door/exit on this "evacuation zone" so that it will eventually see some exit/door.

Note also, that if an agent has picked up (i.e., chosen) an unfamiliar exit/door (that was visible when the agent made the choice) => this chosen door is treated like familiar door later on (well, if I did remember correctly, I did not check manual/readme-file/source code).

Things get a little bit more complicated, when you have smoke. Then the agent is in a hurry to go out and the preference of the doors is a little bit different than without smoke (if I remember correctly). See the manual/readme-file.

TimoK


TimoK

unread,
Apr 8, 2021, 6:23:07 AM4/8/21
to FDS and Smokeview Discussions
Well, there might be still some bugs in the door choice algorithm. Are you using FDS 6.7.5? It should have the most up to date algorithm. The algorithm has been the same for some time, but some years ago I fixed some bug (was it so that things were going for the DOORs as they should, but not for the EXITs? I was jsut looping over the DOORs in the source code in some part of the door selection algorithm and in some cases EXITs were not treated similarly as DOORs. And my validation case had just DOORs, where I checked that special feature of the algorithm or vice versa).

NOTE: FDS version 6.7.6 will not read FDS 6.7.5 (or older) FDS+Evac input files. See:
And also (probably the same information, but also the older changes listed):

So, the evacuation calculation has been devide to three phases:

1) Evacuation initialization phase => CHID_evac.eff and CHID_evac.xyz (xyz needed by the fire calculation)
2) Fire calcualtion (if not an evacuation drill, if an evacuation drill, jump to step 3). This reads the CHID_evac.xyz
    file so that the CHID_evac.fed file is written to the hard drive.
3) Evacuation calculation, reads CHID_evac.eff and CHID_evac.fed (if fire+evacuation).

I have still to update the manual (or to see if someone else has done this already)

But I'm a little bit busy, because common flues (not the pandemic) have been circulating in my family lately too much. So lot's of things have been postponed that I get paid by my employer. And I am not paid for FDS+Evac maintenance. So the preference ordei is: Family, Money, Hobbies (incl. FDS+Evac, well, at the current state of the pandemic, other hobbies than FDS+Evac are "on hold"), other things.

TimoK

Vladimir Mozer

unread,
Apr 8, 2021, 6:17:25 PM4/8/21
to FDS and Smokeview Discussions
Many thanks for your answer Timo.

I am using FDS 6.7.5. It seems (I think it is here in a thread) that the first specified flowfield is chosen if no DOOR is known or visible. At least that is how my simulations in the initial post behaved.

So if I understand it correctly a DOOR with EXIT_SIGN=.TRUE. or an EXIT which is not specified as a known door will be first categorised as not familiar +visible (blue)  and then a bit later recategorised as familiar +visible (black) ? And do the agents get information from other agents? Because only the first agents to discover a DOOR/EXIT will go through not familiar+visible to familiar+visible. The agents following them actually show familiar+not visible (yellow) and subsequently familiar+visible (black). It is again very short when they are in the familiar+not visible preference class but it seems like they got the information from the agents in from of them who already categorised the door as familiar+visible.

As regards what agents see, is this treated as an angle in front of the agents (similarly to Fig. 5 in the user guide) or is there some other "vision" representation used? I still do not understand why the agents are in familiar+visible preference state, when the DOOR in my original post is not listed as known and they are turned away from it.

Thanks,
Vlad

WP

unread,
Apr 12, 2021, 2:29:38 AM4/12/21
to FDS and Smokeview Discussions
I guess nobody would like to follow 3 steps and also copy and paste several files to run one fds+evac case.  It seems that recent code work by Timo is a good trial to explore how to outsource evac from fds, but there is no need to finalize such changes in evac manual in my opinion.  
A major issue is about the data interface between evac and fds.  Currently .eff and .fed data are special data interface created by evac.  Maybe .eff is OK, but I am not sure about .fed.  If evac is able to use fds common data such as slice data, the things will be much easier.  Plot3D data is not that useful if evac is only used with fds.  Correct me if there is any wrong.  

TimoK

unread,
Apr 15, 2021, 6:37:43 AM4/15/21
to FDS and Smokeview Discussions
Well, you do not need to copy and paste the files many times. You could just run the same case three times on a row, just changing the input file keywords in between. Well, for a batch running mode, this is not practicable, but in a batch mode you have a batch script anyhow. And in a batch script you can easily copy/rename the files as needed.

I could make things easier for users, when I have time. Somthing like the OVERWRITE keyword (or what it is) in the FDS input, so that you do not accidentally overwrite the files. Or read the .eff and .fed file names as an user input (default: use CHID_evac.eff etc.).

And the .fed file format could be different one, it could be SLCF, because you are taking horizontal slices (well, EVSS might sfift the
location). Well, PLOT3D data you do not want to use, it is getting quite big, if using 2s output time steps (as is done for the FED
and smoke information right now).

TimoK

TimoK

unread,
Apr 15, 2021, 6:49:53 AM4/15/21
to FDS and Smokeview Discussions
The things depend a little bit what agent type you have (AGENT_TYPE). And what I_HERDING_TYPE. If I_HERDING_TYPE is
"large" (2 or more?), then the agents do not move at all, if they have not have found any door that they could use (visible or
known and not too much smoke). If I_HERDING_TYPE is "small" (less than 2?) they will follow the first guiding flow field
that is in the array inside the Fortran source code. The DOORs and EXITs are in the same array in the door selection algorithm.
But I do not remember if EXITs are before DOORs or vice versa, so the first one might be door or exit. But you could test this
quite easily, put one exit and one door and both not visible and not known and see, where the agent goes.

And the "lost agents", at least for AGENT_TYPE=1 and 2(default), are checking around to see, if they see other agents
that know some door. If they find these, they will follow. I.e., they are using the "herding algorithm", if they do not have
anywhere to go.

Well, in the door selection visible is 360 deg angle, so the agents looks everywhere. First the closest neighbors, then
all visible agents. Well, for "follower agents" things are a little bit different. They see the agents in front of them ("in front
of them" is some angle, I do not remember too well). So, if someone opens an emergency exit in front of the follower
agent, the agent will follow the agent that opened and went trough the emergency exit that is not known to this
follower agent before.

TimoK



Vladimir Mozer

unread,
Apr 15, 2021, 9:26:05 AM4/15/21
to FDS and Smokeview Discussions
Many thanks for the explanation Timo! The last paragraph is quite helpful and it explains why the agents turned away actually consider the exit as  familiar+visible.

Vlad

王鹏

unread,
May 5, 2021, 5:32:11 PM5/5/21
to fds-smv

Gregor suggest that I should use Google Fortum rather than Github, but I do not have a stable network connection to Google, and thus I can only drop a message here.  

Hello, Timo.  Is it feasible to add an evac loop right after existing fds loop in main.f90 to realize the idea that evac runs after fds in version 6.7.6?  I mean all the meshes are read into the program and existing fds loop generate .eff and .fed data (optional), and evac loop reads such data to complete evac simulation.  

If this is feasible, users only run fds command once without manually changing any MISC settings, and Timo can also realize the idea that evac runs after evac inside the program at current stage, very importantly all the existing fds+evac examples are also compatible in FDS version 6.7.6.  

This approach may cause less bugs in the long term because fds and evac do not share the same computation loop, and it is more user-friendly.  Comments are appreciated.  


------------------ Original ------------------
From: "fds-smv" <tkor...@gmail.com>;
Date: Thu, Apr 15, 2021 06:49 PM
To: "FDS and Smokeview Discussions"<fds...@googlegroups.com>;
Subject: [fds-smv] Re: FDS EVAC question - EXITS and preference states
--
You received this message because you are subscribed to a topic in the Google Groups "FDS and Smokeview Discussions" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/fds-smv/gHP1a7Im5Io/unsubscribe.
To unsubscribe from this group and all its topics, send an email to fds-smv+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/fds-smv/3a2daed2-0dd4-4ce7-bc9e-5679ef092597n%40googlegroups.com.

Gregor

unread,
May 8, 2021, 7:18:36 PM5/8/21
to FDS and Smokeview Discussions
@WP: 
I don't understand your problem. Can you describe your desired workload? Perhaps in a separate post. This discussion is on a different topic.

In this Discussion group, we are free to discuss all possibilities. We should open a separate thread in the forum and not misuse other questions for this purpose.
Reply all
Reply to author
Forward
0 new messages