firemodels / fds

Fire Dynamics Simulator
https://pages.nist.gov/fds-smv/
Other
650 stars 618 forks source link

On door selection algorithm #1552

Closed gforney closed 9 years ago

gforney commented 9 years ago
Please complete the following lines...

Application Version: 5.5.3
SVN Revision Number: 7031
Compile Date: 2/29/2010
Operating System: WINXP

Describe details of the issue below:
Depending on the door selection algorithm, humans prefer to choose the doors they know,
but I find that they sometime will choose the nearest unknown door instead of the known
door. Why is that? P.S. there is no fire, smoke in the simulation (only a drill).

Thanks.

Original issue reported on code.google.com by gaoyuan9999 on 2012-02-25 14:31:26

gforney commented 9 years ago
Timo will take a look at this.

Original issue reported on code.google.com by mcgratta on 2012-02-25 19:24:39

gforney commented 9 years ago
gaoyuan9999,

can you share your input file?

Gregor

Original issue reported on code.google.com by gregor.jaeger on 2012-02-27 10:58:17

gforney commented 9 years ago
Attached is an example. 10 agents know the right exit and 10 agents know the left door.
The simulation result is that only 3 agents use the left door and 17 agents use the
right door. Why do some of the agents change their purpose during the process? Thanks.

Original issue reported on code.google.com by gaoyuan9999 on 2012-02-28 10:34:38


gforney commented 9 years ago

 Fire Dynamics Simulator
 Compilation Date : Fri, 29 Oct 2010
 Version: 5.5.3; MPI Disabled; OpenMP Disabled
 SVN Revision No. : 7031

And the "CHID"_evac.out file has:

 Agent n:o    21 out at     8.01 s, exit RightExit
 Agent n:o    16 out at     8.51 s, exit RightExit
 Agent n:o    19 out at     9.14 s, exit RightExit
 Agent n:o    13 out at     9.87 s, exit RightExit
 Agent n:o     2 out at     9.88 s, exit LeftExit
 Agent n:o     3 out at    10.53 s, exit LeftExit
 Agent n:o    18 out at    10.65 s, exit RightExit
 Agent n:o    14 out at    11.51 s, exit RightExit
 Agent n:o     4 out at    11.65 s, exit LeftExit
 Agent n:o     8 out at    12.08 s, exit LeftExit
 Agent n:o    11 out at    12.41 s, exit RightExit
 Agent n:o     6 out at    12.85 s, exit LeftExit
 Agent n:o     7 out at    14.15 s, exit LeftExit
 Agent n:o    20 out at    14.20 s, exit RightExit
 Agent n:o     1 out at    15.10 s, exit LeftExit
 Agent n:o    15 out at    15.26 s, exit RightExit
 Agent n:o     5 out at    16.21 s, exit LeftExit
 Agent n:o    12 out at    16.61 s, exit RightExit
 Agent n:o     9 out at    16.94 s, exit LeftExit
 Agent n:o    17 out at    17.49 s, exit RightExit
 Agent n:o    10 out at    18.02 s, exit LeftExit

I can not reproduce the error. See also the attached
snapshot.

Which FDS version you are using?

TimoK

Original issue reported on code.google.com by tkorhon1 on 2012-02-28 14:20:22


gforney commented 9 years ago
It is very strange.

Here is the "CHID"_evac.out file I have:

 Agent n:o    16 out at     9.38 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o    15 out at    10.54 s, exit RightExit, FED=  0.0001, Color_i=   2  2 
2
 Agent n:o    19 out at    12.01 s, exit RightExit, FED=  0.0003, Color_i=   2  2 
2
 Agent n:o     5 out at    12.23 s, exit LeftExit, FED=  0.0005, Color_i=   1  1  2
 Agent n:o    13 out at    12.73 s, exit RightExit, FED=  0.0003, Color_i=   2  2 
2
 Agent n:o     3 out at    13.54 s, exit LeftExit, FED=  0.0013, Color_i=   1  1  2
 Agent n:o    12 out at    14.32 s, exit RightExit, FED=  0.0005, Color_i=   2  2 
2
 Agent n:o     7 out at    15.29 s, exit RightExit, FED=  0.0006, Color_i=   2  2 
2
 Agent n:o     1 out at    16.03 s, exit LeftExit, FED=  0.0006, Color_i=   1  1  2
 Agent n:o    17 out at    16.15 s, exit RightExit, FED=  0.0009, Color_i=   2  2 
2
 Agent n:o    11 out at    16.90 s, exit RightExit, FED=  0.0007, Color_i=   2  2 
2
 Agent n:o    21 out at    17.77 s, exit RightExit, FED=  0.0008, Color_i=   2  2 
2
 Agent n:o     8 out at    18.84 s, exit RightExit, FED=  0.0009, Color_i=   2  2 
2
 Agent n:o     2 out at    19.92 s, exit RightExit, FED=  0.0014, Color_i=   2  2 
2
 Agent n:o    20 out at    20.99 s, exit RightExit, FED=  0.0015, Color_i=   2  2 
2
 Agent n:o    14 out at    22.18 s, exit RightExit, FED=  0.0019, Color_i=   2 -2 
2
 Agent n:o     6 out at    23.41 s, exit RightExit, FED=  0.0022, Color_i=   2  2 
2
 Agent n:o    18 out at    24.28 s, exit RightExit, FED=  0.0037, Color_i=   2 -2 
2
 Agent n:o    10 out at    25.79 s, exit RightExit, FED=  0.0032, Color_i=   2  2 
2
 Agent n:o     4 out at    27.79 s, exit RightExit, FED=  0.0037, Color_i=   2  2 
2
 Agent n:o     9 out at    29.23 s, exit RightExit, FED=  0.0038, Color_i=   2 -2 
2

I delete all the other relevant files and re-run the .fds file again, and the errors
disappear:

 Agent n:o    21 out at     8.01 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o    16 out at     8.51 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o    19 out at     9.14 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o    13 out at     9.87 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o     2 out at     9.88 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o     3 out at    10.53 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o    18 out at    10.65 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o    14 out at    11.51 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o     4 out at    11.65 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o     8 out at    12.08 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o    11 out at    12.41 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o     6 out at    12.85 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o     7 out at    14.15 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o    20 out at    14.20 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o     1 out at    15.10 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o    15 out at    15.26 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o     5 out at    16.21 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o    12 out at    16.61 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o     9 out at    16.94 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2
 Agent n:o    17 out at    17.49 s, exit RightExit, FED=  0.0000, Color_i=   2  2 
2
 Agent n:o    10 out at    18.02 s, exit LeftExit, FED=  0.0000, Color_i=   1  1  2

Maybe the reason is that the original file reads the outdated file (.eff or something).

Thanks a lot for the help.

Original issue reported on code.google.com by gaoyuan9999 on 2012-02-29 01:52:07

gforney commented 9 years ago
Yes, it might have been that FDS+Evac was reading
the CHID_evac.eff file, if it existed on the disk.
This you can check by looking the CHID_evac.out
text file. At the beginning of that file, it should
be printed if the CHID_evac.eff (and CHID_evac.fed)
file is read in or is it (re)calculated.

The evacuation module in FDS 5.5.3 is such that
if there are only evacuation meshes, it tries
to read in the CHID_evac.eff file, if it exists
on the disk. The version that will be in the
FDS version 6 has different default, it recalculates
the EFF file, if the user does not tell to read it
in. This way is better, one does not get these kind
of errors. The problem might just be that if the
user does not remember to tell the program to read
the EFF file, the EFF file is recalculated and this
just takes some more CPU time.

TimoK

Original issue reported on code.google.com by tkorhon1 on 2012-02-29 11:11:34

godisreal commented 5 years ago

Is the problem sovled or not? It seems still something wrong with the door selection algorithm in FDS6.

tkorhon1 commented 5 years ago

This issue is closed. This is the IMO test case 10 that is also included in the manual. And it is in my V&V cases, latest one I did for FDS 6.7.0 release version and the results are below. I.e., the agents go to those doors, where they should go.

Well, there was some problems with the guiding flow fields for evacuation in this geometry, but these problems are not connected to the door selection algorithm. The thing with the guiding flow fields is that there are no "internal doors" that can be defined. These kind of doors should be defined so that it would be easier to model complex buildings. There are two ways of doing this:

