Virtual Belgium  2.0
A micro-simulation platform for the Belgian population
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Friends Macros Pages
VirtualBelgium Documentation

Introduction

This is the VirtualBelgium documentation.

The VirtualBelgium project aims at developing understanding of the evolution of the Belgian population using simulation and considers various aspects of this evolution (demographics, residential choice, activity patterns, mobility, ...). It is based on a validated synthetic population for the country and is intrinsically multi-disciplinary.

The project is organized as follow:

  • ./ : running scripts for launching VirtualBelgium;
  • ./bin : VirtualBelgium executable and configuration files;
  • ./data : contains the necessary inputs;
  • ./doc : documentation (generated by doxygen);
  • ./include : headers files;
  • ./licenses : licenses of Repast HPC, tinyxml2 and VirtualBelgium;
  • ./logs : log files of simulation runs;
  • ./outputs : outputs generated by simulation runs;
  • ./scripts : scripts for processing outputs;
  • ./tools : tools for processing outputs
  • ./src : source files.

Installation

Requirements

Minimal requirements for VirtualBelgium are

  • Repast HPC 1.0.1;
  • Boost library 1.49;
  • a working MPI environment (openmpi or mpich2);
  • gcc 4.7.2.

VirtualBelgium provides scripts to process its outputs. These scripts requires:

  • Python and mapnik 2 library;
  • R;
  • doxygen;
  • Perl.

Installation

Depending on the hardware configuration execute

  • make all (on a regular workstation)
  • make ucl (on lemaitre2 cluster running the SLURM job management system)

Running the simulation

After setting the model properties (./bin/model.props), you can launch the run.sh NP script, where NP is the desired number of process used by VirtualBelgium.

If a segmentation fault occurs, you maybe need to increase the stack size with the command

ulimit -s 100000

The outputs will be stored in the output directory and can be processed with the tools of the scripts directory:

  • merge_xml.sh : merge the outputs generated by the NP process into one single file;
  • merge_shp.R : merge a shapefile with the data generated by the simulation;
  • mpas_generation.py : generate 24 maps, each one representing the number of activities starting at a given hour.

Debugging

In order to debug, follows these steps:

  1. compiling: make debug
  2. go the /bin directory
  3. execute : mpiexec -n NP xterm -e gdb ./vbel

where NP is the desired number of processes.

generation

Move to the /doc directory and execute: doxygen vbel