Demo of a Lattice Boltzmann Fluid Solver - D3Q27 with CM MRT (GTX 980)
Yunus Zenichowski Yunus Zenichowski
1.61K subscribers
496 views
0

 Published On Aug 20, 2022

The goal of this project is to develop an easy-to-use tool for the simulation of fluid dynamics, mainly targeting the aerodynamics of model airplanes.

In the demo video, two very similar fluid simulations, with slightly different visualization schemes, are shown (a jet of fluid colliding with a sphere).
Both using the "central moments multiple relaxation times"-collision operator, as proposed by De Rosis et al. [1].
The CM-MRT collision enables extremely stable simulations, also of high Reynold number flows, at the cost of simulation speed. My current CM-MRT implementation has yet to be optimized, which is responsible for the bad performance of ~180 MLUPS (million lattice updates per second) on a GTX 980. However, the ceiling of what can be achieved is still very far [2].

Many more MLUPS are reached with the already optimized D3Q19 SRT model. Which runs at 1900 MLUPS also on the GTX 980 (256^3 resolution), when storing the DDFs as 16-bit floats while still computing with 32-bit precision. This genius idea was stolen from @ProjectPhysX. The 32 to 16 bit conversion obviously harms the precision, but doubles performance since the D3Q19 SRT model is heavily bound by memory bandwidth.

References:
[1] Alessandro De Rosis, Rongzong Huang and Christophe Coreixas. Universal formulation of central-moments-based lattice Boltzmann method with external forcing for the simulation of multiphysics phenomena. Physics of Fluids 31, 117102 (2019).
[2] Chaoyang Lyu, Wei Li, Mathieu Desbrun and Xiaopei Liu. Fast and versatile fluid-solid coupling for turbulent flow simulation (2021).
[3] Yixin Chen, Wei Li, Rui Fan and Xiaopei Liu. GPU Optimization for High-Quality Kinetic Fluid Simulation. arXiv:2101.11856 (2021).

show more

Share/Embed