CFD using Lattice Boltzman

Exploring LBM using Cuda

March 2024
Technologies Used
C++ OpenGl Cuda

Overview

Exploration of CDF methods for incompressible flow. For easiest GPU implementationm, Lattice Boltzman, using BGK in a 2d setting was implemented. The results are visualized as either a heatmap of velocity, or colored by flow direction.

Key Features

  • Interoperation between Cuda and OpenGl
  • Exploration of the LBM method and the BGK operation
  • Tested on lid dirven cavity and flow over a sphere, creating vorticity

Technical Implementation

  • Starting point is the cuda implementation of LBM
  • 3d grid generation for the 2d LBM solver
  • Collision, streaming and boundary step, exploring different boundary conditions
  • Bufferswapping to reduce memory usage

Results & Learnings

  • High performance due to parallel implementation
  • Parametertuning, and translation to grid units
  • Challenges, visualizing the flow of a 2d flow field

Documentation

Direct results of the solver:

Lid driven cavity, with colors indicating flow direction

Flow over a sphere creating the Kármán vortex street