5.4 KiB
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.