Progress Report 4/07/03


I have implemented a simple fluid solver using finite differences. The approach is based on that presented in [Greibel et al. 1998]. The implementation is fairly straight forward but does have a few disadvantages as compared to other fluid solvers. Finite differencing is prone to instability and thus requires a small time-step. The pressure field is calculated with successive over relaxation (SOR), an iterative method that can take a long time to converge. I would like to try other techniques to improve the efficiency of the computation which would allow for larger grids. I would also like to utilize some of the methods present in [Stam 1999] so that a larger time step may be used.

This screen shot shows an experiment known as the driven cavity. The top wall is moving at 1 unit/s while the other walls are fixed. The moving wall induces a swirling motion in the fluid. To visualize the flow I can display the pressure and velocity magnitude as a scalar field in grayscale and the velocity as a vector field. I need to add the advection of massless particles to get a more "animated" view of the fluid.

I have decided to modify my goals a little bit. Tracking of the free surface is quite complicated. For this reason I am not going to worry about that unless I have time at the end. My current agenda is the following:

The first results that I have obtained with the fluid solver are exciting and I am looking forward to introducing more advanced features to the simulation.


Griebel, M., Dornseifer, T., and Neunhoeffer, T. 1998. Numerical Simulation in Fluid Dynamics: A Practical Introduction. SIAM Monographs on Mathematical Modeling and Computation. SIAM.

Stam, J. Stable fluids. 1999. In Proceedings of SIGGRAPH 99, 121-128.

Tome, M. F.  and McKee, S.  1994. GENSMAC: A computational marker-and-cell method for free surface flows in general
domains. Journal of Computational Physics, 171-186.