Viewing FDS and Evac results simultaneously after multiple evacuation simulations

147 views
Skip to first unread message

Neil A

unread,
May 29, 2019, 4:22:29 AM5/29/19
to FDS and Smokeview Discussions
Hello to all,

I have run a simulation with FDS+Evac (zero people, just to get the evacuation flow field) and repeated it for multiple evacuation scenarios, using the FDS results as input.

However, when I go to view the results on Smokeview, only the evacuation results can be loaded in.

Is there a way to view both evacuation and FDS results at the same time for each additional evacuation scenario?

Thanks in advance!

TimoK

unread,
May 31, 2019, 6:26:15 AM5/31/19
to FDS and Smokeview Discussions
Yes, you can do that. But that calls for some hand work. Search this forum.

Quick instructions:

1) Make a backup copy of your fire results (and CHID_evac.fed and CHID_evac.eff files).

2) Edit the CHID.smv file. There you have the prt5 entries for you fire (if any) and evacuation
    meshes. Change the file names of the evacuation PRT5 files, so that they match the
    current evacuation simulation that you want to see.

    OR

    Copy the evacuation .prt5 files that you want to see to the fire+evacuation calculation
    .prt5 files (overwrite the evacuation .prt5 files). This is why there is the step (1), i.e.,
     remember to backup our original results.

Note: The "MC mode evacuation calculation" does not have any fire meshes => the numbering
of the meshes is different than in the original fire+evacuation calculation. So, the mesh
numbers in the .prt5 file names changes accordingly. So, keep this in mind in the step (2)
above.

TimoK

WP

unread,
Jun 6, 2019, 12:12:14 PM6/6/19
to FDS and Smokeview Discussions

Yes.  As Timo mentioned, you could manually modify .smv to show 3D smoke when EVACUATION_MC_MODE=.TRUE.  However, this is not convenient sometimes, especially when you define lagrangian particles in the fire simulation.  The name of .prt5 file of lagrangian particles and that of evacuation agents overlap with each other when you switch on EVACUATION_MC_MODE=.TRUE.  Maybe it is necessary to label all the evacuation data output with '_evac_' so that .prt5 for evacuation agents will be different from that of  lagrangian particles.  


在 2019年5月31日星期五 UTC+8下午6:26:15,TimoK写道:

TimoK

unread,
Jun 7, 2019, 3:10:36 AM6/7/19
to FDS and Smokeview Discussions
WP, could you post a simple example of that case? Below are some lines copied
from the dump.f90 source code. There you can see, that in a many mesh calculation,
the mesh ordinal number is always written as a part of the file name. And the mesh
ordinal number has 4 numbers in the file name (i.e., there are leading zeros if needed).

   ! Particle Files

   IF (PARTICLE_FILE .AND. .NOT.EVACUATION_ONLY(NM)) THEN
      LU_PART(NM) = GET_FILE_NUMBER()
      LU_PART(NM+NMESHES) = GET_FILE_NUMBER()
      IF (NMESHES>1) THEN
         WRITE(FN_PART(NM),'(A,I4.4,A)') TRIM(CHID)//'_',NM,'.prt5'
         WRITE(FN_PART(NM+NMESHES),'(A,I4.4,A)') TRIM(CHID)//'_',NM,'.prt5.bnd'
      ELSE
         WRITE(FN_PART(NM),'(A,A)') TRIM(CHID),'.prt5'
         WRITE(FN_PART(NM+NMESHES),'(A,A)') TRIM(CHID),'.prt5.bnd'
      ENDIF
   ENDIF

   ! Particle Files for Evacuation

   IF (EVACUATION_ONLY(NM)) THEN
      IF (EMESH_INDEX(NM)>0) THEN
         LU_PART(NM) = GET_FILE_NUMBER()
         LU_PART(NM+NMESHES) = GET_FILE_NUMBER()
         IF (NMESHES>1) THEN
            WRITE(FN_PART(NM),'(A,I4.4,A)') TRIM(CHID)//'_',NM,'.prt5'
            WRITE(FN_PART(NM+NMESHES),'(A,I4.4,A)') TRIM(CHID)//'_',NM,'.prt5.bnd'
         ELSE
            WRITE(FN_PART(NM),'(A,A)') TRIM(CHID),'.prt5'
            WRITE(FN_PART(NM+NMESHES),'(A,A)') TRIM(CHID),'.prt5.bnd'
         ENDIF
      END IF
   ENDIF

TimoK



WP

unread,
Jun 8, 2019, 9:52:47 AM6/8/19
to FDS and Smokeview Discussions

Hi, Timo, Thanks.  
I change the code as below, and it works fine.  

  IF (EVACUATION_ONLY(NM)) THEN
      IF (EMESH_INDEX(NM)>0) THEN
         LU_PART(NM) = GET_FILE_NUMBER()
         LU_PART(NM+NMESHES) = GET_FILE_NUMBER()
         IF (NMESHES>1) THEN
            WRITE(FN_PART(NM),'(A,I4.4,A)') TRIM(CHID)//'_evac_',NM,'.prt5'
            WRITE(FN_PART(NM+NMESHES),'(A,I4.4,A)') TRIM(CHID)//'_evac_',NM,'.prt5.bnd'
         ELSE
            WRITE(FN_PART(NM),'(A,A)') TRIM(CHID),'_evac.prt5'
            WRITE(FN_PART(NM+NMESHES),'(A,A)') TRIM(CHID),'_evac.prt5.bnd'
         ENDIF
      END IF
   ENDIF

