|
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 library is available on PyPI:
To check the installation you can simply run
The project requires C++20 or greater, cmake, tbb simdjson, spdlog and rapidcsv. 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 Doxygen installed to generate the docstrings:
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.
If the project is compiled in Debug or Coverage mode, tests are always built. Otherwise, you can add the -DDSF_TESTS=ON flag to enable test build.
To run the tests use the command:
Some functionalities of the library have been benchmarked in order to assess their efficiency.
The benchmarks are performed using Google Benchmarks. To build the benchmarks add the flag -DDSF_BENCHMARKS=ON :
To run all the benchmarks together use the command: