Skip to content

A Lattice Boltzmann based code to simulate von Kármán vortex street.

Notifications You must be signed in to change notification settings

RicardoParraHdz/LBM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 

Repository files navigation

LBM

A Lattice Boltzmann based code to simulate simple 2-D fluid flow over an obstacle.

Introduction

Lattice Boltzman is a method that is based on kinetic theory which is a fairly new model to simulate fluid flow. Lattice Boltzman Method (LBM) a successor of the Lattice Gas Models (LGM) which tracks the position of particles in a "lattice", particles interact through streaming/collision accounting for continuity and momentum equations to reproduce gas behaviour, LGM's nodes in a lattice have different possible directions where a particle could go after the collision/streaming step. Main drawback of the LGM is that there was statistical noise, meaning that macroscopic quantities like velocity or density fluctuate even for gas at equilibrium. The development of the LBM was to improve upon the LGM to be able to simulate fluids and minimize its deficiencies. An early LGM lattice is shown in Figure 1, developed in 1973.


Figure 1: Lattice with 2 particles colliding [1]

While the LGM tracked each of the particles in a lattice, the LBM in a similar manner tracks the distribution of particles using a mesoscopic scale. Lattice Boltzmann method, as the name says uses the mesoscopic Maxwell-Boltzmann equation to describe fluid dynamics on a macroscale, the Boltzmann distribution equation describes the probability of molecules to have a certain speed. The discretized Lattice Boltzmann equation in velocity, space and time is as follows:




This code was based on the D2Q9 lattice structure with direction and velocities as shown in Figure 2.

More information about LBM will be added once more literature review is done.


Figure 1: Lattice [2]


Figure 1: D2Q9 and its lattice velocities [3]

Advantages of LBM [4]

  • Algorithm is relatively simple.
  • Relatively simpler to paralellize when compared to traditional CFD.
  • Suitable for multi-phase flow.
  • Mesh-free

Disadvantages of LBM [4]

  • Not suitable for high Reynolds Numbers and consequently not good for compressible flow, particles can only move 1 lattice step per unit time.
  • Cannot handle low viscosities.
  • Unproven for high Knudsen numbers.
  • Lack Galilean invariance, i.e. Newton's law do not change depending on the inertial frame.

Algorithm & Code

Algorithm flowchart example

Results


Figure 3: Velocity field at Re=72


Figure 4: Vorticity at Re=72

Future plans to improve the code

  • Parallelize code using CUDA.
  • Set up different initial perturbations.
  • Reduce memory usage by storing pre-collision and post-collision distribution function in a single variable (F). Implementd using the pull algorithm with slight computation time improvement of ~2s, from an average of 33.15s to 31.24s.
  • Further improve memory allocation.
  • Reduce the lack of Galilean invariance through the use of different collision operators, i.e MRT collision operator.
  • Try different obstacles including streamlined shapes (i.e. airfoils).
  • Implement momentum exchange to calculate fluid forces on bodies.
  • Implement moving boundary conditions in obstacles (i.e. spinning cylinder).
  • Simulate other field variables such as heat.

References (Need to be updated)

https://www.researchgate.net/figure/The-head-on-collision-rule-for-the-HPP-model_fig3_242162544

[1] T. Krüger, H. Kusumaatmaja, A. Kuzmin, O. Shardt, G. Silva and E. M. Viggen, The Lattice Boltzmann Method, Springer, 2017.

[2] P. Neumann, H.-J. Bungartz, M. Mehl and T. W. T. Neckel, "A Coupled Approach for Fluid Dynamic Problems Using the PDE Framework Peano," Garching, 2012.

[3] https://www.researchgate.net/figure/Diagram-of-D2Q9-Model_fig1_335459626

[4] D. Elsworth, "The Lattice Boltzmann Method (EGEE520)," State College, 2016.

About

A Lattice Boltzmann based code to simulate von Kármán vortex street.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages