godisreal / test-crowd-dynamics

Testing Result of Crowd Evacuation Behavior by Using FDS+Evac
4 stars 2 forks source link

Use evac module as an independent program #12

Closed godisreal closed 3 years ago

godisreal commented 3 years ago

This idea means that evac is executed as an independent program, and it does not necessarily run together with fds. There are several benefits of doing so. I will write a brief proposal as below. Maybe someone would join and cooperate with me to implement this idea.

  1. User Perspective: From the user side, users commonly do not need to run fds and evac together, especially for large-scale examples. Because evac simulation can run very fast when there is no fire computation. Normally users just run fire+evac together in the first run, and then run multiple evac simulation without fire computation because EVAC itself runs much faster than FDS. So it does not increase much computational cost if EVAC is oursourced from FDS.

  2. Technical Features: FDS require much computational time while EVAC does not. Existing technical requirement for FDS and EVAC are quite different. For example. FDS needs MPI for large-scale simulation, but EVAC usually does not. EVAC module is not well designed for MPI execuation and this has caused several problems if EVAC runs together with FDS. So outsourcing EVAC can help to simplify some code and improve reliability of EVAC module. Since Timo is busy with many other things, I think he will prefer a more reliable evac module, which will bring less problems for him to solve on Github. The major work is rewriting a script to call evac subroutins. A major difficulty may exist in outputting .smv file for smokeview because it will share .smv with FDS. Or maybe we can write another small visualizer especially for evac module.