In this repository we present LLALBM, a templated and header only C++ library implementing the Lattice Boltzmann Method for computational fluid dynamics.
Before working with LLALBM, please make sure you have all the libraries we depend on correctly installed in your system. You will need
- Eigen
- OpenMP
- OpenACC
- MPI
- CMAKE
We used mk modules by the MOX laboratory of Politecnico di Milano. You can find them here.
In order to work with LLALBM, start by cloning the repository.
git clone https://github.com/AMSC22-23/LatticeBoltzmannMethod-Fonnesu-Grassi-Guffanti.gitor
git clone --recurse-submodules git@github.com:AMSC22-23/LatticeBoltzmannMethod-Fonnesu-Grassi-Guffanti.gitOnce you have cloned the repository, you are ready to compile you first examples!
Compilation is supported by CMake.
In the CMakeLists.txt in the root of the repository you can configure the compilation of LLALBM by
choosing whether to enable compilation of tests by acting on the should_Test option. Code examples are compiled by default and
are accessible in the examples directory.
Once you have chosen how to compile LLALBM, you are ready to actually build it. To do so,
create a build/ folder in the root of the repository and move into it
mkdir build
cd build/Remember now to load all the modules you need, and from
inside the build/ folder simply call CMake to produce Makefiles, and then compile the project with make.
cmake ..
makePlease notice that based on your LLALBM configuration compilation may take different amounts of time.
Once compilation is finished, you can easily run examples. If you have compiled the examples from build/, you
will find examples in the build/examples/ directory. If you have compiled the tests too, you find executables in the
build/test/ folder.
LLALBM comes packaged with a number of example that show its capabilities, and whose source code can be easily accessed from the examples directory. C++ files containing the example code have the same name of the example you find right here.
Implemented by