From smooth flow
to a singularity.
The same equations that help us understand air and water raise a surprisingly basic question: can a perfectly smooth flow develop infinite speed in finite time? OpenAI published a mathematical construction addressing that question. This project explores its concentrating flow with a numerical solver.
Watch the current simulationNavier–Stokes is a pervasive model of fluid flow
Navier–Stokes expresses Newton’s laws for a continuous fluid: motion changes as momentum is transported, pressure pushes, and viscosity smooths velocity differences. These equations underpin models of aircraft aerodynamics, weather, and blood flow.
The mathematical challenge is whether that smoothing always prevents a three-dimensional flow from losing its regularity. A singularity marks a limit of the mathematical description; it does not mean real water reaches infinite speed. Background ↗
OpenAI showed it can blow up under special forcing
On September 8, 2026, OpenAI released an analytical proof and a Lean formalization. The published theorem ↗ constructs a three-dimensional, incompressible flow that starts at rest: under a specially constructed external force that stays smooth, its peak speed becomes unbounded as a finite time approaches, while total kinetic energy remains bounded.
This is a specially forced counterexample. It establishes the breakdown alternatives C and D in Clay’s formulation ↗; it does not establish blowup for unforced Navier–Stokes or say that ordinary flows must become singular.
Here we run a simulation, which is not a proof
Here, AMReX / incflo advances velocity on fixed nested grids. We choose a target inspired by the proof and calculate the force needed to make it satisfy the discretized momentum equation. This manufactured solution lets us test whether the solver tracks the target and see how its geometry evolves.
Every run stops before the proposed singular time. A rising peak or a dramatic movie cannot establish infinite speed: grid spacing, timesteps, and the chosen force all affect the result. The useful evidence is how errors and resolved scales change under refinement. Numerical checks ↗
Active solver cells
1,179,648
64³ base · 5 fixed levels · 1024³-equivalent core only
Saved frames from rest
280
Complete · t = 0 to 0.995
Endpoint peak speed
7.416
Model units · full-field diagnostic at t = 0.995
How the fluid moves
Our best completed run: Oliver, from exact rest through t = 0.995. Left to right: x–y slice, x–z slice, isometric 3D view. All 280 saved states are included.
Fixed planes: y = 0 and z = 0. No vector arrows.
Loading the completed velocity movie.
Scroll sideways: x–y → x–z → isometric
Each row shares one playback clock. Slice color scales, 3D surface thresholds, and cameras stay fixed through all saved times; no intermediate states are invented. The isometric panel shows magnitude surfaces, not streamlines. Rendering details →
The force driving it
Applied force in the same order: x–y slice, x–z slice, isometric 3D view. Force uses its own magnitude scale and fixed surface thresholds.
Fixed planes: y = 0 and z = 0. No vector arrows.
Loading the completed forcing movie.
Scroll sideways: x–y → x–z → isometric
The mesh beneath the motion
A 64³ base covers the full periodic box. Four fixed nested cubes refine the core, reaching 1024³-equivalent spacing only inside the innermost cube. The hierarchy stores 1,310,720 cells; 1,179,648 remain active after covered coarse cells are excluded.
Scroll sideways: x–y → isometric → rotatable mesh
Central sections show actual active cell edges; outlines mark the refinement regions. Covered coarse interiors are excluded.
Refinement-region schematic
Scroll sideways to see the refinement levels →