Fluid Simulation

In the course of a seminar at university I did some research about fluid simulation. Some of the underlying principles are discussed in a small paper I wrote (see Publications). To understand the principles behind it a little better, I tried to write my own little liquid simulator.

First approach

It is a very primitive 2D simulator that uses a basic voxelized approach. That means a cell either contains fluid or not. This property is defined by so called marker particles that move through the velocity field. Is a particle in a cell, then that cell is marked as fluid.

Currently the conjugate gradient method is used to solve for pressure. This is why the simulation is quite slow even though it is only 2D!

Level Sets

Currently I am working on a newer version that uses level sets to describe the fluid and the solids in the simulation domain. Because this is a new mathematical concept to me, it needs some time to understand and use them. There is also the need for new code pieces like a marching squares algorithm to display the level set in the GUI.

Level Set shown in the GUI of my simplistic fluid simulator

Different Methods

In the field of fluid simulation many different methods exist. Often few of them can be combined to form new approaches. In the future I would like to learn more of them and try to implement them.