Research-oriented differentiable fluid simulation framework
The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:
ΦFlow is a research-oriented, open-source PDE solving toolkit that is fully differentiable. It is written mostly in Python and can use both NumPy, TensorFlow and PyTorch for execution.
Having all functionality of a fluid simulation running in a deep learning framework opens up the possibility of back-propagating gradients through the simulation as well as running the simulation on GPUs.
To install ΦFlow with its web interface, run:
$ pip install phiflow[gui]
Install TensorFlow or PyTorch in addition to ΦFlow to enable machine learning capabilities and GPU execution.
See the detailed installation instructions on how to compile the custom CUDA operators and verify your installation.
If you would like to get right into it and have a look at some code, check out the tutorial notebook on Google Colab. It lets you run fluid simulations with ΦFlow in the browser.
The following introductory demos are also helpful to get started with writing your own app using ΦFlow:
The ΦFlow Web Interface guide introduces the high-level classes and explains how to launch and configure the built-in web interface for displaying simulations and interactive network training.
For I/O and data management, see the data documentation.
For training machine learning models, this document gives an introduction into writing a GUI-enabled application.
The simulation code design documentation provides a deeper look into the object-oriented code design of simulations.
The software architecture documentation shows the building blocks of ΦFlow and the module dependencies.
The Version history lists all major changes since release.
TensorBoard: Live supervision does not work when running a local app that writes to a remote directory.
Resampling / Advection: NumPy interpolation handles the boundaries slightly differently than TensorFlow.
Contributions are welcome! Check out this document for guidelines.
This work is supported by the ERC Starting Grant realFlow (StG-2015-637014) and the Intel Intelligent Systems Lab.