Results

Four checkpoints, evaluated on the same withheld 200-simulation AirfRANS test set, benchmarked against the paper's own MLP/scarce baseline.

Cl / Cd accuracy

Model Cl rel. error Cl Spearman Cd rel. error Cd Spearman
GraphSAGE — full task, 64k pts/sim best 0.415 0.976 8.40 0.105
MLP — full task, full resolution 0.276 0.981 15.91 -0.125
GraphSAGE — scarce task, 16k pts/sim 2.815 0.804 44.07 0.251
MLP — scarce task 0.830 0.950 17.62 -0.186
AirfRANS paper (MLP / scarce) 0.385 0.981 3.50 -0.139

Cl Spearman = rank correlation between predicted and true lift coefficient across the 200 test simulations (1.0 = perfect ranking). Cd is the harder target throughout: it depends on near-wall velocity gradients that a per-point MLP structurally can't resolve, and even GraphSAGE only partially closes the gap. Full numbers, including field-level MSE, in checkpoints/eval_results_*.json on GitHub.

What the corrected numbers mean

The full-scale GraphSAGE result above (Cl Spearman 0.976) is the honest, corrected number — an earlier evaluation run showed a much worse Cl score (0.826) that turned out to be a real bug: the evaluation code split each test simulation's points into fixed-size chunks for inference, and for a graph-based model each chunk got its own independent neighbor graph, silently cutting real spatial neighbors at chunk boundaries. Fixing it (one graph per simulation, matching how the model is actually used) also meant re-checking the scarce-task GraphSAGE numbers, which had the same bug — its real Cl Spearman is 0.804, not the previously-reported 0.966. The full writeup, including why the bug helped one model and hurt the other (it's about a training/evaluation point-density mismatch, not just a bug), is in PROGRESS.md under 2026-07-11.

Predicted vs. true

Predicted vs true Cl and Cd scatter plots
Predicted vs. true Cl (left) and Cd (right) across the test set. Cl tracks the diagonal; Cd is visibly noisier — the model's known weak point.
Error contour plots for best and worst test airfoils
Pressure-field error for the best- and worst-predicted test airfoils.

Training evolution

Predicted pressure field, same fixed colorbar, one snapshot every 10 epochs — noise sharpening into physics.

MLP training evolution
MLP
GraphSAGE training evolution
GraphSAGE