Back to Experiments

Shell-model experiment: 24-shell run

Overview

The system is a cubic shell ODE: independent velocity-shell variables \(u_k\) and vorticity-shell variables \(\omega_k\) at integer wavenumbers \(k\), coupled by hand-built cubic transfer terms, a stretching coupling \(\lambda\) and a feedback coupling \(\sigma\), with linear damping \(\nu k^2\). It is not a Galerkin truncation of Navier–Stokes; \(u_k\) and \(\omega_k\) are separate state variables and the coupling structure is chosen by hand. Every threshold reported on this page — the amplitude \(A^*\), times to threshold crossing and classification scores — is a finite-window excursion threshold: \(A^*\) is the smallest initial amplitude for which the shell enstrophy \(\sum_k \omega_k^2\) exceeds a fixed excursion level within the integration window, and its value depends on the window length, the excursion level and the solver.

Question

Extending the ODE to 24 shells (12 velocity + 12 vorticity variables, wavenumbers \(k=1,\ldots,6\)) asks whether the threshold value at the fixed window and excursion level differs from the value 0.347 recorded at 16 and 20 shells.

Method

  1. Implement the 24-shell ODE with 12 velocity and 12 vorticity variables at wavenumbers \(k=1\) through \(k=6\), with all transfer paths and linear damping \(\nu k^2\) up to \(36\nu\).
  2. Run the full 26-level H/H'/H'' hierarchy with the doubling-time criterion \(P\).
  3. Sweep amplitudes to find \(A^*(\text{truth})\) and \(A^*(P)\). Evaluate classification across 14 test amplitudes.
  4. Compare with the 16- and 20-shell runs at the same window, excursion level and solver settings.

Results

Threshold amplitude

QuantityValueNote
\(A^*(\text{truth})\)0.347Same value as the 16- and 20-shell runs at this window and excursion level
\(A^*(P)\)0.328Doubling-time criterion estimate
\(P/\text{truth}\)94.6%Same across 16, 20 and 24 shells

Classification

MetricResult
Score14/14 amplitudes classified
Diagnostic loop\(L_1 \to L_4 \to L_2 \to L_1\) present at every checkpoint
Fitted power-law exponent2.0

Threshold values across shell counts

A* values:  0.290  →  0.302  →  0.328  →  0.347  →  0.347  →  0.347
              8       10       12       16       20       24   shells

\(A^*\) is 0.347 at 16, 20 and 24 shells in these runs.

Observation. Three shell counts (16, 20, 24) give the same recorded values at this window and excursion level: \(A^* = 0.347\), \(P/\text{truth} = 94.6\%\), 14/14 classified, fitted power-law exponent 2.0. Linear damping now reaches \(36\nu\) at the highest wavenumber.

Analysis

  • Threshold value. \(A^* = 0.347\) at 16, 20 and 24 shells in these runs.
  • Classification. 14/14 at each of the last four shell counts (12, 16, 20, 24).
  • Recorded quantities. \(A^*\), \(P/\text{truth}\), score, fitted exponent and the diagnostic loop take the same values at 16, 20 and 24 shells.
  • Fitted exponent. 2.0 at each of the seven shell counts run (6, 8, 10, 12, 16, 20, 24).
  • Damping range. Linear damping \(\nu k^2\) spans a 36:1 range across the shells.

Summary of the run

The 24-shell cubic ODE gives \(A^* = 0.347\), \(P/\text{truth} = 94.6\%\), 14/14 classified and fitted power-law exponent 2.0, the same recorded values as the 16- and 20-shell runs at this window and excursion level. All are finite-window excursion quantities of this ODE; how they behave under a different window, excursion level or solver is not measured here.

Reproducibility

../simplex/build/sxc exp_ns_24mode_solve.sx -o build/exp_ns_24mode_solve.ll

OPENSSL_PREFIX=$(brew --prefix openssl)
clang -O2 build/exp_ns_24mode_solve.ll \
  ../simplex/runtime/standalone_runtime.c \
  -o build/exp_ns_24mode_solve \
  -lm -lssl -lcrypto -L${OPENSSL_PREFIX}/lib

./build/exp_ns_24mode_solve

Related