Skip to content

Repository files navigation

parzival

An independent computation of a fluid-dynamics blowup exponent, and a verification harness built to refuse its own author's results.

The physics: the 2D Boussinesq equations develop a singularity at a corner of the domain, and the rate at which it forms is a number, alpha. This repository computes alpha = -0.34240 +- 3e-5 with a corner-regularized spectral Newton solver, reproducing a published value by a method disjoint from the original.

The part that is probably more interesting: every number here regenerates from raw data by one command, is graded against a frozen standard, and the claims that did not survive are kept on the page rather than deleted.

./boussinesq/bootstrap.sh    # regenerate the data (~12 min)
python boussinesq/verify.py  # 15 checks, three tiers

What verification means here

Claims are separated into three tiers, because they are not equally attackable:

tier what it is how a skeptic breaks it
ARITH pure arithmetic from stated inputs recompute by hand
EXACT reference value forced by an identity of the equations, fixed before any measurement exists rerun on your own regenerated bytes
FIT a regression rerun with a different window and get a different number

The EXACT tier is the load-bearing one. The equations have an exact amplitude symmetry, so a run at 2A is the run at A viewed at half the time with fields doubled. That forces two ratios to be 1/sqrt(2) and 1 with no free parameters anywhere. Measured: 0.706891 against 0.707107, and 0.999746 against 1. Worst deviation on the tier: 3e-4.

FIT-tier checks initially failed — and that is the point. They only reproduce when the fit protocol (gate, window, trim) ships as executable code alongside the claim. The verifier went 10/15 to 15/15 when the protocol was encoded rather than described.

A watcher (watch_verify.sh) reruns all 15 every 20 minutes and files a regression report if any number drifts.

Results, graded

Grading rules are frozen in STANDARD.md.

ESTABLISHED — provenance, tier label, exact anchor, structure identity, two independent streams, adversarial pass

  • alpha_0 = -0.34240, two disjoint methods
  • sigma_Lambda = +1.00 +- 0.03 for the inviscid corner flow, anchored by the exact symmetry above and by a 2x2 off-ray grid factorial (spread 0.029)
  • A viscous sign inversion of the same quantity, reproduced across a 4x grid refinement

ABDUCED — one stream, second one named

  • c_l = -1/alpha = 2.92056, the physical scaling exponent, by far-field matching
  • the known branch family accumulating at alpha_inf = -0.4722

DEAD — refuted by this repository's own machinery, kept deliberately

  • a "reciprocal branch" that was invented, not measured
  • a Batchelor-saturation interpretation, refuted within an hour of proposing it
  • a viscous monotonicity trend that was grid-dependent
  • a radial-scale variability factor first reported as 8.9x, which collapsed to 2.5x under three independent estimators

OPEN — stated exactly, not hedged

  • whether a certain geometric exponent lies in the strip [-1/2, 0]
  • whether generic orbits settle or wander. Blocked, and the blocker is quantified: the linearization has transient growth up to 5807x, so any measurement spanning 1-2 e-foldings is inside the transient and cannot distinguish the two. Not a compute limit.

What is NOT claimed

  • Nothing about Navier-Stokes regularity. The Millennium problem is not addressed here.
  • No novelty. No literature kill-search has been run. Theorem skeletons in THEOREMS.md have relatives in Constantin-Fefferman (1993) and its descendants. Treat every novelty implication as open.
  • No individual eigenvalue of the linearized operator. Two independent routes agree on the rightmost to 1.3e-9 while two grids disagree by 2.14e-1: well-posed as linear algebra, unconverged as discretization.
  • No unconditional stability. What is measured is Hurwitz-ness of a corner-clamped linearization, in the raw collocation norm, on a truncated wedge.

Layout

boussinesq/
  bootstrap.sh          regenerate the verification data
  verify.py             the 15 checks
  STANDARD.md           the frozen grading rules (S1-S7)
  DONE.md               falsifiable exit conditions; done.sh checks them
  mythos.py             confound engine: the ways each claim could be false
  faults_freshpass.py   14 faults from six independent blind reviewers
  criticality.py        criticality atlas, calibrated on 2D Navier-Stokes
  polar_cornerreg.py    the profile solver
  dedalus_axisym.py     the axisymmetric Euler / Navier-Stokes engine
  archive/              superseded scripts, kept for provenance

Requirements

Python 3.12, Dedalus v3, numpy, scipy, h5py. bootstrap.sh needs Dedalus; verify.py alone needs only numpy/scipy/h5py once the data exists.

On method

Six agents were given a conclusion-free description of the experiment and asked what was wrong with it, with no access to any result. Seven faults were unanimous. Two of their findings invalidated results that had been reported minutes earlier — including one that only a single reviewer raised. That registry is in faults_freshpass.py, and the faults it found are recorded with what each one killed.

Apache-2.0. Part of EPAGOGE: systems built adversarially, with claims graded and the failures kept on the page.

About

Independent computation of the 2D Boussinesq corner blowup profile: the scaling exponent, an eigenvalue-free stability certificate, and a free-residual test that catches a false root.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages