Skip to content

In this repository I implement a parallel solver of the Lattice Boltzmann Method (LBM).

License

SimonSchrodi/lattice_boltzmann_parallel_solver

Repository files navigation

Lattice Boltzmann Parallel Solver Build Status

Results

Von Karman vortex street

Couette flow evolution

Couette flow

Poiseuille flow evolution

Poiseuille flow

High-level structure

The code is organized as follows:

  • documentation contains the report
  • figures contains figures from our experiments
  • src contains the main part of the code
    • src/boundary_conditions.py implements several boundary conditions
    • src/boundary_utils.py plugs specific combinations of boundary conditions together
    • src/experiments.py contains functions to run the experiments
    • src/initial_values.py contains initial value specifications
    • src/lattice_boltzmann_method.py implements the basic ingredients of the LBM
    • src/main.py calls the experiments specified by the command arguments
    • src/parallelization_utils.py implements essential parts of the parallel communication
    • src/visualizations_utils.py contains several helper functions for visualizations
  • tests contains several unit tests for Travis CI

How to build

make init

How to reproduce results

  • Shear wave decay
    • python src/main.py -f "shear_wave_decay_density"
    • python src/main.py -f "shear_wave_decay_velocity"
    • python src/main.py -f "viscosity_vs_omega"
  • Couette flow
    • python src/main.py -f "couette_vectors"
    • python src/main.py -f "couette_evolution"
  • Poiseuille flow
    • python src/main.py -f "poiseuille_vectors"
    • python src/main.py -f "poiseuille_evolution"
  • von Karman vortex street
    • python src/main.py -f "reynold_strouhal"
    • python src/main.py -f "nx_strouhal"
    • python src/main.py -f "blockage_strouhal"
  • scaling tests
    • mpirun -N 4 python src/main.py -f "scaling_test"
  • pngs images to gif
    • python src/main.py -f "pngs_to_gif"

About

In this repository I implement a parallel solver of the Lattice Boltzmann Method (LBM).

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages