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 simulation

Navier–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

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.

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.

x–y slice · z = 0

Active native cell edges in the central x-y slice; covered coarse interiors excluded.

Isometric

Isometric view of three central sections through the active native cells.

Whole mesh · rotate

Scroll sideways: x–y → isometric → rotatable mesh

L0 · Δ = 0.03125 L1 · Δ = 0.015625 L2 · Δ = 0.0078125 L3 · Δ = 0.00390625 L4 · Δ = 0.001953125

Central sections show actual active cell edges; outlines mark the refinement regions. Covered coarse interiors are excluded.

Refinement-region schematic
Five fixed refinement regions centered in the full box: half-widths 1, 0.5, 0.25, 0.125 and 0.0625. Core spacing is 0.001953125 model length units. Region boundaries, not individual cells, are drawn.

Scroll sideways to see the refinement levels →

Fixed refinement regions · not individual cellsSVG ↓