Dynamical system model
|
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:
To install requirements on macOS:
Utilities are written in python. To install their dependencies:
The library can be installed using CMake. To build and install the project in the default folder run:
Otherwise, it is possible to customize the installation path:
then building and installing it (eventually in sudo mode) with:
If you want to use the library from Python, you can build the Python bindings using pybind11. Make sure you have Python and pybind11 installed:
Then, the installation is automatic via pip
:
After installation, you should be able to import the module in Python:
If you encounter issues, ensure that the installation path is in your PYTHONPATH
environment variable.
This project uses Doctest for testing.
To compile tests run:
To run all the tests together use the command:
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:
To run all the benchmarks together use the command: