Home / Blogs / Machine Learning for CFD

Can ML Discover a Better Turbulence Model? A New Fix to Spalart-Allmaras for Separated Flows

Share 𝕏 in
Can ML Discover a Better Turbulence Model? A New Fix to Spalart-Allmaras for Separated Flows

A review of Bataillie, Casanova & Volpiani, “Improving the Spalart-Allmaras turbulence model for separated flows using field inversion and symbolic regression,” Phys. Rev. Fluids 11, 074604 (2026) — and why the hard part was never finding a correction, it was finding one that knows when to switch itself off.


There’s a specific kind of failure every RANS practitioner has watched happen at least once. You take a model that’s been trustworthy for thirty years — Spalart-Allmaras, say — and you throw it at a flow with real separation: a bump, a hump, a step. The attached boundary layer upstream looks fine. Then the flow lifts off the surface, and the model’s eddy viscosity does the wrong thing in exactly the region you cared about most. Not catastrophically wrong. Quietly, systematically wrong — enough to shift the reattachment point, flatten the recirculation bubble, and hand your drag or lift number a bias you have to correct for by hand.

The Spalart-Allmaras (SA) model was never built for this. It was calibrated on free shear flows and attached boundary layers, and it does that job about as well as a one-equation model can. Separation was always going to expose the seams.

A paper just out of ONERA — Paul Bataillie, Maxime Casanova, and Pedro Stefanin Volpiani, published in Physical Review Fluids — goes after those seams directly. It isn’t a new turbulence model. It’s a correction to SA’s production term, discovered from data and written down as an equation short enough to fit in a solver’s source code. What I want to dig into isn’t just the accuracy numbers — it’s the design choice that makes this correction different from most of what’s come before it: the deliberate inclusion of a case where SA is already right, specifically so the correction learns when to leave the model alone.

The closure problem, briefly

If you’ve read anything else on this blog you know the shape of this argument, so I’ll keep it short. SA solves a single transport equation for a working variable that gets converted into eddy viscosity. Its production term — the piece that generates turbulence — is built on the local vorticity magnitude, an assumption that’s reasonable near a wall in an attached boundary layer and increasingly wrong once the flow separates, curves back on itself, and starts behaving like a free shear layer instead of a boundary layer. Data assimilation lets you ask the inverse question directly: given reference data for a separated flow, what spatially varying correction to the production term would make SA match it? Do that across enough flows, and you have a field of “ground truth” corrections. The question that’s occupied this corner of the field for the better part of a decade is what to do with that field once you have it.

Two ways this has been tried before

The earlier wave of answers used neural networks: map local flow features to the correction field, embed the network in the solver, done. It works, but it inherits the two problems that keep showing up whenever a black box gets stitched into a PDE solver — you can’t read what it learned, and it tends to overfit the training geometry in ways you only discover when you deploy it somewhere new.

The more recent wave — and the one this paper belongs to — replaces the network with symbolic regression: instead of fitting weights, you search the space of algebraic expressions for a short formula that reproduces the assimilated correction field. Wu and Zhang did this for the SST model’s production term in 2023, and I wrote about the broader trend a couple of months ago. The appeal is direct. A symbolic correction is something you can look at, check the units on, and hand to a colleague who will actually be able to say whether it makes physical sense.

Bataillie, Casanova, and Volpiani apply that same playbook to SA — but the training set is where this paper earns its keep.

The training set is the actual contribution

Three separated-flow cases go into the assimilation: a converging-diverging channel, the bump H42, and the NASA wall-mounted hump. Standard choices — all three are staples of the turbulence-model-benchmarking community precisely because they isolate separation, reattachment, and recovery without the added complexity of a full 3D geometry.

The detail worth sitting on is the fourth case: a flat plate, where SA is already accurate. It’s included specifically as a constraint on the symbolic search, so the discovered correction is pushed toward a low value in equilibrium, attached flow while it’s still free to be large where the assimilated data says it needs to be.

This matters because it’s a direct answer to the failure mode that’s dogged every FIML correction I’ve written about on this blog: a model that improves separated flows by quietly breaking the attached ones it never saw in training. A correction with no “off switch” is a correction you can’t ship into a general-purpose solver — you’d be trading one systematic bias for another, just relocated to a different flow regime. Building the null case into the regression, rather than hoping the symbolic search finds sparsity on its own, is the more disciplined way to handle it, and it’s the part of this paper I’d point to first if someone asked what’s actually new here.

Testing the generalisation claim honestly

The real test of any of these corrections isn’t how well it fits the cases it was trained on — a large enough neural network will always ace that exam. It’s what happens on flows the regression never saw. Here the authors are reasonably thorough: bump H38, a square cylinder, and the periodic hill, spanning a range of Reynolds numbers and separation mechanisms distinct from the training set, are held out entirely, and the symbolic correction is reported to transfer to all three.

Where it gets more interesting — and where I’d want to read the full paper closely rather than lean on the abstract — is the step up to three dimensions. The FAITH hill and the Ahmed body are genuinely different beasts from the 2D training cases: three-dimensional separation, corner effects, wake dynamics that a 2D-trained correction has no mechanism to know about. The authors report improvements on some configurations and open limitations on others. That’s the honest outcome, and I’d trust the paper less if it claimed otherwise. A correction discovered entirely from 2D separated flows extending cleanly to the fully three-dimensional wake behind an Ahmed body would be a bigger claim than the physics obviously supports; a partial, case-dependent win is exactly what I’d predict going in.

Where I think the real ceiling sits

The same critique I’d level at any FIML-SR correction applies here, and it isn’t a knock on the execution — it’s a structural point about the method. A symbolic correction to the production term is still operating inside the one-equation eddy-viscosity framework. It can fix how much eddy viscosity SA produces in a separated region; it cannot give the model access to physics the underlying transport equation was never built to represent — genuine Reynolds-stress anisotropy, history effects in a shear layer that hasn’t caught up to the local strain, the kind of non-equilibrium behaviour that a one-equation model is structurally blind to no matter how well-calibrated its production term becomes.

That’s precisely why the 3D cases are the most informative result in the paper, limitations and all. If the corrected model does well on FAITH hill and less well on the Ahmed body (or vice versa — I’d want the numbers to know), the pattern in where it degrades will say more about the limits of a production-term correction than any single accuracy metric would. My guess, based on nothing more than how these one-equation corrections have behaved elsewhere, is that the residual error will cluster wherever the flow physics is furthest from what a scalar production correction can encode — strongly three-dimensional recirculation and the near-wake, rather than the attached regions the flat-plate constraint was already built to protect.

The thing worth keeping

Strip away the specific expression and this paper leaves behind the same principle I keep coming back to on this blog: a correction is only as trustworthy as its behaviour on the case where no correction was needed. Building the “leave SA alone” constraint into the regression, rather than trusting the search to discover restraint on its own, is a small design choice with an outsized effect on whether a model like this is safe to drop into someone else’s solver.

Whether a scalar correction to a one-equation production term can carry that discipline all the way to a three-dimensional bluff-body wake is still an open question — and, refreshingly, the authors seem to know it.


Read the paper: Bataillie, P., Casanova, M. & Volpiani, P. S., “Improving the Spalart-Allmaras turbulence model for separated flows using field inversion and symbolic regression,” Phys. Rev. Fluids 11, 074604 (2026). All credit for the modelling, the data assimilation, and the case selection discussed above belongs to the authors at ONERA, The French Aerospace Lab.

Further Reading

Leave a Reply

Your email address will not be published. Required fields are marked *