Valiant Load Balancing and Traffic Oblivious Routing
Profiling fluid flow past an immersed object with
1. Profiling fluid flow past an
immersed object with CUDA
An Independent Study By
Aritra Kumar Nath
2. Lattice Boltzmann Method
• For simulating fluid flow
• Based on the microscopic kinetic equation for the particle distribution
function.
• Fictive particles propagating and colliding over lattice mesh
• Per node Density & Velocity used to determine macroscopic properties of
fluid (pressure, fluid velocity, viscosity)
• Linear so less computation intensive
• Straightforward parallel implementation
3. Lattice Boltzmann Method
• Simulation domain divided into 2D lattice (D2Q9)
• Each node with packet distribution
• Packet distributions have associated velocity vectors
5. Lattice Boltzmann Method
• Finite differencing used to compute new packet distributions
• Values computed iteratively
• Packet distributions based updated based on values in the previous
time step
• The Lattice Boltzmann equation:
8. Implementation on GPU
• Symmetric velocity vector orientation in every node
• Scope for Parallelism inherent
• All velocity vectors with same direction grouped together for
computation
• Three primary kernels used are for:
– Collision
– Propagation
– Calculating boundary conditions
• NVIDIA GEForce 310M used
9. Velocity Vectors Resolved
Division of the D2Q9 model, according to its velocity directions. (Image
courtesy: GPU-Based Flow Simulation with Complex Boundaries)
12. Studying Flow Profiles of Fluids
• The following simulation parameters are variable:
– Lattice dimensions
– Fluid Viscosity
– Maximum Velocity
• The following values for the microscopic fictive particles are computed:
– Nodal velocity (microscopic fictive particles)
– Density (rho)
• The values obtained will further influence macroscopic fluid properties
13. Studies Results & Observation
• Study 1:
Compare different iteration sequences same simulation parameter values:
Parameter Value Set:
– Simulation Parameter:
– Fluid Viscosity: 0.05
– Maximum Fluid Velocity: 0.01
• Study 2:
Compare the same iteration sequence with different simulation parameter values
without causing turbulence:
Parameter Value Set 1:
-- Fluid Viscosity: 0.8
-- Maximum Fluid Velocity: 0.1
Parameter Value Set 2:
-- Fluid Viscosity: 0.01
-- Maximum Fluid Velocity: 0.1
14. Studies Results & Observation
• Study 3:
Compare the same iteration sequence with different simulation parameter
values random turbulence:
Parameter Value Set:
– Simulation Parameter:
– Fluid Viscosity: 0.05
– Maximum Fluid Velocity: 0.01