A simple C++ library that helps advecting various active lagrangian objects into a flow.
This simple C++ library provides active lagrangian objects that are able to be advected in a flow. Simple examples are provided and should be enough to explain how to use this library.
This repository contains:
- The software itself provided as a header only library in the directory include/sa0
- A few examples.
This library has been produced during my PhD thesis and as part as the European Research Council project: C0PEP0D This library is used as part of SHELD0N, a lagrangian particle advection software.
The dependencies are standard softwares that may already be installed on your system. If not, you should be able to install these dependencies with your package manager.
- CMake
v?
or higher must be installed - a c++17 compliant compiler, such as gcc
v9
or higher must be installed. For Ubuntu users: ppa. - the Threading Building Block Library
v2018
or higher must be installed (this version that enables is installing it using CMake is advised)
Examples:
The examples assume the following directory tree structure:
..
├── .
│ │── sa0
│ │── sl0
│ └── s0s
└── thirdparty
└── eigen
One should either install this dependencies accordingly, or adapt their path in the CMakeList.txt file of the examples.
Start by cloning this repository.
$ git clone https://github.com/C0PEP0D/sa0.git
Running an example:
$ cd examples/agent
$ mkdir build
$ cd build
$ cmake ..
$ make
$ ./agent
A simple pull should be enough.
$ git pull
Rémi Monthiller - @rmonthil - remi.monthiller@gmail.com
Feel free to dive in! Open an issue or submit PRs.