An extensible framework for fluid simulation

mantaflow is an open-source framework targeted at fluid simulation research in Computer Graphics and Machine Learning.

Its parallelized C++ solver core, python scene definition interface and plugin system allow for quickly prototyping and testing new algorithms. A wide range of Navier-Stokes solver variants are included. It's very versatile, and allows coupling and import/export with deep learning frameworks (e.g., tensorflow via numpy) or standalone compilation as matlab plugin. Mantaflow also serves as the simulation engine in Blender. Download the latest version here.





Here's a preview of a guided tornado simulation created with mantaflow.



What's new?

Version 0.13 featuring:

The main update for this version are extensions to integrate mantaflow into Blender

Just in case you haven't seeen ... mantaflow is part of blender now, please check it out!

In addition to a variety of bugfixes, the new version also has improved OpenVDB support

Version 0.12 adds:

Improved surface creation for liquids (see improvedParticleLevelset in flip03)

A more complex res-net neural network example as a starting point for Navier-Stokes related learning problems

Mesh loader and moving obstacle example scenes (meshload.py and movingObstacle.py)

OpenVDB export (still a bit experimental, though)

Preparation for Blender 2.8 mantaflow integration

Plus a nice collection of smaller bug fixes and cleanup ...

Version 0.11 introduces:

Coupling with the machine learning framework tensorflow, including a few examples of coupling mantaflow with neural networks (in the "tensorflow" directory)

Closely related: numpy arrays are now a native datatype for mantaflow kernels and plugins (enable with -DNUMPY=1 in cmake)

in cmake) Support for surface tension simulations (look for the surfTens option in the pressure solver)

option in the pressure solver) A simple viscosity solve for more physical scene setups (e.g., check out the lid-driven-cavity scene in scenes/lidDrivenCavity.py )

) Plus many smaller fixes, as usual,...

Version 0.10 introduces:

The online discussion forum is finally back...

a new, very fast multigrid-preconditioned solver (thanks to Florian)

flow guiding with convex optimization (thanks to Tiffany and Marie-Lena)

support for 4d grids and vectors

long long int type, for huge grids and particle systems

additional display modes (projection, shaded projection)

The full release notes are here.

Features

The framework can be used with or without GUI on Linux, MacOS and Windows. Here is an incomplete list of features implemented so far:

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

About mantaflow

mantaflow mantaflow is currently being actively developed and maintained at the Thuerey group of the Technical University of Munich (TUM). Development started in 2009 at the ETH Computer Graphics Laboratory. It since then mantaflow was used as a basis for numerous publications, such as:

We hope you find it useful for your research, too. If you decide to use it, let us know your story at

mail mantaflow.com

The authors,

Tobias Pfaff and Nils Thuerey

Last update: Aug 2018