Abstract

Computational fluid dynamics has seen a surge of popularity as a tool for visual effects animators over the past decade since Stam’s seminal Stable Fluids paper [1]. Complex fluid dynamics simulations can often be prohibitive to run due to the time it takes to perform all of the necessary computations. This project proposes an accelerated two-phase incompressible fluid flow solver implemented on programmable graphics hardware. Modern graphics-processing units (GPUs) are highly parallel computing devices, and in problems with a large potential for parallel computation the GPU may vastly out-perform the CPU. This project will use the potential parallelism in the solution of the Navier-Stokes equations in writing a GPU-accelerated flow solver. NVIDIA’s Compute-Unified-Device-Architecture (CUDA) language will be used to program the parallel portions of the solver. CUDA is a C-like language introduced by the NVIDIA Corporation with the goal of simplifying general-purpose computing on the GPU. CUDA takes advantage of data-parallelism by executing the same or near-same code on different data streams simultaneously, so the algorithms used in the flow solver will be designed to be highly data-parallel. Most finite difference-based fluid solvers for computer graphics applications have used the traditional staggered marker-and-cell (MAC) grid, introduced by Harlow and Welsh [2]. The proposed approach improves upon the programmability of solvers such as these by using a non-staggered (collocated) grid. An efficient technique is implemented to smooth the pressure oscillations that often result from the use of a collocated grid in the simulation of incompressible flows. To be appropriate for visual effects use, a fluid solver must have some means of tracking fluid interfaces in order to have a renderable fluid surface. This project uses the level-set method [3] for interface tracking. The level set is treated as a scalar property, and so its propagation in time is computed using the same transport algorithm used in the main fluid flow solver.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call