-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the CrowdEgress wiki!
The program mainly consists of four components: User Interface, Simulation Core, Data Module, Visualization Module
User Interface: The user interface is written in tkinter in ui.py (Version 2.0) or startPage.py (Version 1.0). Users may call function startPage() from simulation routine to set up the input files. An alternative method is using ui.py to enable a graphic user interface (GUI) and start a simulation there. Currently there is a simple version of GUI and it needs to be improved in several aspects.
Simulation Core: The multi-agent simulation is implemented as simulationXX.py. The component is packed in a class called simulation class, and it computes interaction of four types of entities: agents, walls, doors and exits. The agent model is described in agent.py, while walls, doors and exits are coded in obst.py. The core algorithm is still being studied and developed. This is an interesting study topic, which refers to Netwon physics, complex systems and computer science. Your comments or contribution are much welcome.
Data Module: This module reads in data from input files, and writes data to output files. The input data is written by users in .csv files. Agents and exits must be specified in .csv file while walls and doors can be either in .csv file or read in from standard .fds input file to create major compartment geometry. In the future we plan to use a subroutine in FDS+Evac to output the agent movement data so that the agent movement can also be visualized by smokeview.
Visualization Module: The visulization module is packed in draw_func.py and currently pygame is used to visualize the simulation result. We may develop another offline visualization tool together with smokeview such that users first run the simulation and get the output data, and then visualize the output data. Currently the visualization functions are packed up as an independent module in draw_func.py. If any user is interested, please feel free to extend the module or try other graphic library to wrtie a visulization component.