Files
MeanField/experiments/PRESSURE_AND_SHAPE_CAMPAIGN_2026-09-17.md

379 lines
23 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Pressure-preparation obstruction and shape curvature — September 17, 2026
The rotating plateau has a demonstrated local enthalpy-positivity obstruction:
the same interior polynomial sample approaches zero, while the surface trace
remains exactly zero. The late accepted polynomial is already negative between
production quadrature points. Separately, the n=1.5 full step is admissible but
nonlinear shape/field curvature raises its residual to 12.24 times the base.
The measured small-step behavior supports second-order curvature rather than a
first-order Jacobian defect along these directions. No production solver fix
or additional virial-qualified model is claimed.
## Scope and controlled source
This campaign adds experiment-only diagnostics to the preserved combined solver
at `95d9fba`. It changes no production operator, admissibility rule, normalization,
preconditioner, solver policy, or physics-facing API. The central-density
constraint remains optional. The working campaign branch is
`research/diagnostic-campaign-20260917`; pressure and shape helpers are retained
on separate hypothesis branches:
| Purpose | Branch | Retained revision |
|---|---|---|
| Preserved combined solver | `research/combined-20260916` | `95d9fba` |
| Pressure and surface diagnostic helper | `research/pressure-obstruction-20260917` | `c6572d3` |
| Shape/field diagnostic helper | `research/shape-curvature-20260917` | `b24e6e0` |
| Integrated captures and focused probes | `research/diagnostic-campaign-20260917` | tested `fd08f7b`, `9e1b65d`, `4280c53` |
The primary checkout remains on the diagnostic campaign branch. `main` remains
at `75cc638`. Existing untracked files were preserved. Source additions in this
campaign are confined to `experiments/`.
The capture executable records source `fd08f7b`. It copies observer spans without
calling the prepared operator during Newton. A first-trial direction is
reconstructed from candidate minus base divided by alpha; the exact candidate
is also saved. A zero candidate-reconstruction error does not prove recovery of
every bit of the original internal correction. Roundoff estimates and direct
candidate replay distinguish that limitation from the original rejection.
Raw artifacts, copied executables, manifests, input/output hashes and analysis
are retained under:
`/Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/pressure_shape_2026-09-17`.
## Trajectory fidelity
The full twelve-attempt n=1, J=0.1 replay exactly reproduces every non-timing
Newton column, every trial and block record, the initial/final physical CSVs,
layout, and accepted-state bytes from the September 16 combined run. Its
accepted-state SHA-256 is
`ba55e7295c05f0c9ac5f32490f74d87556502d1744aa42deb7964729b2be2018`.
The n=1.5 replay reproduces the first three guarded attempts exactly, including
all ten trials and all 42 block records. There is no archived three-step endpoint
for an independent final-state comparison with that shortened run.
Seven selected iterations save finite 178073-entry vectors. Independently
reconstructing each candidate gives zero componentwise round-trip error. The
late n=1 capture nevertheless has a direction-roundoff scale estimate of
1.40534e-8, about 4.88e-7 of its direction norm, because its first trial alpha is
1.90735e-6. The onset capture uses alpha=1 and has an estimate of 2.68e-14.
Exact candidate replay remains authoritative for the historical rejection.
## Pressure-preparation diagnosis
The exact saved first candidates from iterations 2, 3, 4, 7 and 11 all reproduce
`thermodynamic_domain / pressure_force / outside_domain` (enum values 2 / 6 / 5).
The production pressure source reaches this branch for finite negative enthalpy.
These are enthalpy-domain failures rather than inverted geometry. No new Krylov
solve is involved in the frozen replays.
All iteration labels below are zero-based. Physical quantities use the model
units M=R_reference=G=1; h values below are not normalized residual entries. The pressure limiter stays at local
stellar element 459, pressure quadrature point 50; the closure limiter is point
36 of its different production rule on the same element.
| Iteration | Pressure-point h | Direction dh there | Pressure alpha bound | Closure alpha bound | Live accepted alpha |
|---:|---:|---:|---:|---:|---:|
| 2 | 9.63674e-4 | -1.31441e-2 | 7.33159e-2 | 7.27489e-2 | 6.25e-2 |
| 3 | 1.42165e-4 | -2.11119e-3 | 6.73390e-2 | 7.15585e-2 | 6.25e-2 |
| 4 | 1.02159e-5 | -1.89704e-3 | 5.38520e-3 | 1.01581e-2 | 3.90625e-3 |
| 7 | 7.04574e-8 | -1.86569e-3 | 3.77648e-5 | 4.90600e-3 | 3.05176e-5 |
| 11 | 1.07227e-9 | -1.86493e-3 | 5.74963e-7 | 4.87083e-3 | 4.76837e-7 |
The pressure step budget falls by **127,514 times**. These are physical enthalpy
values and corrections evaluated with unchanged normalization at the same
production points. For consecutive captured states, the next h
agrees with `h + accepted_alpha * dh` to 2.01e-18. At the late state, the closure
bound is about 8,472 times looser than the pressure bound. The shrinking pressure
h explains the vanishing admissible steps along these measured directions; it
does not yet explain why the computed directions keep decreasing h there.
The element touches the stellar surface. Its limiting pressure point has
reference Cartesian radius 0.997553 and lies near the negative rotation pole
(about 8.66 degrees from the negative z axis at onset). This is an interior
quadrature point in a surface-adjacent element, not a surface boundary row.
Topology establishes adjacency, not distance to the deformed surface.
Both onset and late probes bracket the production enthalpy bound with 0.99 and
1.01 times that bound. Enthalpy-only steps reproduce the crossing rejection;
shape-only steps prepare successfully. Across the two 19-trial grids, no
geometry rejection occurs. Affine limiting-point h predictions agree with
independent point evaluations within 1.05e-17. Preparation success alone does
not imply merit acceptance.
At onset the closure bound is slightly tighter. The original large candidate
crosses both bounds, and pressure is prepared first, so its rejection stage
cannot identify the tighter family. The supplemental candidate at
alpha=0.07303236911639208 lies strictly between the two bounds. Its predicted
closure h is -5.01979e-6 while the limiting pressure h remains +3.72619e-6.
The production replay confirms that sequence: pressure preparation passes and
closure preparation rejects with `thermodynamic_domain / barotropic_closure /
outside_domain` (2 / 3 / 5). This distinguishes the first reported failure stage
from the tightest sampled bound.
The supplemental trace inspection uses the actual compiled surface carrier map.
All **866 surface enthalpy coefficients and directions are exactly zero** at
onset and late plateau. The exported indices also establish exact zero surface
enthalpy in all five captured physical bases and their five exact first-trial
candidates. Their contributions to h and dh at both limiting interior points
are exactly zero. The surface condition exists and is satisfied here; boundary
leakage does not explain this wall.
The limiting element is cubic, with 64 enthalpy FE nodes. At onset, a step of
1.01 times the sampled union bound leaves all 64 nodal h values nonnegative,
while closure and pressure interior samples have h=-1.28819e-5 and -2.11e-6,
respectively. At the late state, **even the full unit step leaves all nodes
nonnegative**, but h at the pressure limiting point is -1.86493e-3. This
establishes interior polynomial undershoot along these corrections. Nodal
positivity or exact zero surface trace is insufficient to prevent it. It does
not establish an interpolation implementation bug. The onset full unit step
also makes five nodes negative, so that larger step must not be described as
an exclusively between-node failure.
A final offline check reconstructs the two local tensor-Q3 polynomials from
those 64 physical FE nodal values. It reproduces all nodal values exactly and
both production limiting-point h/dh values within 6.94e-18. The same interior
sampling grid has 495,264 points per inspected state, including uniform spacing
1/64 and logarithmic distances from 1e-12 to 1e-1 from the zero-trace z=0 face.
| Local polynomial state | Minimum sampled h | Reference-element location | Interpretation |
|---|---:|---|---|
| Onset base | positive on this grid | — | No negativity detected; not a positivity certificate |
| Onset accepted alpha=0.0625 | positive on this grid | — | Same limited conclusion |
| Onset alpha=0.99 times production bound | -2.36406e-5 | (0.0130467, 0.515625, 0.01) | Negative between production samples |
| Late captured base | **-2.87114e-5** | (0.0130467, 0.515625, 0.01) | Existing pointwise violation before the next step |
The late base has 2,401 negative samples on that grid. This conclusion uses only
the captured base polynomial and is independent of direction-reconstruction
roundoff. A separate line evaluation at the pressure point's x,y coordinates
and reference z=0.005 gives h=-1.54933e-5. An independent 60-digit Decimal
reconstruction gives -1.5493345386780819e-5 at that point; its input hashes,
formula and production-point checks are retained in
`tensor_q3_independent_check.json`. The negative magnitudes are many orders
above interpolation-check discrepancies. They prove the existence of negative
values in this element; the sampled minimum is not a certified global minimum.
For the onset direction, the finer sampled step bound is 0.0665364 versus the
production union bound 0.0727489. For the late base, a positivity-preserving step
bound from an everywhere-admissible base cannot be asserted because the base
already has negative h. **Passing production quadrature preparation currently
does not ensure internal pointwise enthalpy positivity.** The inspected late
state is nonconverged and already fails the virial milestone; this finding does
not assert that the previously converged nonrotating/low-J controls share the
same defect. No new quadrature or EOS rule was installed.
## Shape and field curvature
Let p be the captured correction, p_s its actual surface-deformation block,
and p_f all remaining fields and scalars. The diagnostic prepares the same
frozen base before every Jacobian action and measures
`R_d(alpha) = F(x + alpha*p_d) - F(x) - alpha*J*p_d`.
The mixed component is the vector `R_full - R_shape - R_fields`, formed before
any norm. Each case uses six common alphas separated by decades; the largest
is capped by geometry and both enthalpy rules so all three directions can be
compared at the same step. Directions are not renormalized separately.
| Frozen case | Common alpha | ‖Ftrial‖/‖F0‖ | ‖L‖/‖F0‖ | ‖R‖ / alpha² | Gravity fraction of ‖R‖² |
|---|---:|---:|---:|---:|---:|
| n=1, J=0.1, iteration 2 | 0.058199106 | 0.94307844 | 0.94180757 | 0.062255721 | 99.8390% |
| n=1.5, J=0, iteration 1 | 1 | 12.243161 | 0.02576812 | 0.0021890295 | 99.7747% |
| n=3 constrained seed | 0.12194828 | 1.0237652 | 0.87826014 | 0.11177311 | 90.7812% |
For n=1.5 at iteration 1, the exact first candidate is preparation-admissible,
with positive minimum Jacobian 0.896116. Its residual norm reproduces the original
merit-rejected trial within 1.43e-17. The full-step linear prediction would leave
only 2.5768% of the starting residual, whereas the actual trial has **12.243 times**
the starting residual. At alpha=0.1, the actual ratio is still 1.02052 versus the
linear prediction 0.900070; at 0.01 it falls to 0.991209. This directly measures
curvature-driven merit rejection separately from the rotating enthalpy wall.
At this n=1.5 base, gravity-gradient shape and field action norms are 0.115959
and 0.116055, with cosine -0.999999831; their combined action norm is only
1.16990e-4. Poisson actions likewise nearly cancel (cosine -0.999996055).
Truncating just the shape block would destroy this measured first-order
cancellation. A full-step second-order remainder of 2.18903e-3 survives, with
99.7747% of its squared norm in the two gravity residual blocks.
The remainder divided by alpha squared stabilizes as alpha decreases, while
resolved gravity remainder slopes approach two. With shape held fixed, gravity
is affine in its other fields in the source, and the measured fields-only gravity
remainders remain at arithmetic scale. The n=1.5 maximum is 2.96e-14, 1.042 times
the diagnostic's heuristic floor; the strict below-floor flag is therefore false,
but that floor is not a certified assembly-error bound. This slight excess is
not evidence of nonlinear fixed-shape gravity. The smallest steps that reach the
arithmetic floor are excluded from slope claims.
| Frozen case | 2⟨L,R_shape⟩ | 2⟨L,R_fields⟩ | 2⟨L,R_mixed⟩ | ‖R_full‖² | Total curvature cost |
|---|---:|---:|---:|---:|---:|
| n=1, J=0.1, iteration 2 | -1.952454e-08 | -3.042692e-10 | 9.736527e-08 | 4.446556e-08 | 1.220020e-07 |
| n=1.5, J=0, iteration 1 | -7.601828e-10 | 1.587389e-12 | 1.185527e-09 | 4.791850e-06 | 4.792277e-06 |
| n=3 constrained seed | 1.458147e-09 | -9.452314e-08 | -9.285962e-09 | 2.762978e-06 | 2.660627e-06 |
Here `L = F0 + alpha*Jp` and the exact scalar identity is
`||Ftrial||² = ||L||² + 2<L,Rfull> + ||Rfull||²`.
The three signed projection terms add to `2<L,Rfull>`; the last squared term
contains cross terms between remainder components. Positive values worsen the
linear squared-merit prediction. At the n=1.5 full step, the dominant cost is
the squared remainder itself, not the small signed projections onto the nearly
zero linear prediction. At alpha=0.1, both shape and mixed projections are adverse.
At the admissible rotating onset step, curvature modestly worsens the prediction
but still allows residual decrease; its larger historical steps instead fail
enthalpy preparation.
These observations support genuine nonlinear shape/field curvature along the
measured directions, with no detected first-order Jacobian inconsistency there.
They do not certify every Jacobian column. The gravity-block aggregates include
both stellar and exterior domains and do not establish where the nonlinear
remainder originates. No physical importance is assigned to exterior accuracy
beyond its influence on the interior solution.
The n=3 seed retains its explicit central-density constraint. Its saved
restart-160 correction has true relative linear defect 0.0402590212946322,
exactly matching the earlier failed linear solve and exceeding the 0.03 gate.
No new solve was substituted. At the common cap the trial residual is 2.3765%
above the base despite a predicted 12.174% decrease. The mixed component is large,
but its signed projection is favorable; the positive squared-remainder term
outweighs all favorable projections. At one tenth the cap, the residual decreases
and net curvature slightly improves the linear prediction. This prevents a
blanket attribution of every failed step to an adverse mixed projection.
## Consequences and next experiments
The two mechanisms should be tested and treated separately.
1. **Pressure/closure feasibility.** A production-rule enthalpy step cap would
avoid known inadmissible trials. It would not, by itself, remove a wall where
the same h tends to zero while dh stays negative: the existing accepted steps
are already 72.5–92.8% of the sampled union bound. The next discriminating
numerical experiment is a tighter frozen linear solve, with local h-direction
and component defects measured explicitly, to test how strongly the local
direction depends on linear accuracy. A
persistent negative direction would still permit nonlinear-path or basin
effects; it would not prove that no admissible discrete root exists.
Preserve EOS admissibility and use quadrature/interior polynomial checks when
testing a positivity representation or constrained step; clipping nodal values
cannot prevent the demonstrated between-node undershoot. Test interior
polynomial positivity at accepted states as a separate validation check.
Increasing quadrature coverage can detect the violation earlier, but detection
alone is not a convergence remedy. A trial starting from the late base also
needs feasibility restoration if positivity is to be maintained everywhere.
Clipping h would
change the equations and would not establish internal correctness.
2. **Shape/field nonlinear balance.** Test a trial-only gravity completion at
fixed candidate shape and density, solving the linear mixed-gravity subsystem
there before reevaluating every coupled residual. Gravity completion changes the trial path and reduces the gravity defect by
construction. The test is whether that produces a better coupled trial,
interior solution and virial after every residual is reevaluated.
It is a hypothesis, not an implemented production change; other residuals,
pointwise interior checks and virial must all be measured. Shape-only damping
is poorly motivated by the strong first-order cancellation in these cases.
3. **Where the merit is spent.** Before changing normalization or exterior
weighting, partition the dominant gravity remainder by stellar/exterior
contribution and measure its effect on interior hydrostatic balance. These
whole-block probes do not justify demanding exterior accuracy for its own
sake, nor do they justify dropping exterior residuals that influence the star.
The present data do not single out preconditioner failure for the rotating or
n=1.5 captured steps: their current true linear defects still satisfy the 0.03
forcing gate. That gate is a global norm criterion, not proof that the local
enthalpy direction is adequate near a vanishing h. The n=3 frozen correction
fails that gate and is reported separately. No production preconditioner,
normalization, EOS admissibility or line-search rule has been altered here.
## Verification and reproducibility limits
The driver was built in Release with Homebrew Clang 22.1.8, IPO enabled,
profiling disabled and uniform polynomial order increment zero. Runs were
serial, on one MPI rank, using the same 1216-hex mesh (832 stellar, 384 vacuum)
and the unchanged production quadrature rules. Mesh SHA-256:
`ce11ae99e21e6c3bbfbee402acd2e191c1da0d8261d2227b4203f73f2f337a74`.
Case manifests and copied immutable executables retain the tested sources even
while the experiment branch acquires later diagnostic additions. Performance
was not compared in this campaign.
Two instrumented trajectory runs reached their requested iteration caps
(expected model exit 3). All eight focused cases and both supplemental cases
completed successfully (exit 0), with matching binary and input/output hashes.
The n=1.5 rejected-candidate residual norms agree with their historical values
to 1.43e-17 and 1.84e-18; the two norm implementations have different reduction
orders, so those numbers are roundoff comparisons rather than byte comparisons.
All captured base residual vectors reproduce exactly.
All ten frozen cases restore their final base residual exactly. Each shape case
has 22 admissible preparation events, for 66 total; all accepted normalized
states, physical states and residuals are unchanged. Direction partitions are
exact. The largest Jacobian partition error is 8.33e-17. Aggregate signed-merit
and projection identities agree to better than 6.8e-15 relative. All 38 pressure
crossing trials have complete, unique records and no geometry rejection.
Independent audits check vector copies, quadrature-bound identity, CSV coverage,
all surface coefficient statistics and nodal identities.
Implicit neighboring capture state/residual inputs are covered by the capture
output hashes as well as independent checks; the runner's explicit-input hashes
alone do not cover that auxiliary-read path. Late reconstructed directions retain
the subtraction-roundoff limitation documented above. The late recomputed true
linear defect differs from its historical value by 2.25e-9, while both remain
below 0.03; exact-candidate replay is independent of that reconstruction.
No production/library or public-header code changed relative to `95d9fba`;
the existing production C++ suite was not rerun for these experiment-only
changes. Validation instead includes compilation of the diagnostic executables,
exact trajectory comparisons, production candidate replays, independently
recomputed CSV identities, input/output hashes, and frozen-state restoration.
A zero diagnostic process exit means the observations completed. It does not
mean a stellar equilibrium converged.
This campaign establishes no additional virial-qualified model. The captured
rotating endpoint is exactly the previous nonconverged endpoint: its P(h)-based
virial errors remain approximately 4.75e-4 and 8.18e-4, above the required 1e-5.
The n=1.5 capture is intentionally only a three-step prefix; its eventual
convergence and pointwise accuracy are not inferred from these probes. J=0.1
is an angular-momentum input, not 10% of critical rotation. Critical-rotation
fractions were not computed.
## Reproduction and retained analyses
The three case manifests are `plateau_capture_cases_2026-09-17.json`,
`plateau_focused_cases_2026-09-17.json`, and
`plateau_supplemental_cases_2026-09-17.json` in `experiments/`. Their tested source
commits are respectively `fd08f7b`, `9e1b65d`, and `4280c53`. Each artifact folder
contains `provenance.json`, exact per-case commands, case input/output hashes,
logs and the copied executable. The midpoint candidate also retains a derivation
record and SHA-256. No raw state files or binary build products are committed.
Run a new numerical campaign with a compatible configured build and a fresh
output directory:
```sh
python3 experiments/run_plateau_campaign.py \
--source . --build cmake-build-release-homebrew --mesh sandbox.smesh \
--cases experiments/plateau_focused_cases_2026-09-17.json \
--cmake /Applications/CLion.app/Contents/bin/cmake/mac/aarch64/bin/cmake \
--jobs 8 --output /absolute/path/to/new-results
```
Use the corresponding tested source checkout for exact source reproduction.
The supplied case manifests reference the retained absolute capture paths;
relocating artifacts requires changing those paths consistently. The runner
checks committed source, rebuilds, records provenance and refuses reused output
directories. Replaying the copied executables with the recorded arguments and a
new output path is another way to retain the exact tested binary.
The portable analysis scripts under `experiments/plateau_analysis/` take the
artifact root containing `captures/`, `focused/`, and `supplemental/`:
```sh
python3 experiments/plateau_analysis/analyze_pressure.py /absolute/path/to/artifact-root
python3 experiments/plateau_analysis/analyze_shape.py --campaign /absolute/path/to/artifact-root
python3 experiments/plateau_analysis/audit_focused_outputs.py /absolute/path/to/artifact-root
python3 experiments/plateau_analysis/audit_surface_outputs.py /absolute/path/to/artifact-root
python3 experiments/plateau_analysis/sample_pressure_polynomial.py /absolute/path/to/artifact-root
```
They do not run the solver or alter raw case data. They regenerate compact
Markdown/JSON analyses alongside those data. See `pressure_analysis.md`,
`shape_analysis.md`, `pressure_polynomial_analysis.md`, `capture_validation.md`,
and `focused_method_validation.md`
in the retained artifact root for the detailed per-case checks.