Skip to content
Peng Wang edited this page Aug 2, 2023 · 8 revisions

Welcome to the CrowdEgress wiki!

This manual introduces a simulation tool to study complex crowd behavior in social context. The agent-based model is extended based on the well-known social force model, and it mainly describes how agents interact with each other, and also with surrounding facilities such as walls, doors and exits. The simulation platform is compatible to FDS+Evac, and the input data in FDS+Evac could be imported into our simulation platform to create single-floor compartment geometry, and a flow solver is used to generate the road map towards exits. Most importantly, we plan to integrate advanced social and psychological theory into our simulation platform, especially investigating human behavior in emergency evacuation, such as pre-evacuation behavior, exit-selection activities, social group and herding effect and so forth.

Introduction:

The agent-based model (ABM) is a computational research method to study social systems. The agent-based model refers to a system of many-particle that exhibits emergent characteristics when autonomous agents interact with each other. Basically, the ABM consists of agent, system space, and external environment. The agent is autonomous and decides his/her behavior by interacting with the neighbors or the external environment with the rules of behavior. In our simulation platform, for example, the system space is a 2D planar space, and the environment is given as a structural layout that consists of obstructions (e.g., walls) and passageways (e.g., doors or exits), and agents are interacting and moving within this structural layout.

The simulation is mainly implemented by a component as packed in a class called simulation class (simulation.py), and it computes interaction of agents with surrounding entities including walls, doors and exits. The agent model is described in agent.py, whereas walls, doors and exits are coded in obst.py. The agent-based model is an extension of the well-known social force model\cite{Helbing00,Helbing02,Helbing95}. The model aims at investigating protypes of pedestrian behavior in crowd evacuation. The core algorithm is still being developed and improved. This is an inter-discipline study topic, which refers to Newton particles,statistical physics, dynamic systems as well as social and behavioral science. Your contributions or comments are much welcome.

The program also consists of several functional components such as User Interface and Data/Visualization Tool.

User Interface: The user interface is written in tkinter in ui.py. Please run ui.py to enable a graphic user interface (GUI) where one selects the input files, initialize compartment geometry, and configure or start a simulation. An alternative method is using main.py to directly start a simulation without GUI. Currently there is a simple version of GUI and it needs to be improved in several aspects.

Data Tool: This component reads in data from input files, and write data to output files. The input data is written by users in either csv files or fds input files. Agents must be specified in csv file while walls, doors or exits can be described either in csv file or read from standard fds input file. The simulation output is written into a binary file, which is compatible to the fds output data (fds prt5 data format).

Visualization Tool: The visulization component is packed in draw_func.py and currently pygame (SDL for python) is used to develop this component. Users can select to visualize the simulation as it runs, or visualize the output data after the simulation is complete. If anyone is interested, please feel free to extend the module or try other graphic libraries to write a visualization component.

Clone this wiki locally