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

4.9 KiB
Raw Blame History

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; they do not establish that this example/regression commit builds or passes tests.

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.

Build and focused tests are pending for this branch. The new test is An Explicit Lane Emden Seed Builds A Fixed Angular Momentum Context Without Fixing Central Density ("[user-api][context][seed]"). Also run 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. No compilation or numerical runs were performed in this worktree.