tum-pbs/PhiFlow
A differentiable PDE solving framework for machine learning
What it solves
PhiFlow is a simulation toolkit designed to bridge the gap between physics simulations and machine learning. It allows users to create simulations that are fully differentiable, meaning they can be integrated directly into neural network training loops to optimize physics-based parameters or learn to control physical systems.
How it works
The toolkit is written in Python and integrates tightly with major ML frameworks like PyTorch, Jax, and TensorFlow. By leveraging the automatic differentiation capabilities of these backends, PhiFlow can compute gradients through the simulation process. It provides built-in PDE (Partial Differential Equation) operations, a high-level linear equation solver, and support for various simulation methods including grid-based fluids, particles (SPH, FLIP), and meshes.
Who it’s for
Researchers and developers working on physics-based deep learning, optimization of physical systems, and differentiable physics simulations.
Highlights
- Multi-backend support: The same simulation code can run on NumPy, PyTorch, Jax, or TensorFlow, enabling easy switching between CPU and GPU execution.
- Differentiable Simulations: Fully integrates with ML frameworks to allow end-to-end training of models involving physics.
- Versatile Simulation Types: Supports grid-based fluids, particle simulations, and mesh-based Finite Volume Methods (FVM).
- Interactive Web UI: Includes a web interface for live visualizations and real-time control of simulations or network training.
- Dimension Independent: Simulation code is reusable across different dimensions (e.g., 2D vs 3D) without modification.
Related
- Project
- Project
- Project
- Project
- Project