A differentiable software suite for accelerated simulation of turbulent flows
This work provides a differentiable CFD tool for the turbulence modeling community, enabling efficient training of neural network closure models within large-eddy simulations.
The paper introduces IncompressibleNavierStokes.jl, an open-source Julia package for solving incompressible Navier-Stokes equations with differentiable solvers, enabling a-posteriori training of neural network closure models. It achieves double-precision DNS at 840^3 resolution on a single GPU and validates against turbulent channel flow data.
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 $840^3$ 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.