Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sbaldu/dynamicalsystemframework
Framework for modelling dynamical complex systems
https://github.com/sbaldu/dynamicalsystemframework
complex-systems cpp20 dynamics modelling-framework
Last synced: 3 months ago
JSON representation
Framework for modelling dynamical complex systems
- Host: GitHub
- URL: https://github.com/sbaldu/dynamicalsystemframework
- Owner: sbaldu
- License: other
- Created: 2023-09-12T08:10:46.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-23T15:43:13.000Z (3 months ago)
- Last Synced: 2024-10-23T21:04:37.049Z (3 months ago)
- Topics: complex-systems, cpp20, dynamics, modelling-framework
- Language: C++
- Homepage: https://sbaldu.github.io/DynamicalSystemFramework/
- Size: 2.93 MB
- Stars: 3
- Watchers: 2
- Forks: 3
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DynamicalSystemFramework
[![codecov](https://codecov.io/github/sbaldu/DynamicalSystemFramework/graph/badge.svg?token=JV53J6IUJ3)](https://codecov.io/github/sbaldu/DynamicalSystemFramework)The aim of this project is to rework the original [Traffic Flow Dynamics Model](https://github.com/Grufoony/TrafficFlowDynamicsModel).
This rework consists of a full code rewriting, in order to implement more features (like *intersections*) and get advantage from the latest C++ updates.## Requirements
The project only requires `C++20` and `cmake`.
## Installation
The library can be installed using CMake. To do this build it with the commands:
```shell
mkdir -p build && cd build
cmake ..
```
and then install it with:
```shell
sudo make install
```## Testing
To compile tests one can run:
```shell
cd test
cmake -B build && make -C build
```
To run all the tests together use the command:
```shell
./dsm_tests.out
```## Benchmarking
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:
```shell
cd benchmark
cmake -B build && make -C build
```
To run all the benchmarks together use the command:
```shell
for f in ./*.out ; do ./$f ; done
```## Citing
```BibTex
@misc{DSM,
author = {Berselli, Gregorio and Balducci, Simone},
title = {Framework for modelling dynamical complex systems.},
year = {2023},
url = {https://github.com/sbaldu/DynamicalSystemFramework},
publisher = {GitHub},
howpublished = {\url{https://github.com/sbaldu/DynamicalSystemFramework}}
}
```