Hi, I'm trying to simulate a very simple evacuation case but when runnning it I get following error message "forrtl: severe (157): Program Exception - access violation"
Following the fds file. I tried to find out the origin of the error and seems to be the presence of the 2 meshes. When elminatin one of the 2 meshes (by simply deleting the ampersand on the mesh line), the simulation runs, but it fails if both meshes are active. How can I solve the problem?
This is the complete fds file (Version: 5.4.3 , SVN: 5210)
Thanks for this catch. I have corrected this one and it should be in the version "SVN Revision: 5544". So, the next maintenance/minor release version should work. The next thing might be fds 5.5, so you might need to wait a little bit. I do not know why your case did not run and my test cases have been running nicely. Something funny going on with the compiler.
One comment to your input: Add the pre-evacutaion time (and detection time) distribution to your PERS-line, like:
The user should always give some T_det and T_pre. These are really important parameters for the evacuation time calculation. Defaults are zero for both.
TimoK
PS. Next time, use the Issue Tracker to report a bug. When ever you get "Program Exception - access violation" or similar Fortran errors, then this is usually some bug in the program. Or bad user inputs, which the program should check.
works. You should change also exit,evac,evacuantion mesh vents, etc so that the belong the new XB. In your original file you had same XB for both fire and evacuation meshes. That made problems. It should not have, but there was a bug in the program. All my test cases have different XB for evac and fire meshes.
WORK AROUND: No fire mesh should fit completely inside any evacuation mesh. Thus, having z-dimension less for evacuation mesh than for fire mesh will cure this bug.
Details: main.f90, line about 1170:
IF ( M2%XS>=M%XS .AND. M2%XF<=M%XF .AND. M2%YS>=M%YS .AND. M2%YF<=M %YF .AND. M2%ZS>=M%ZS .AND. M2%ZF<=M%ZF ) FOUND = .TRUE.
This compares different meshes, XS = XB1, XF=XB2, YS=XB3, and so on. And "M%" and "M2" refer to the two meshes that are compared. One should fave found=.false. if mesh1 or mesh2 or both are evacuation meshes. I just checked that mesh2 was evac-mesh. So if mesh1 was evac mesh, it found mesh2 to be the fire mesh in your case. (The test: check if mesh2 is "inside" the mesh1 totally).
So, you can be using "old" fds5.exe, but change your mesh XB so, that the evacuation meshes does not "fit totally inside any fire mesh".
See the FDS+Evac manual: http://virtual.vtt.fi/virtual/proj6/fdsevac/documents/FDS+EVAC_5_Guid... Page 61, and read 8.1 The MESH Namelist Group. Your z_min and z_max for evacuation meshes should usually be different than fire meshes. You do not want to include the floor and ceiling in your evacuation meshes. If you do this, then the evacuation meshes will be totally filled with OBST. Evacuation meshes have just one cell in the z-direction and all obst touching the evacuation mesh grid cell are expanded at least one grid cell thick: If you mesh touches floor ==> floor will fill the grid cells completely.