340 likes | 432 Views
Introduction: Lattice Boltzmann Method for Non-fluid Applications. Ye Zhao. Lattice Boltzmann Method. Microscopic numerical solver initially desinged for fluid dynamics Simple, explicit and parallel scheme Parallel scheme for hardware acceleration Graphics hardware: GPU, GPU cluster.
E N D
Introduction:Lattice Boltzmann Method for Non-fluid Applications Ye Zhao
Lattice Boltzmann Method • Microscopic numerical solver initially desinged for fluid dynamics • Simple, explicit and parallel scheme • Parallel scheme for hardware acceleration • Graphics hardware: GPU, GPU cluster
LBM in Computer Graphics • Natural phenomena with fluids • Fluid Flows • Smoke and fire • Ink dispersion • Snowing • Liquid mixture (Wang et al. 2006) • More … • Non-fluids • Lighting (Geist et al. 2004) • Image Processing
Navier-Stokes Equation • Model the macroscopic behavior of fluid
Fictitious particles moving along lattice links Microscopic particles inside fluids Microscopic Dynamics
Lattice Boltzmann Equation • Discretize Boltzmann equation on discrete moving directions i(1988) • f : probability distribution function of particle populations on each link • Recover the Navier-Stokes equation • At the limit of low Mach number fluids
Collision • BGK model (1954) for equilibrium • Streaming along a link to a neighbor Single-relaxation-time LBM
Macroscopic Properties • Density, velocity and viscosity
Graphics Hardware • Graphics processing units(GPU) • Low price • Inherently parallel • Programmable • Booming growth rate on speed • 3.0 GHz dual-core Pentium4: 24.6 GFLOPs • NVIDIA GeForce FX 7800: 165 GFLOPs • Ideal general-purpose applications • Large data sets • High parallelism • Minimal dependencies between data elements
Graphics: Computation: Fragments Fragments Texture Images Data Fragment Processing Numerical Calculation Fragment w/ Colors Results Computation on GPU
LBM Acceleration on GPU • Computation on cluster • Large-scale simulation • Domain decomposition • Simple addition, subtraction and multiplication
LBM for Non-fluids Applications • Actually LBM is a special numerical solver for partial differential equations (PDE) • PDEs are widely used in graphics and visualization applications • Image processing • Surface processing • Volume graphics and visualization • Computer vision …
Use LBM in these fields? • Pros: • LBM is simple to implement • both CPU and GPU • Flexible and easy to modify its scheme • Computational speed very fast with hardware acceleration • Cons: • Difficult understanding at the beginning • Memory usage • Worth a try!
Research Topics • How to modify LBM scheme in order to theoretically recover the preferred PDEs • How to improve hardware acceleration performance • New-generation GPU architecture • Memory use optimization • How to incorporate with particular applications
BGK model (1954) for equilibrium Modify LBM Equilibrium Equation for Diffusion • For fluid dynamics • For diffusion only
Recover Diffusion Equation • Chapman-Enskog expansion, ε represents a small expansion parameter (Knudsen number) • Use this and Taylor expansion on LBM equation
Recover Diffusion Equation (Continue) • We get expanded equation : • Constraints • Summation on expanded equation over i
Recover Diffusion Equation (Continue) • Diffusion tensor defined by lattice structure • For a particular lattice structure we obtain • For D3Q19
Applications • Volume Smoothing
Poisson Image Editing • Poisson Equation with Dirichlet boundary • is a computed guidance field computed from origin image
Performance • GPU NVidia 8800GTX with 768MB memory
More Applications • Apply to others beyond diffusion • Use level set equation as a pivot example • It has many application fields • Combine several different types of PDEs
Level Set • Propagation interface as zero level set • d is distance to interface • Surface motion F = Signed speed in direction of normal
F Speed Function • Curvature flow diffusion on distance field • Advected propagation by a external field • Constant speed expansion
LBM for Level Set • Use distance field as the computational primitive in LBM • Play the role as density in fluids • Design appropriate equlibrium function for PDEs