ΦFlow is a research-oriented, open-source fluid simulation toolkit. It is written mostly in Python and can use both NumPy and TensorFlow for execution.

Having all functionality of a fluid simulation running in TensorFlow opens up the possibility of back-propagating gradients through the simulation as well as running the simulation on GPUs.


  • Support for a variety of differentiable simulation types, from Burgers over Navier-Stokes to the Schrödinger equation.
  • Tight integration with TensorFlow allowing for straightforward network training with fully differentiable simulations that run on the GPU.
  • Object-oriented architecture enabling concise and expressive code, designed for ease of use and extensibility.
  • Reusable simulation code, independent of backend and dimensionality, i.e. the exact same code can run a 2D fluid sim using NumPy and a 3D fluid sim on the GPU using TensorFlow.
  • Flexible, easy-to-use web interface featuring live visualizations and interactive controls that can affect simulations or network training on the fly.


The following commands will get you ΦFlow + browser-GUI + NumPy execution:

$ pip install phiflow[gui]