Skip to content

Research

One idea at a time. Each project below groups everything that came out of it — the paper, the talks, the code, and (for recent work) an interactive explainer where you can turn the knobs yourself. The common thread: treat the grid, the filter, and the numerical scheme as part of the physics, not an afterthought.

What symmetry buys a learned closure
What symmetry buys a learned closure

Building the symmetries of the Navier–Stokes equations into a neural turbulence closure is standard advice — and rarely tested. We compared three architectures, from unconstrained to exactly equivariant, and found they all saturate at the same accuracy floor: the optimal one-point closure, measurable directly from data. The constraints buy the trip to that floor with 25× fewer parameters, and a filter-scale Reynolds number input matters more for generalization than the architecture itself.

1 paper · 2 talks · 1 interactive explainer

The exact unresolved stress
The exact unresolved stress

A finite-volume discretization is exactly a filter, so the stress a coarse simulation leaves unresolved can be written down exactly. The result looks different from the classical subgrid stress that sixty years of models aim at: it knows the numerical scheme, it is not symmetric, and it is not local. Fit a model to this target and the a-posteriori error vanishes where classical targets drift.

1 paper · 2 talks · 1 interactive explainer

Your time integrator is a filter
Your time integrator is a filter

The discretize-first identity extends to time: a forward-Euler step is exactly the derivative of a time-filtered field. At practical CFL numbers the time-integration error is the largest single term in the coarse-simulation residual — larger than the subgrid stress everyone models — and one extra closure term, proportional to the time step, accounts for it.

1 paper · 1 interactive explainer

PhD thesis: discrete closure models
PhD thesis: discrete closure models

Four years of the “discretize first, filter next” program in one document: treat the grid, the filter, and the numerical scheme as part of the physics before any closure modeling takes place. Covers divergence-consistent filters, exact unresolved-stress expressions, symmetry-preserving architectures, and the differentiable software that runs it all.

1 paper · 2 talks

A differentiable fluid solver in Julia
A differentiable fluid solver in Julia

IncompressibleNavierStokes.jl solves the incompressible Navier–Stokes equations with hardware-agnostic kernels compiled from a single Julia source, and every discrete operator has a hand-written adjoint — so a neural closure model can be trained through the solver while embedded in a running LES. Supports double-precision DNS up to 840³ on a single GPU.

1 paper · 1 talk · 1 interactive explainer

Divergence-consistent closure models
Divergence-consistent closure models

Filtering the discrete equations instead of the continuous ones removes the commutator errors that plague classical LES theory. A face-averaging filter keeps the coarse velocity field exactly divergence-free, avoids pressure-related instabilities, and makes cheap a-priori training sufficient for stable neural LES.

1 paper · 1 talk

Discretize first, filter next: the beginning
Discretize first, filter next: the beginning

The first outing of the discretize-first idea, on 1D linear convection with non-uniform filters: learn the discretely filtered operator directly, comparing intrusive and non-intrusive ways of doing so. Derivative fitting gave the best trade-off between accuracy and practicality.

1 paper · 1 talk

Last updated:

© 2026 Syver Døving Agdestein ·rss·source