Lattice Boltzmann Method (LBM) for emergent fluid dynamics.
Implements D2Q9 (2D) and D3Q19 (3D) lattice Boltzmann models with BGK collision operator. At macroscopic scales, LBM recovers incompressible Navier-Stokes equations.
Example
use LatticeBoltzmann2D;
use Vec3;
// Lid-driven cavity flow
let mut lbm = new; // 64x64 grid, nu=0.1
lbm.initialize_uniform;
// Set boundary conditions
for x in 0..64
// Simulate
for _ in 0..1000
let u = lbm.velocity;
println!;