Research & Papers

AeroJAX: JAX-native CFD, differentiable end-to-end. ~560 FPS at 128x128 on CPU [P]

A fully differentiable CFD solver runs 560 FPS on CPU at 128x128...

Deep Dive

AeroJAX is a new open-source CFD framework built entirely in JAX, designed to keep the full solver stack differentiable for integration into optimization and learning pipelines. It currently supports 2D incompressible Navier-Stokes via projection method and LBM (D2Q9) solvers, running at ~560 FPS at 128x128 resolution on CPU. The framework is CPU-first, vectorized, and has no external dependencies, making it lightweight and portable. Key design choices include end-to-end differentiability through velocity, pressure, and vorticity fields, as well as Brinkman-style forcing with smooth masks for geometry handling.

AeroJAX enables applications that are difficult with traditional black-box CFD solvers: inverse design (where geometry maps to flow and gradients propagate back), learning turbulence or residual closures directly inside the solver, using CFD as a differentiable data generator for ML, and hybrid physics-and-learned models without breaking gradient flow. The framework includes hooks for neural operators and learned corrections inside the solver loop. This approach aims to keep the physics structure intact while making the entire pipeline gradient-friendly for modern AI workflows.

Key Points
  • Fully JAX-native CFD with no external dependencies, CPU-first and vectorized
  • Runs ~560 FPS at 128x128 resolution on CPU with differentiable Navier-Stokes and LBM solvers
  • Enables inverse design, learned closures, and hybrid physics-ML models with full gradient flow

Why It Matters

AeroJAX bridges CFD and ML by making physics solvers differentiable, unlocking gradient-based inverse design and learned turbulence models.