Our fully differentiable physics-solving framework is online now at https://github.com/tum-pbs/PhiFlow. Having all functionality of, e.g., 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.
PhiFlow (among others) supports the following things:
- 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.