scholarly journals An Efficient, Interface-Preserving Level Set Redistancing Algorithm and Its Application to Interfacial Incompressible Fluid Flow

1999 ◽  
Vol 20 (4) ◽  
pp. 1165-1191 ◽  
Author(s):  
Mark Sussman ◽  
Emad Fatemi
Author(s):  
Jesse Kelly

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.


Sign in / Sign up

Export Citation Format

Share Document