I have two Questions: 
1. What does LU_PART mean here?  
2. What is '.bnd' used for?  That is, what is .sz file used for?  
Thanks in advance.  


在 2019年6月7日星期五 UTC+8下午3:10:36,TimoK写道:

Glenn Forney

unread,
Jun 8, 2019, 10:01:47 AM6/8/19
to fds...@googlegroups.com
.sz files contain sizing information that smokeview uses to allocate various arrays/memory it needs. 

.bnd files are used to contain min/Max bounds that smokeview will use to generate color indices. The smokeview part has not been implemented yet.

--
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+u...@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/bee7186e-f782-4b94-b03b-1a707104d21a%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Neil A

unread,
Jun 8, 2019, 3:59:50 PM6/8/19
to FDS and Smokeview Discussions
Thank you for the suggestions! I will try them and see.

TimoK

unread,
Jun 10, 2019, 5:25:29 AM6/10/19
to FDS and Smokeview Discussions
Well:

         IF (NMESHES>1) THEN
            WRITE(FN_PART(NM),'(A,I4.4,A)') TRIM(CHID)//'_evac_',NM,'.prt5'
            WRITE(FN_PART(NM+NMESHES),'(A,I4.4,A)') TRIM(CHID)//'_evac_',NM,'.prt5.bnd'
         ELSE
            WRITE(FN_PART(NM),'(A,A)') TRIM(CHID),'_evac.prt5'
            WRITE(FN_PART(NM+NMESHES),'(A,A)') TRIM(CHID),'_evac.prt5.bnd'
         ENDIF

I could do the above changes in the source code and see, that things work as they should.

It might be a good idea to have "_evac_" tag for the evacuation mesh files. Then it is
easier to edit the .smv file and/or copy the evacuation mesh .prt5 files to the fire+evacuation
calculation files. I think that Smokeview reads the file name information from the .smv
file that FDS writes. So, it should work for file names that have additional "_evac" string.

I added it already to my own dump.f90 file, so next time I update (commit) my changes
to the source codes, it will be in the FDS sources at GitHub.

TimoK

王鹏

unread,
Jun 12, 2019, 3:06:00 AM6/12/19
to tkorhon1

Hi, Timo, 
If a user defines an evacumation mesh, I suppose NMESHES>1 holds because there is another evac mesh automatically generated.  Is that see_mesh?  So NMESHES>1 always holds when EVACUATION_ONLY(NM) is true, and the code can be further simplified.  

Also, chid_hrr.csv is rewirtten when evacuation_mc_mode = .true.  I suppose it is fire data.  I opened the file and the data in chid_hrr.csv are reset to be zero (except time index).  Maybe it is better to keep all the fire data unchanged in evacuation_mc_mode.  What do you think?  

------------------ Original ------------------
From: "tkorhon1"<tkor...@gmail.com>;
Date: Mon, Jun 10, 2019 05:25 PM
To: "FDS and Smokeview Discussions"<fds...@googlegroups.com>;
Subject: [fds-smv] Re: Viewing FDS and Evac results simultaneously aftermultiple evacuation simulations
--
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/bErXKpBt-p4/unsubscribe.
To unsubscribe from this group and all its topics, send an email to fds-smv+u...@googlegroups.com.

To post to this group, send email to fds...@googlegroups.com.

TimoK

unread,
Jun 13, 2019, 3:21:43 AM6/13/19
to FDS and Smokeview Discussions
WP, yes, one could do that. Could you, please, make a feature request Issue on the Issue Tracker, so this will be on my ToDo list.

Some things that one could do (WP, copy-and-paste these to the feature reques Issue):

 * add _evac_ to all evacuation output file names. This makes it easier to keep the old fire results.
   (One is not accidentally overwriting fire results.)

 * Add a keyword to MISC that controls the "mesh numbering" of the evacuation prt5 files (and
   possibly also the evacuation=true SLCF files for the guiding flow fields for evacuation): Make
   the evacuation "mesh numbers" in the prt5 file names be same as in the fire+evacuation
   calculation (I.e., one shifts the MC mode =true evacuation mesh number by the number
   of the fire meshes)

* Add a keyword (to MISC?) that puts a "ordinal number" to the evacuation .prt5 files (and
  to chid_evac.out and chid_evac.csv files also?) so that different MC_mode=true runs
  do not overwrite "previous MC mode results".

* Check, which files the present MC_mode=true calculation writes. Which of these should
   not be written (i.e., do not contain any good information, like chid_hrr.csv). Note, that
   the chid.out file will be (re)written always. If the fire calculation chid.out file is lost and
   one wants it back, this is quite easy. Run just a second (or T_BEGIN=0), to get the
   useful information that is printed, when FDS reads the inputs (like material properties,
   pyrolysis parameters, reaction parameters, species informtation etc.).

Wbr,
TimoK



Reply all
Reply to author
Forward
0 new messages