A differentiable software suite for accelerated simulation of turbulent flows
Syver D{\o}ving Agdestein, Benjamin Sanderse

TL;DR
This paper introduces IncompressibleNavierStokes.jl, a Julia package for efficient, differentiable simulation of turbulent flows, enabling neural network training within large-eddy simulations at high resolutions.
Contribution
It presents a novel differentiable, hardware-agnostic solver with optimized memory usage, supporting neural network closure models in turbulence simulations.
Findings
Validated turbulent channel flow results against reference data.
Achieved high-resolution simulations up to 840^3 on a single GPU.
Demonstrated efficient reverse-mode automatic differentiation for neural network training.
Abstract
We present IncompressibleNavierStokes.jl, an open-source Julia package for solving the incompressible Navier--Stokes equations on staggered Cartesian grids. The package features matrix-free, hardware-agnostic kernels that are compiled from a single source for multi-threaded CPU or GPU execution, and hand-written adjoint kernels for all discrete operators, enabling efficient reverse-mode automatic differentiation through the entire solver. This differentiability allows neural network closure models to be trained a-posteriori while embedded in a large-eddy simulation. Memory optimizations permit double-precision direct numerical simulations at resolutions up to on a single GPU. The software design, numerical methods, hardware performance, and integration of neural network closure models are described, and results for turbulent channel flow are validated against reference data.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
