Real time fluid simulation and control

PR, BA, DA

Károly Zsolnai

Content:

Description

Computational fluid dynamics enjoys a wide variety of use in a number of engineering and physics problems. With the use of fluid simulation software, it is possible to:

- understand the possible outcomes better when a catastrophe, such as a flood, the tsunami, or a volcanic eruption happens,
- visualize heat distribution in a newly designed car engine,
- validate airplane design by performing wind tunnel tests with a computer software,
- simulate gas or water flow in pumps or other equipment,
- visualize and plan optimum air circulation in buildings,
- calculate the drag for accelerating vehicles of various shapes.
- help the medical examination of humans by detecting probable spots in the aorta for aneurysms, little bulges in the wall of blood vessels, which, under extremal pressure conditions, may explode, causing oftentimes lethal implications.
(examples for most of the above applications can be found in this thesis)

Fluid simulation programs are also widely used in the film industry (also, this), and nowadays it is even possible to simulate and render fluid movement on consumer home computers.

The fluid control problem means that we have a piece a fluid and a shape which we would like the fluid to flow into. The solution of the problem is an external or internal force field that would sooner or later guide the fluid into this shape. This and this is how it looks like. Previous methods for this problem take 5-7 minutes of computation time per frame.

We are currently working on an algorithm that is able to solve this problem in real time.

If you would like to:
- implement state-of-the-art algorithms which were never been done before,
- work with a clear and understandable starting implementation,
- make a difference and do something a lot of people will enjoy and use,

then this project is for you.

Tasks

We already have achieved significant results in the solution of the problem. A student that is interested in the project could join the research work by doing the following:
- extending a 2D OpenCL fluid simulation program to 3D,
- implementing new research ideas by extending the existing algorithm implementation,
- implementing the final algorithm in the award-winning open source modeling software, Blender.

Requirements

An ideal candidate should:
- know basics of calculus - i.e. should not get afraid of integrals and differential equations :)
- be proficient in the C++ programming language,
- be proficient in GPU programming (in mostly OpenCL),
- watch the videos above :)