Position Based Fluids

I’ve always wanted to write a fluid simulation, and in early 2019 I finally got around to it.

One of the requirements for Doctoral students imposed by the Arenberg Doctoral School is the completion of (at least) 6 ECTS credits worth of both technical and non-technical skills courses.

In light of this requirement, I followed “parallel computing” (B-KUL-H03F9A), which is organized as a part of the MSc in Computer Science. While I did have earlier experience with parallel computing, it seemed a good idea to get some sort of official certification.

Professor Roose has allowed me to fulfill the course requirements by following the lectures and carrying out a practical project (in lieu of the standard, more theoretical, examination). For the project, I chose to implement the ‘Position Based Fluids’ technique presented by M. Macklin. I wrote a small article as a concise presentation of the results, which is linked at the top of the page. In case you’re more visually inclined, there’s also a link to a page with just the videos. The project was carried out in C++, using OpenMP as well as Intel TBB and the Intel Amplifier suite for analysis. It focused on parallelization on multiple cores: I mainly thought about work division, memory/cache behaviour and load balancing.

© 2020. All rights reserved.