By redesigning how fluids are simulated, KAUST researchers have demonstrated a more than tenfold speed increase on the previous state of the art for slow-flowing viscous liquids.
Modeling the behavior of liquids is important for a wide range of applications, from industrial processes and medical devices to computer graphics and visual simulations.
However, despite many years of development and known physics dating back over 100 years, the ability to accurately simulate liquid flow remains one of the most computationally challenging aspects of creating digital replicas of the real world.
This is because the flow and behavior of liquids is determined by both the pressure distribution through the liquid and, in the case of thick viscous liquids, the pressure-dependent internal resistance to that flow. Precisely calculating these complex and time-varying distributions is very computationally intensive, and so many optimization schemes have been developed to speed up this calculation process at the expense of accuracy.
Now, Han Shao, Libo Huang and Dominik Michels have made a significant breakthrough in computational speed for viscous liquids by combining efficient mathematics with the low-level parallel computational capabilities of modern computer processors.
“The simulation of fluid dynamics has been an evergreen topic in computer graphics research for many years, and the existing methods still have much potential for performance improvement,” says Shao. “In this research, we propose the Unsmoothed Aggregation Algebraic Multigrid method as a sophisticated multigrid framework that fully utilizes modern CPU features and introduces new numerical methods.”
The research team started with the idea that more efficient mathematical methods could be used for the fundamental matrix-vector calculations needed to compute the pressure distribution through the liquid, as well as simplifying the calculation of trivial values at the fluid boundary.
Essentially, the researchers were able to show that when many values in the matrices are the same, as is the case in the bulk of a viscous liquid, a single calculation can be used across many elements allowing many calculations to be skipped.
The team then harnessed the synergy of combining their efficient matrix-vector calculation code with the single instruction multiple data (SIMD) capability of modern CPUs, which allows the same operation to be applied to many data inputs at the same time. This enabled them to construct a modeling approach that could simulate viscous fluids up to 15 times faster than the current state of the art (the Houdini physics engine).
“Our framework can be used immediately by industrial users for faster simulation, using the code available on our project website,” Shao says.