mph, Lattice-Boltzmann

Image on the left is © SIGGRAPH 2016, by Wang et al., and the image on bottom right is © Computational Fluid Dynamics Laboratory, Purdue University.

Particle systems and fluid mechanics are part of modern graphic engines, such as for instance SideFX’s Houdini. Not confined to engineering purposes, also several games implement particle and fluid mechanics, and players are able to interact with such entities advancing the gaming experience.

The mph project aims at simulating particles and fluids with the Lattice-Boltzmann Method. This approach to fluid mechanics is simple and yet able to capture various aspects of such a complicated dynamics. As particles move from one location to the other, it is possible to simulate the interaction of structures, or mixing of different fluids.

As one will easily see from commercial and open source software tools, fluid mechanics requires a lot of CPU-hours, especially with solid-fluid interactions. We are refactoring and renewing our current code employing smart data structures that are aware of the underlying hardware, whether employing CPUs or GPUs for accelerating the solution process, and optimizing memory transfers and allocations.