This research introduces PICT, a fully differentiable, GPU-accelerated fluid solver built in PyTorch that enables efficient simulation-coupled deep learning for modeling incompressible fluid flows, especially turbulent ones, with high accuracy and reduced computational cost.
Fluid dynamics is tough. Simulating fluids accurately is like solving a massive 3D puzzle where every piece is constantly moving. Now imagine doing that faster, with less computational power, and even using AI to improve the flow models themselves. Sounds like sci-fi?
Well, welcome to the world of PICT — a groundbreaking differentiable fluid solver built in PyTorch, GPU-accelerated, and purpose-made for simulation-coupled learning tasks!
In this article, we’ll explore how this powerful solver is changing the way engineers and scientists model complex flows — with exciting implications for aerospace, climate science, robotics, and beyond!
PICT stands for Pressure Implicit with Splitting of Operators in Custom Tensorflow (okay, actually just "PICT", but it's based on the well-known PISO algorithm). It’s designed to solve incompressible fluid flows — the kind you find in air and water simulations — and does so while allowing backpropagation through the simulation.
That’s right. This means machine learning models can now be directly trained using physical simulation results.
And it’s all implemented in PyTorch with GPU acceleration, making it fast and easy to integrate with modern deep learning workflows.
In machine learning, gradients are everything. They help models learn what to do better over time.
Now imagine you’re trying to train a neural network to correct an inaccurate fluid simulation. Normally, this would be a nightmare because traditional solvers are not differentiable — they’re like black boxes.
But with PICT, you can calculate gradients through the solver itself — enabling:
In other words, the solver becomes part of the neural network — making physics and AI best friends.
Let’s break down the magic under the hood:
At the heart of PICT is the classic PISO algorithm, which separates pressure and velocity updates in a smart way. It uses:
These steps are adapted for multi-block grids (more on that below), and discretized using finite volume methods.
PICT uses multi-block structured grids instead of messy unstructured meshes. This gives it:
It’s like giving your fluid simulation an organized city layout instead of chaotic backroads.
PICT is meticulously coded so every part of the solver is differentiable, including:
This allows full backpropagation, enabling the training of ML models directly through the simulation.
PICT isn’t just fancy theory. It was tested on:
A standard test in fluid mechanics. PICT showed high accuracy and strong convergence, even at coarse resolutions.
PICT successfully simulated a fully developed turbulent channel, matching classic benchmark results and computing accurate turbulence statistics like:
And all of this — at lower resolutions with less compute.
This is where things get really exciting. Using PICT, the researchers trained neural networks to correct bad simulations and match high-resolution results.
A classic 2D benchmark where flow forms behind an obstacle (like air behind a building).
A more complex 2D flow with separation and reattachment.
This was the toughest test. In full 3D, the PICT-powered model learned an SGS (sub-grid scale) correction, and:
Here’s why PICT matters:
| Feature | Traditional Solvers | PICT |
|---|---|---|
| Differentiable | No | Yes |
| GPU Accelerated | Usually not | Yes |
| Integrates with ML | Difficult | Built-in |
| Open Source | Some | Yes |
| Supports Grid Refinement | Sometimes | Multi-blocks |
PICT brings fluid solvers into the deep learning era, enabling:
The future looks very promising. Some possible applications include:
Simulations that combine physics + AI can accelerate weather forecasts or climate models dramatically.
Robots that move through fluids — like underwater drones — can train smarter policies using PICT-style differentiable simulations.
Better turbulence models can lead to more efficient planes, drones, and cars. PICT can help design them faster!
PICT is more than just a fluid solver. It’s a bridge between physics and deep learning, allowing engineers to build smarter models that learn from — and respect — the laws of nature.
With GPU speed, PyTorch flexibility, and full differentiability, it’s setting the stage for a new generation of simulation-powered AI.
Fluid Dynamics - The science of how liquids and gases move — from water in pipes to air over airplane wings!
Turbulence - A chaotic, swirling kind of fluid motion that's super hard to predict and simulate — think stormy skies or water boiling in a pot! 🌪️ - More about this concept in the article "Optimizing Water Pump Efficiency: The Power of Adjustable Guide Vanes".
Differentiable Simulation - A simulation that lets AI learn from it by calculating how changes in input affect the output — like giving the simulation a "sense" of cause and effect!
Backpropagation - A method used in machine learning where errors are traced backward to update a model — it’s how neural networks learn from mistakes!
GPU-Accelerated - Using powerful graphics processors (GPUs) to run heavy computations faster than regular CPUs — crucial for simulations and AI! - More about this concept in the article "Revolutionizing Big Data Analytics: How EGA’s GPU Magic Speeds Up Groupby Aggregation by 29x".
PISO Algorithm (Pressure Implicit with Splitting of Operators) - A popular method to simulate incompressible fluid flow — it smartly separates pressure and velocity calculations to keep things stable.
Finite Volume Method (FVM) - A numerical technique to break down a flow area into small volumes and solve equations in each — kind of like solving a big puzzle piece by piece.
Subgrid-Scale (SGS) Modeling - A trick to represent the small turbulent swirls too tiny for your simulation to capture — kind of like estimating the tiny details without fully zooming in!
Neural Network - A computer model inspired by the brain, used to learn patterns and make predictions — the engine behind AI learning! - More about this concept in the article "Smarter Starts for Stronger Grids | Boosting Newton-Raphson with AI and Analytics".
Gradient - A measure of how much something changes — used in AI to adjust models and improve accuracy step-by-step. - More about this concept in the article "Unlocking the Black Box: How Explainable AI (XAI) is Transforming Malware Detection".
Loss Function - A way to measure how far off your simulation or model is from the truth — lower loss = better model! - More about this concept in the article "Smart Drones for Tiny Creatures: How AI is Revolutionizing Insect Monitoring".
Multi-Block Grid - A smart way to divide complex shapes into manageable blocks for simulation — think Lego bricks for fluid modeling!
Reynolds Number (Re) - A number that tells you if a flow is smooth or turbulent — low Re = smooth, high Re = chaotic!
Aleksandra Franz, Hao Wei, Luca Guastoni, Nils Thuerey. PICT -- A Differentiable, GPU-Accelerated Multi-Block PISO Solver for Simulation-Coupled Learning Tasks in Fluid Dynamics. https://doi.org/10.48550/arXiv.2505.16992