1) use current door=>entr type doors as internal doors, but you need to add forces through the doors so that the agents can merge to a flow (the agents should "push themselves" in the person flow on the other side of the door, if there is dense crowd there. This method would be good also for the door=>entr cases, where the agents go from one mesh to an another mesh. But this needs some programming effort etd.

2) define a new type of "door" as an internal door. At the guiding flow field initialization phase, there is an OBST here at the door. Why? An example: The IMO test 10, cabins and the corridor. The agents in the corridor do not go to the cabins, but in the present version, the flow field will go in to the cabins (how the fluid flows). The guiding flow field for the corridor would be better, if the cabin doors are solid OBST in the flow field calculation. And inside each cabin, there is a flow field calculation to the cabin door (the new internal door type). After the initialization phase, the "cabin door" OBSTs are removed => the agents do not feel the doors and the flow fields are nice. Well, this needs also some programming, but should be quite straighforward.

Problem with both ones is: There will be more doors => more CPU time is needed to calcualte the flow fields (and some more disk space also, but disk space is cheap).

TimoK

CompTest10: 1-15 main exit 16-23 secondary exit Agent n:o 1 out exit MainExit, Color_i= 1 Agent n:o 2 out exit MainExit, Color_i= 1 Agent n:o 3 out exit MainExit, Color_i= 1 Agent n:o 4 out exit MainExit, Color_i= 1 Agent n:o 5 out exit MainExit, Color_i= 1 Agent n:o 6 out exit MainExit, Color_i= 1 Agent n:o 7 out exit MainExit, Color_i= 1 Agent n:o 8 out exit MainExit, Color_i= 1 Agent n:o 9 out exit MainExit, Color_i= 1 Agent n:o 10 out exit MainExit, Color_i= 1 Agent n:o 11 out exit MainExit, Color_i= 1 Agent n:o 12 out exit MainExit, Color_i= 1 Agent n:o 13 out exit MainExit, Color_i= 1 Agent n:o 14 out exit MainExit, Color_i= 1 Agent n:o 15 out exit MainExit, Color_i= 1 Agent n:o 16 out exit SecoExit, Color_i= 2 Agent n:o 17 out exit SecoExit, Color_i= 2 Agent n:o 18 out exit SecoExit, Color_i= 2 Agent n:o 19 out exit SecoExit, Color_i= 2 Agent n:o 20 out exit SecoExit, Color_i= 2 Agent n:o 21 out exit SecoExit, Color_i= 2 Agent n:o 22 out exit SecoExit, Color_i= 2 Agent n:o 23 out exit SecoExit, Color_i= 2 CompTest10B: 1-15 main exit 16-23 secondary exit Agent n:o 1 out exit MainExit, Color_i= 1 Agent n:o 2 out exit MainExit, Color_i= 1 Agent n:o 3 out exit MainExit, Color_i= 1 Agent n:o 4 out exit MainExit, Color_i= 1 Agent n:o 5 out exit MainExit, Color_i= 1 Agent n:o 6 out exit MainExit, Color_i= 1 Agent n:o 7 out exit MainExit, Color_i= 1 Agent n:o 8 out exit MainExit, Color_i= 1 Agent n:o 9 out exit MainExit, Color_i= 1 Agent n:o 10 out exit MainExit, Color_i= 1 Agent n:o 11 out exit MainExit, Color_i= 1 Agent n:o 12 out exit MainExit, Color_i= 1 Agent n:o 13 out exit MainExit, Color_i= 1 Agent n:o 14 out exit MainExit, Color_i= 1 Agent n:o 15 out exit MainExit, Color_i= 1 Agent n:o 16 out exit SecoExit, Color_i= 2 Agent n:o 17 out exit SecoExit, Color_i= 2 Agent n:o 18 out exit SecoExit, Color_i= 2 Agent n:o 19 out exit SecoExit, Color_i= 2 Agent n:o 20 out exit SecoExit, Color_i= 2 Agent n:o 21 out exit SecoExit, Color_i= 2 Agent n:o 22 out exit SecoExit, Color_i= 2 Agent n:o 23 out exit SecoExit, Color_i= 2