SIGGRAPH 2017: Data-driven methods and deep learning for fluids

Our recent research papers were just presented in Los Angeles at the ACM SIGGRAPH conference, and ACM has just posted the videos of two of the presentations online. You can view them under the following link (starting at 28:00):

The two papers presented here focus on data-driven fluid simulations and simulation algorithms powered by deep learning. The latter proposes a method to match pre-computed space-time patches of flow data using a convolutional neural network. This network can robustly establish correspondences between new simulations and the pre-computed entries in the repository. In particular, the network learns to take into account the effects of numerical viscosity, which are otherwise extremely difficult to predict. This is a good example of how deep learning techniques can extend and improve traditonal techniques for numerical simulations.

The second method targets the complex behavior of liquid simulations. It employs 5D optial flow solves to robustly register the potentially very different space-time surfaces of liquid simulations. This registration can afterwards be used to smoothly interpolate between different simulations without loosing too much detail. The talk also discusses how this approach can be extended by deep learning: we use a convolutional neural network to generate a second deformation to take into account the full behavior of the liquid space region under consideration. The trained network is fast enough to be executed interactively on a regular mobile phone. Once the space-time surface is deformed with the OF and network deformations, it can be rendered from arbitrary viewpoints very efficiently.

Below you can find the full abstracts of all three papers, and links to the corresponding pages.

Data-Driven Synthesis of Smoke Flows with CNN-based Feature Descriptors

We present a novel deep learning algorithm to synthesize high resolution flow simulations with reusable repositories of space-time flow data. In our work, we employ a descriptor learning approach to encode the similarity between fluid regions with differences in resolution and numerical viscosity. We use convolutional neural networks to generate the descriptors from fluid data such as smoke density and flow velocity. At the same time, we present a deformation limiting patch advection method which allows us to robustly track deformable fluid regions. With the help of this patch advection, we generate stable space-time data sets from detailed fluids for our repositories. We can then use our learned descriptors to quickly localize a suitable data set when running a new simulation. This makes our approach very efficient, and resolution independent. We will demonstrate with several examples that our method yields volumes with very high effective resolutions, and non-dissipative small scale details that naturally integrate into the motions of the underlying flow.

Interpolations of Smoke and Liquid Simulations

We present a novel method to interpolate smoke and liquid simulations in order to perform data-driven fluid simulations. Our approach calculates a dense space-time deformation using grid-based signed-distance functions of the inputs. A key advantage of this implicit Eulerian representation is that it allows us to use powerful techniques from the optical flow area. We employ a five-dimensional optical flow solve. In combination with a projection algorithm, and residual iterations, we achieve a robust matching of the inputs. Once the match is computed, arbitrary in between variants can be created very efficiently. To concatenate multiple long-range deformations, we propose a novel alignment technique. Our approach has numerous advantages, including automatic matches without user input, volumetric deformations that can be applied to details around the surface, and the inherent handling of topology changes. As a result, we can interpolate swirling smoke clouds, and splashing liquid simulations. We can even match and interpolate phenomena with fundamentally different physics: a drop of liquid, and a blob of heavy smoke.

Pre-computed Liquid Spaces with Generative Neural Networks

Liquids exhibit complex non-linear behavior under changing simulation conditions such as user interactions. We propose a method to map this complex behavior over a parameter range onto reduced representation based on space-time deformations. In order to represent the complexity of the full space of inputs, we leverage the power of generative neural networks to learn a reduced representation. We introduce a novel deformation-aware loss function, which enables optimization in the highly non-linear space of multiple deformations. To demonstrate the effectiveness of our approach, we showcase the method with several complex examples in two and four dimensions. Our representation makes it possible to generate implicit surfaces of liquids very efficiently, which makes it possible to display the scene from any angle, and to add secondary effects such as particle systems. We have implemented a mobile application for our full output pipeline to demonstrate that real-time interaction is possible with our approach.

mantaflow v0.11

The new version of mantaflow is online! mantaflow is our open-source framework targeted at fluid simulation research in Computer Graphics. We’re especially working on making mantaflow a convenient platform for fluids and deep learning. The new release contains a first set of tools and examples to get started. We will post more in-depths tutorials here in the coming weeks.

In addition, the new release supports surface tension forces, e.g., for simulating small droplets, and a viscosity solve for thicker materials and physically more accurate simulations. The fast multigrid solver is another highlight. It allows for efficient calculations of large-scale effects.

Here’s an incomplete feature list:

  • multigrid-preconditioned solver
  • Eulerian simulation using MAC Grids, PCG pressure solver and MacCormack advection
  • Flexible particle systems
  • FLIP simulations for liquids
  • Surface mesh tracking
  • Free surface simulations with levelsets, fast marching
  • Wavelet and surface turbulence
  • K-epsilon turbulence modeling and synthesis
  • Maya and Blender export for rendering
  • tensorflow couping via numpy arrays

Btw., mantaflow has been used in numerous publications! Among others:

Fig. 1: A few images of a controlled smoke simulation using the PD-guiding feature of mantaflow.

Generative neural networks and vorticity filaments

We just added two new publications. One of them focuses on robust decompositions of fluid flows into vortex filaments, and it will be presented at SCA 2017 in Los Angeles soon. You can find all detail on the accompanying page, and you can see a preview below.

The other work targets generative neural networks (full details here). In this case the network actually generates a dense space-time deformation field to capture spaces of liquid behavior. We have also created a proof-of-concept Android app (Lukas Prandtl was the main driving force behind this one), which you can download to try it out yourself. The app evaluates the full trained neural network every time you tap to synthesize the corresponding deformation field. This is especially tough in our setting, as the network employs 4D deconvolution layers that need to be evaluated on the mobile device.

SIGGRAPH 2017 papers are up

Our SIGGRAPH 2017 papers are online now. They target covolutional neural networks for detailed smoke, perceptual evaluations, neural network splashes, and robust cutting of deformable objects.

You can e.g. check out the corresponding videos here:


Our new group website is online

The Thuerey group (Professorship for Games Engineering) of TUM Informatics is getting a new website – and obviously, you already found it! Great 🙂

Please be aware that we’re still adding the content of the website, so it will increase over the course of the next weeks.

At this point we’d also like to thank Ryoichi Ando from NII Tokyo for the beautiful image on the front page. It’s from our liquids stream function paper: