Burgers-equation experiment: S score as an early-warning signal
Overview
The system is a 1D viscous Burgers finite-difference simulation, \(u_t + u u_x = \nu u_{xx}\), on a uniform grid with sinusoidal initial data at low viscosity (\(\nu = 0.001\)). It is a scalar model equation whose steep gradients are shocks; it is not the 3D Navier–Stokes system, and nothing measured here transfers to that problem. The run records the convergence score \(S\) and the gradient norm \(\|\nabla u\|_\infty\) at every step, and asks how far ahead of the gradient threshold \(\|\nabla u\|_\infty > 10\) the score \(S\) first goes negative. The threshold, the lead time and the contingency counts are properties of this grid, viscosity and window.
Method
- Run the 1D viscous Burgers simulation at \(\nu = 0.001\) with sinusoidal initial data. Track \(S\) and \(\|\nabla u\|_\infty\) at every time step.
- Define the excursion threshold as \(\|\nabla u\|_\infty > 10\). Record the first step where \(S < 0\) and the first step where the gradient exceeds the threshold.
- Compute the running integral \(\int_0^T \|u_x\|_\infty \, dt\) of the gradient supremum and correlate it with \(S\).
- Run a 100-trial study with randomised initial conditions. Classify each trial by whether the gradient stays below the threshold within the window, and by whether \(S \geq 0\) throughout.
Results
Single-Run Timeline
| Event | Step | \(S\) | \(\|\nabla u\|_\infty\) |
|---|---|---|---|
| Simulation start | 0 | +1.000 | 0.63 |
| \(S\) first negative | 399 | -0.003 | 1.82 |
| Gradient exceeds 10 | 16,760 | -2.41 | 10.02 |
Lead time: \(S\) goes negative 16,361 steps before the gradient threshold is crossed — a 37× ratio (threshold crossing at step 16,760, warning at step 399).
Gradient-Integral Correlation
The running integral \(\int_0^T \|u_x\|_\infty \, dt\) grows monotonically. At the step where \(S\) first goes negative it is at 12% of its value at the threshold crossing. The Pearson correlation between the cumulative integral and \(-S\) over the run is \(r = 0.94\).
100-Trial Contingency Table
| Below threshold | Crossed threshold | Total | |
|---|---|---|---|
| \(S \geq 0\) throughout | 38 | 0 | 38 |
| \(S < 0\) at some step | 14 | 48 | 62 |
| Total | 52 | 48 | 100 |
The cell \(C = 0\): in these 100 trials no run crossed the gradient threshold while \(S\) stayed non-negative throughout.
Notes
- 37× lead. \(S\) goes negative at step 399, over 16,000 steps before the gradient exceeds the threshold, at this viscosity and grid.
- \(C = 0\) in the sample. Across 100 randomised trials, every threshold crossing is preceded by \(S < 0\). This is a count in a finite sample.
- Gradient-integral correlation. The correlation \(r = 0.94\) between the running gradient integral and \(-S\) says the two quantities track each other over the run; \(S\) is available as a running scalar.
- False positive rate. 14/62 (23%) of the \(S < 0\) trials stay below the threshold. \(S < 0\) is sensitive but not specific.
Summary
On 1D viscous Burgers at \(\nu = 0.001\), the convergence score \(S\) goes negative at step 399, 37× ahead of the gradient threshold crossing at step 16,760. In a 100-trial study, every threshold crossing is preceded by \(S < 0\) (\(C = 0\)), with a 23% false-positive rate. The running gradient integral and \(-S\) correlate at \(r = 0.94\).
Reproducibility
../simplex/build/sxc exp_ns_blowup.sx -o build/exp_ns_blowup.ll
OPENSSL_PREFIX=$(brew --prefix openssl)
clang -O2 build/exp_ns_blowup.ll \
../simplex/runtime/standalone_runtime.c \
-o build/exp_ns_blowup \
-lm -lssl -lcrypto -L${OPENSSL_PREFIX}/lib
./build/exp_ns_blowup
Related
- Four-mode 2D experiment — critical Re of the four-mode ODE via an \(S = 0\) binary search
- Burgers-equation experiment: 25-case S contingency — threshold sweep on 25 runs
- Burgers-equation experiment: I-ratio across a viscosity sweep — the viscosity-sweep run
- Conjectures — the S score as a flow diagnostic is listed there as open