VIPRA Documentation
|
| Main Page | Developer Setup | Module Implementations | Examples |
VIPRA can either be used:
Requirements and Setup are found on the Setup Page
VIPRA
is broken into Modules
, each with their own responsibilities in the simulation
Here are the requirements for each of the module types.
Below are the steps taken in a full simulation run.
These are the general steps taken when a simulation is run.
First a Simulation is constructed, then Modules are loaded using dlopen.
The simulation is started using either operator()
or run_sim()
.
These both take
Input Module
- Loads PedestriansMap Input Module
- Loads Map geometryParameter Module
- Loads Parametersas their arguments.
The Parameter Module
calls load()
on it's Parameter Input
module.
Each Module has its REGISTER_MODULE_PARAMS method called.
This is used to tell the simulation which parameters are required by each module and where to place them.
The loaded parameters are passed in to each module.
The Map
, Goals
, Model
, and Behavior Model
have their INIT_STEP
methods called.
This allows each module to setup any necessary pre-simulation work.
The following is run until the Goals
module simulation goal is met, or until the simulation max_timestep
is reached.
Finally, each of the Output
modules write
method is called.