Lattice Boltzmann D2Q9 — Poiseuille Flow

f_i(x+e_i,t+1) = f_i(x,t) + (f_i^eq − f_i)/τ — streaming + BGK collision
D2Q9 Lattice Boltzmann: 9 discrete velocities, BGK collision operator. ν = cs²(τ−½), cs²=1/3. Equilibrium: f_i^eq = w_i ρ [1 + (e_i·u)/cs² + (e_i·u)²/(2cs⁴) − u²/(2cs²)]. Poiseuille flow: parabolic velocity profile u(y) = F(H/2−y)(H/2+y)/(2ν). Bounce-back boundary conditions model no-slip walls. Reynolds number Re = uL/ν. Vorticity ω = ∂u_y/∂x − ∂u_x/∂y highlights vortex shedding behind obstacles.