docs: finalize controlled solver campaign and transfer limits
This commit is contained in:
@@ -157,8 +157,11 @@ value or an identification of homology, translation, or surface error.
|
||||
|
||||
The tested source is `1911a26`. The guard checks
|
||||
the current true defect of a nonzero supplied correction and falls back to
|
||||
zero only if that defect exceeds ||b|| or the operator action is nonfinite.
|
||||
It preserves useful guesses and the existing damped-Newton history policy.
|
||||
zero only if that defect norm is nonfinite or exceeds ||b||. The unchanged
|
||||
input contract still rejects nonfinite coefficients in the supplied guess.
|
||||
It retains finite supplied guesses whose current defect is no larger than that
|
||||
of a zero guess and leaves the damped-Newton history policy in place. A smaller
|
||||
initial defect does not guarantee faster subsequent Krylov convergence.
|
||||
It adds no public options. A nonzero guess costs one extra measured operator
|
||||
action; zero guesses do not.
|
||||
|
||||
@@ -190,8 +193,10 @@ mesh-independent solver performance. The timings are single observations.
|
||||
|
||||
P(h) energy/force virials remain near 2.24e-6/2.35e-6, changing only about
|
||||
9.0e-9/2.0e-8. EOS and Bernoulli errors improve slightly and the negative-density
|
||||
budget barely changes. P(rho) remains undefined and the validation gate correctly
|
||||
fails. The center-of-mass offset increases from 1.67e-6 to 4.57e-6, so it would
|
||||
budget barely changes. The conservative solver-plus-eight-check screen remains
|
||||
unsatisfied: strict convergence is absent and P(rho) cannot be evaluated. P(h)
|
||||
meets the primary virial milestone; this does not validate the local solution.
|
||||
The center-of-mass offset increases from 1.67e-6 to 4.57e-6, so it would
|
||||
be incorrect to claim that all physical metrics are unchanged. Both endpoints
|
||||
remain unconverged. These limits motivate retaining the guard as a modest
|
||||
improvement to the inner solver while pursuing the operator/weak-direction work.
|
||||
@@ -207,15 +212,85 @@ not repeated benchmarks, and dynamically loaded dependencies are not frozen.
|
||||
|
||||
`experiments/check_plateau_physics.py RESULT_FOLDER` gates strict recorded
|
||||
convergence and all eight defined, finite virial errors at 1e-5: energy/force,
|
||||
P(h)/P(rho), and quadrature 14/18. It separately reports sign, conservation,
|
||||
P(h)/P(rho), and quadrature 14/18. This conservative joint screen is stricter
|
||||
than the primary physical milestone. In particular, the undefined P(rho) at
|
||||
n=1.5 does not by itself prove physical virial failure; the defined P(h)
|
||||
virials pass. The checker separately reports sign, conservation,
|
||||
EOS, and Bernoulli measurements. It does not certify pointwise correctness or
|
||||
assign arbitrary local-error tolerances. The checker distinguishes the
|
||||
converged n=1 case, the n=1 algebraic failure despite good virials, undefined
|
||||
P(rho) at n=1.5, and the failing n=3 seed virial.
|
||||
|
||||
Combined-example compilation, context tests, and its nonrotating physical
|
||||
control are pending. This campaign uses focused tests, not a rerun of the
|
||||
entire historical suite.
|
||||
The combined source at `b3a752b` builds the sandbox, tests and diagnostic.
|
||||
Three context/root tests pass (61 assertions): explicit seeding without a
|
||||
central constraint, the generated angular-velocity/composable border, and
|
||||
propagation of that angular velocity into physical rows. Together with the
|
||||
five safeguard/Newton tests this is eight distinct focused C++ tests, with
|
||||
two backend tests additionally repeated on two MPI ranks. It is not a rerun
|
||||
of the entire historical suite. Later combined commits change documentation
|
||||
and case manifests only; the final live campaign records `c88baa1`.
|
||||
|
||||
## Final combined physical checks
|
||||
|
||||
The combined executable has the same SHA-256 as the guarded executable. The
|
||||
nonrotating n=1 case is the physical counterpart of the sandbox model, using
|
||||
the diagnostic stopping controls. It converges in six full Newton steps,
|
||||
with F=1.65157e-13 and 307 total linear iterations. Its worst virial error
|
||||
among all eight checks is 3.73092e-7; the largest q14/q18 change is 1.29e-13.
|
||||
At q18 the absolute mass error is 8.88e-15, J error is zero, and no negative
|
||||
density or enthalpy is sampled.
|
||||
|
||||
Local consistency errors remain: peak/RMS EOS mismatch divided by sampled
|
||||
density scale is 4.23549e-4/8.56537e-5, Bernoulli RMS is 1.13917e-4, and
|
||||
hydrostatic gradient RMS is 5.48097e-3. These are measurements, not newly
|
||||
invented acceptance tolerances. The literal sandbox executable was compiled;
|
||||
its physical counterpart was run through the diagnostic for these measurements.
|
||||
|
||||
The J=0.1 transfer case doubles the previous target angular momentum and allows
|
||||
12 Newton attempts, while retaining the numerical implementation and tolerances.
|
||||
It is a physical transfer test, not a one-variable solver-policy comparison.
|
||||
It does **not** converge: all 12 linear solves pass (507 total iterations), but
|
||||
F plateaus at 6.25389278e-3 and the last accepted step is 4.76837e-7. The process
|
||||
stops at its nonlinear iteration cap. Its 527.62 seconds include diagnostics;
|
||||
summed Newton-attempt time is 462.33 seconds.
|
||||
|
||||
This endpoint also fails the primary virial milestone. At q18, the P(h) energy
|
||||
and force virial errors are 4.75186e-4 and 8.18118e-4; q14 agrees to within
|
||||
4.54e-14. Absolute mass and J errors are 6.42266e-4 and 2.13748e-4. Actual angular
|
||||
velocity is 0.3431369602 in reference units, not a critical-rotation fraction.
|
||||
P(rho) is undefined at negative-density samples; the negative mass fraction is
|
||||
1.07284e-5. Peak/RMS scaled EOS mismatch is 1.02932e-2/5.75843e-4, and raw
|
||||
Bernoulli RMS is 9.92365e-4. This is an unresolved failed model.
|
||||
|
||||
All 30 rejected trials fail pressure-force preparation before residual
|
||||
measurement, unlike the merit-only n=1.5 plateau. The final sampled minimum
|
||||
enthalpy is 1.82998e-10, with no sampled negative enthalpy; the minimum sampled
|
||||
mapping determinant is 0.870965. Finite negative enthalpy is the leading
|
||||
inference for rejected trials: pressure preparation explicitly rejects h<0,
|
||||
and geometry preflight includes the pressure quadrature rules. However, the
|
||||
recorded rejection also permits a nonpositive determinant/mapped-weight cause,
|
||||
and the CSV omits the exact rejection code. An accepted state's sampled minima
|
||||
do not certify its rejected trials. The present evidence supports locating an
|
||||
admissibility obstruction, not declaring its exact sample or cause established.
|
||||
Later supplied guesses are retained with defect/RHS near 0.03, so discarding
|
||||
bad warm starts does not address this final obstruction.
|
||||
|
||||
## Retained Git history
|
||||
|
||||
The original checkout is left on `research/combined-20260916`, with the adopted
|
||||
changes committed. The starting optimized source is committed on the baseline
|
||||
branch; historical untracked caches and data are preserved. Separate hypothesis
|
||||
branches remain available for inspection or reruns.
|
||||
|
||||
| Branch | Recorded revision / purpose |
|
||||
| --- | --- |
|
||||
| `research/baseline-20260916` | `80cc3d8`: preserved incoming source |
|
||||
| `research/experiment-harness-20260916` | `9bd4af6`: common driver; `0470e3b`: checker; `899cb18`: screening clarification |
|
||||
| `research/central-constraint-20260916` | `5167744`: hypothesis evidence; `2e19c2c`: combined validation notes |
|
||||
| `research/krylov-window-20260916` | `937d2f2`: example restart 160; `1f9184b`: combined validation notes |
|
||||
| `research/gravity-coupling-20260916` | tested `8c1f823`, outcome `db0ddd3`: rejected completion retained here |
|
||||
| `research/krylov-20260916` | tested `1911a26`, outcome `7127383`: guarded warm guesses |
|
||||
| `research/combined-20260916` | C++ build/context tests `b3a752b`, final live cases `c88baa1` |
|
||||
|
||||
## Next discriminating work
|
||||
|
||||
@@ -228,7 +303,12 @@ entire historical suite.
|
||||
3. Separate interior, exterior, and interface gravity error. Exterior accuracy
|
||||
matters through its effect on the interior; current aggregate block norms
|
||||
cannot establish where the plateau lives.
|
||||
4. If residual normalization is changed, first rescore identical physical trial
|
||||
4. For the stronger-rotation pressure-preparation failures, record the specific
|
||||
rejection reason and offending enthalpy/mapping sample. Geometry preflight
|
||||
already includes pressure quadrature; negative h is the leading inference,
|
||||
but the existing CSV cannot exclude a mapping/preflight discrepancy. Locate
|
||||
the obstruction before selecting a positivity or surface treatment.
|
||||
5. If residual normalization is changed, first rescore identical physical trial
|
||||
states. This separates a changed merit from a changed Newton correction.
|
||||
|
||||
High-rotation continuation and a measured critical-rotation fraction remain
|
||||
@@ -238,7 +318,7 @@ future validation work. These results do not establish the 50% or 99% targets.
|
||||
|
||||
The complete campaign is retained at
|
||||
`/Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/numerical_campaign_2026-09-16`.
|
||||
Each of `controls`, `baseline_n3`, `gravity`, and `guard` contains its copied
|
||||
Each of `controls`, `baseline_n3`, `gravity`, `guard`, and `combined` contains its copied
|
||||
case manifest, source/build provenance, executable, run records and diagnostics.
|
||||
Use its retained `cases.json` with `run_plateau_campaign.py` at the recorded
|
||||
source revision and a new output directory to repeat the observation. The
|
||||
@@ -248,4 +328,6 @@ runner invocation and build requirements are in `plateau_diagnostic_README.md`.
|
||||
- [Gravity-coupling comparison](</Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/numerical_campaign_2026-09-16/coupling_comparison.md>)
|
||||
- [Gravity-coupling interpretation](</Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/numerical_campaign_2026-09-16/coupling_interpretation.md>)
|
||||
- [Warm-start comparison](</Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/numerical_campaign_2026-09-16/guard_analysis.md>)
|
||||
- [Final combined physical validation](</Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/numerical_campaign_2026-09-16/combined_validation.md>)
|
||||
- [Combined context/root test manifest](</Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/numerical_campaign_2026-09-16/combined_checks/manifest.json>)
|
||||
- [Focused safeguard test manifest](</Users/tboudreaux/.codex/.chatgpt-projects/g-p-6a6b3f2194ec8191bebcd59075897f1d/diagnostics/numerical_campaign_2026-09-16/guard_checks/manifest.json>)
|
||||
|
||||
Reference in New Issue
Block a user