91 lines
5.4 KiB
Markdown
91 lines
5.4 KiB
Markdown
# 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.
|