The aim of this project is to rework the original Traffic Flow Dynamics Model. This rework consists of a full code rewriting, in order to implement more features (like intersections) and get advantage from the latest C++ updates.
The project requires C++20
or greater, cmake
and tbb
.
To install requirements on Ubuntu:
sudo apt install libtbb-dev cmake
To install requirements on MacOS:
brew install tbb cmake
Utilities are written in python. To install their dependencies:
pip install -r ./requirements.txt
The library can be installed using CMake. To build and install the project in the default folder run:
cmake -B build && cmake --build build
sudo cmake --install build
Otherwise, it is possible to customize the installation path:
cmake -B build -DCMAKE_INSTALL_PREFIX=/path/to/install
then building and installing it (eventually in sudo mode) with:
cmake --build build
cmake --install build
This project uses Doctest for testing.
To compile tests run:
cd test
cmake -B build && make -C build
To run all the tests together use the command:
./dsm_tests.out
Some functionalities of the library have been benchmarked in order to assess their efficiency.
The benchmarks are performed using a small toolkit developed by @sbaldu, in order to keep them simple and
without needing to rely on large external libraries.
To compile the benchmarks use the commands:
cd benchmark
cmake -B build && make -C build
To run all the benchmarks together use the command:
for f in ./*.out ; do ./$f ; done
@misc{DSM,
author = {Berselli, Gregorio and Balducci, Simone},
title = {Framework for modelling dynamical complex systems.},
year = {2023},
url = {https://github.com/physycom/DynamicalSystemFramework},
publisher = {GitHub},
howpublished = {\url{https://github.com/physycom/DynamicalSystemFramework}}
}
- Berselli, Gregorio (2022) Modelli di traffico per la formazione della congestione su una rete stradale. University of Bologna, Bachelor's Degree in Physics [L-DM270]. Link to Thesis.
- Berselli, Gregorio (2024) Advanced queuing traffic model for accurate congestion forecasting and management. University of Bologna, Master's Degree in Physics [LM-DM270]. Link to Thesis.
- Mungai, Veronica (2024) Studio dell'ottimizzazione di una rete semaforica. University of Bologna, Bachelor's Degree in Physics [L-DM270]. Link to Thesis.