Smoothed-Particle Hydrodynamics on GPU, A Fluid Simulation Tool

Fluid simulation is a very important technique in computer graphics and animation. Realistic fluids in movies, games, and other media will create a more immersive and real experience for the users. While fluid phenomenon can be found in everyday life, simulating fluid can be extremely difficult due to the complexity involved in correctly simulating behaviors such as convection, diffusion, turbulence, and surface tension.

While grid-based approach to fluid simulation offers an acceptable solution to fluid simulation, it has many short-comings, including being computationally intensive, as well as failing to realistically reproduce certain effects such as splashing and spraying.

Smoothed-Particle Hydrodynamics (SPH) is a particle-based computational method used for simulating fluid flows, and its mesh-free and highly adaptive nature makes SPH a very attractive approach to fluid simulation. Also, the rise in performance of modern GPU means simulating fluid in real-time using SPH is becoming increasingly attractive as a solution for creating realistic fluid. This project's goal was to implement SPH fluid simulation on GPU, and was developed in C++, OpenGL (rendering), and OpenCL (GPU integration).

Features Implemented

Particle view.
Isosurface view.