Files
MeanField/experiments/CENTRAL_CONSTRAINT_HYPOTHESIS_2026-09-16.md

91 lines
5.4 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.
# Optional central-density constraint
The n=1 sandbox now supplies central density only to its Lane–Emden seed. Its
equilibrium model fixes the polytropic EOS, surface pressure, total mass, and
angular momentum. The existing public API already supports this combination;
no operator, normalization, preconditioner, or solver API changes are needed.
`constraint::FixedCentralDensity` remains an explicit, optional model
specification. For n=3 it can select the scale along the nonrotating homology
family. Omitting it remains permitted and may expose a singular or poorly
conditioned problem. Neither the model nor the solver silently inserts a phase
constraint or regularization based on the polytropic index. Seed-only central
density sets an initial condition, not an additional equilibrium equation.
The hypothesis is that fixing the spherical central density together with K, M,
and nonzero J can distort the interior of an n=1 equilibrium. The implemented
constraint fixes central enthalpy and adds a scalar source to the hydrostatic
row; a small bordered residual can therefore coexist with a larger physical
residual after that source is removed. This is separate from the late Krylov
failure: the initial no-phase J=.01 control retained that failure while reducing
the unbordered residual, with negligible change in virial balance.
## Completed matched controls
At n=1, J=.05, the phase comparison uses the same mesh, Lane–Emden seed,
normalization, preconditioner, restart length 40, and stopping controls. Physical
measurements below use quadrature order 18 and each run's last accepted state.
| Measurement | Central constraint, R40 | No central constraint, R40 | No central constraint, R160 |
|---|---:|---:|---:|
| Sampled maximum EOS mismatch / density scale | .00933951 | .000430594 | .000430592 |
| Sampled Bernoulli range | .0145751 | .00130398 | .00130398 |
| Unbordered normalized residual | 4.54227e-6 | 6.03609e-9 | 3.38036e-11 |
| P(h) energy virial error | 3.01617e-7 | 3.06913e-7 | 3.07200e-7 |
| P(h) force virial error | 3.18803e-7 | 3.24099e-7 | 3.24382e-7 |
| Absolute mass error | 1.22944e-11 | 1.23133e-11 | 1.74860e-13 |
| Absolute angular-momentum error | 1.71698e-12 | 1.72180e-12 | 1.54182e-14 |
Removing the phase lowers the sampled maximum EOS mismatch by 21.69 times and
the Bernoulli range by 11.18 times, while preserving virial errors well below
the required 1e-5 milestone. Actual angular velocity changes only from
.185891548249 to .185891547385. These matched observations support removing
the n=1 phase to improve interior consistency. The extrema are quadrature
samples, not pointwise error certificates or errors against an independent
rotating reference solution.
Both R40 runs accept five full Newton steps and then fail the same late linear
convergence gate: after 200 linear iterations their true relative residuals are
about .505 against the requested .03. Phase removal does not cure that failure.
The separate no-phase R160 run accepts seven full Newton steps and meets the
requested nonlinear relative tolerance 1e-8 with absolute tolerance zero. Its
final normalized residual is 3.38036e-11. The larger Krylov restart window and
removal of the physical constraint address different observed problems.
Data provenance in the audit workspace: the phased baseline is
`diagnostics/campaign_2026-09-16/n1_J0p05`; the matched and larger-window controls
are `diagnostics/numerical_campaign_2026-09-16/controls/n1_J0p05_no_central_R40`
and `n1_J0p05_no_central_R160`. Measurements come from `final_physical.csv`;
iteration outcomes and settings come from `newton.csv` and `metadata.txt`.
These controls use the existing diagnostic driver's optional model constraint;
the subsequent combined build and focused tests are recorded below.
Higher-spin and higher-index controls remain separate work. J or angular
velocity in reference units is not itself a measured fraction of critical
rotation. These results do not establish high-rotation robustness or change the
optional n=3 constraint semantics described above.
## Focused regression status
The added user-API regression covers the previously missing explicit-seed,
no-phase context construction and solver borrowing/release path. Existing tests
already cover the square fixed-J root and its Jacobian column. This lifecycle
test performs no Newton solve and makes no physical-convergence claim. Retain
the existing phased n=3 tests; unphased n=3 convergence is not a requirement.
The combined source at `b3a752b` builds the sandbox, tests and diagnostic. All
three context/root tests pass (61 assertions), including the new test
`An Explicit Lane Emden Seed Builds A Fixed Angular Momentum Context Without Fixing Central Density`
(`"[user-api][context][seed]"`) and the existing
`Fixed Angular Momentum User API Generates Rotation And Its Composable Solver Border`
and `Fixed Angular Momentum Root Uses Its Generated Angular Velocity In Every Physical Row`
tests. These checks ran in the original build directory on
`research/combined-20260916`, not as an independent build of this isolated
hypothesis worktree.
The combined diagnostic at `c88baa1` also converges for the matching nonrotating
n=1 model in six full steps: F=1.65157e-13, with every q14/q18 virial check
below 3.731e-7. This is a physical counterpart of the sandbox configuration;
it uses the diagnostic stopping controls recorded in the campaign manifest.
See `NUMERICAL_CAMPAIGN_2026-09-16.md` for the integrated results and raw artifacts.