Specify gravity-path and matched Schur experiments from the measured n2 stall
This commit is contained in:
@@ -41,3 +41,77 @@ hashes. Initial evidence directory:
|
||||
|
||||
Results and any adaptive extensions will be recorded below before finalizing
|
||||
the study. Defaults and the physics-facing API are unchanged.
|
||||
|
||||
## Adaptive follow-up, specified before execution
|
||||
|
||||
The completed n=2 control has energy/force enthalpy virials 3.25e-7/2.25e-6
|
||||
but a residual of 8.85e-6 after twelve updates. At captured update seven,
|
||||
94.42% of squared residual is Poisson balance and 4.45% gravity-gradient
|
||||
relation. All observed rejections there are insufficient decrease; pressure
|
||||
preparation has not failed. This motivates a gravity-path comparison in the
|
||||
current harmonic space, independently of earlier nodal-surface conclusions.
|
||||
|
||||
Restart both raw and gravity-curvature Newton from the same update-three
|
||||
physical capture, with six updates, eta=.03, and a shared absolute residual
|
||||
target 1e-12. Initial guesses are installed through an explicit transactional
|
||||
experiment hook, separate from the read-only diagnostic callback. Coordinate
|
||||
transfer checks names, sizes, discretization metadata, mesh and saved hashes;
|
||||
captured/unconverged iterates require an explicit experimental override.
|
||||
Gravity-curvature correction retains the full coupled equations and Newton
|
||||
direction and changes only the prepared trial path. Gravity elimination is
|
||||
deferred until per-iteration reporting distinguishes its reduced and lifted
|
||||
full linear defects and its completed initial state.
|
||||
|
||||
Frozen tests at that same n=2 capture compare gravity refinement, a new
|
||||
surface-plus-scalar approximate Schur inverse, and their combination at
|
||||
eta=.003. Repeat the combined candidate at eta=1e-7 to measure attained
|
||||
accuracy within a 300-iteration budget, not assert an arithmetic floor.
|
||||
Test the combined candidate at n=3 update seven separately. Each benchmark
|
||||
also runs a fresh default inverse on the identical RHS and physical Jacobian.
|
||||
Setup costs and internal Jacobian applications belong to the comparison.
|
||||
|
||||
The small Schur block contains all 25 surface parameters and every generated
|
||||
scalar. Its field inverse is the unbordered structure inverse; restricting an
|
||||
already scalar-bordered inverse could spuriously constrain the field solve.
|
||||
Singular/ill-conditioned coarse blocks are reported, never silently repaired.
|
||||
The implementation is frozen-state only and must be reconstructed for a new
|
||||
Jacobian. No changed live default is implied by a successful frozen benchmark.
|
||||
|
||||
Saved linear directions receive optional raw trial observations on a fixed
|
||||
alpha grid. The squared-merit screen matches production's sufficient-decrease
|
||||
formula, but the sparse grid is not a replay of its adaptive line search.
|
||||
Remainder scalars are direct FEM observations; saved Jp, RHS and correction
|
||||
allow independent verification of the linear defect and merit slope.
|
||||
|
||||
## Compatibility of the rotating n=3 target
|
||||
|
||||
This is a separate physical-model issue, not an explanation of the measured
|
||||
n=2 stall. The driver derives K from a nonrotating Lane–Emden model with
|
||||
M=R=1 and retains M=1 when J changes. At n=3 that mass/K combination is
|
||||
critical: the nonrotating mass M_LE(K) is independent of central density.
|
||||
|
||||
For nonnegative finite-energy density with the exact EOS P=K rho^(4/3), the
|
||||
sharp gravitational-energy bound gives
|
||||
|
||||
|W| <= 3 integral(P) (M/M_LE(K))^(2/3).
|
||||
|
||||
The bound holds for nonradial densities as well. Its relation to Lane–Emden
|
||||
mass is given in equations (1.14)–(1.15) and Theorem 3.1 of Cheng, Cheng and
|
||||
Lin, [Expanding solutions near unstable Lane-Emden stars](https://arxiv.org/html/2305.10218#S3.SS1).
|
||||
The paper uses G=1; restoring G in W leaves the displayed mass-ratio form.
|
||||
|
||||
Our inference from this bound and the isolated steady virial identity is:
|
||||
at M=M_LE(K), W+3 integral(P)>=0, while nonzero angular momentum at finite
|
||||
moment of inertia requires T>=J^2/(2I)>0. Thus 2T+W+3 integral(P)=0 is
|
||||
impossible. A rotating n=3 family needs M>M_LE(K); at fixed M=1 this means
|
||||
K below the driver's nonrotating critical value. This necessary condition
|
||||
does not itself construct a rotating equilibrium or choose its rotation rate.
|
||||
Fixing an additional central density cannot repair incompatible physical
|
||||
specifications; a central artificial force could instead mask them.
|
||||
|
||||
The exact continuum statement must not be applied uncritically to the
|
||||
present discrete equations: independent rho and P(h), weak EOS consistency,
|
||||
negative density, gravity approximation and central forcing can bypass its
|
||||
assumptions. Numerical Lane–Emden integration also makes the driver's K only
|
||||
approximately critical. A small discrete virial in such a case would require
|
||||
careful interpretation. No mass/K change has been made in this campaign.
|
||||
|
||||
70
experiments/convergence_gravity_path_cases_2026-09-19.json
Normal file
70
experiments/convergence_gravity_path_cases_2026-09-19.json
Normal file
@@ -0,0 +1,70 @@
|
||||
[
|
||||
{
|
||||
"id": "n2_restart_raw",
|
||||
"arguments": [
|
||||
"--index",
|
||||
"2",
|
||||
"--angular-momentum",
|
||||
"0",
|
||||
"--surface-prescription",
|
||||
"harmonics",
|
||||
"--surface-degree",
|
||||
"4",
|
||||
"--restart",
|
||||
"160",
|
||||
"--max-linear",
|
||||
"300",
|
||||
"--rtol",
|
||||
"0",
|
||||
"--atol",
|
||||
"1e-12",
|
||||
"--no-central",
|
||||
"--max-newton",
|
||||
"6",
|
||||
"--linear-tol",
|
||||
".03",
|
||||
"--strategy",
|
||||
"baseline",
|
||||
"--restart-snapshot",
|
||||
"../../diagnostics/coupled_convergence_2026-09-19/screen_v1/n2_J0/capture_3/physical_base.txt",
|
||||
"--allow-unconverged-restart",
|
||||
"--model-slices",
|
||||
"--slice-subdivisions",
|
||||
"4"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "n2_restart_gravity_path",
|
||||
"arguments": [
|
||||
"--index",
|
||||
"2",
|
||||
"--angular-momentum",
|
||||
"0",
|
||||
"--surface-prescription",
|
||||
"harmonics",
|
||||
"--surface-degree",
|
||||
"4",
|
||||
"--restart",
|
||||
"160",
|
||||
"--max-linear",
|
||||
"300",
|
||||
"--rtol",
|
||||
"0",
|
||||
"--atol",
|
||||
"1e-12",
|
||||
"--no-central",
|
||||
"--max-newton",
|
||||
"6",
|
||||
"--linear-tol",
|
||||
".03",
|
||||
"--strategy",
|
||||
"curvature",
|
||||
"--restart-snapshot",
|
||||
"../../diagnostics/coupled_convergence_2026-09-19/screen_v1/n2_J0/capture_3/physical_base.txt",
|
||||
"--allow-unconverged-restart",
|
||||
"--model-slices",
|
||||
"--slice-subdivisions",
|
||||
"4"
|
||||
]
|
||||
}
|
||||
]
|
||||
164
experiments/convergence_linear_cases_2026-09-19.json
Normal file
164
experiments/convergence_linear_cases_2026-09-19.json
Normal file
@@ -0,0 +1,164 @@
|
||||
[
|
||||
{
|
||||
"id": "n2_late_gravity",
|
||||
"arguments": [
|
||||
"--index",
|
||||
"2",
|
||||
"--angular-momentum",
|
||||
"0",
|
||||
"--surface-prescription",
|
||||
"harmonics",
|
||||
"--surface-degree",
|
||||
"4",
|
||||
"--restart",
|
||||
"160",
|
||||
"--max-linear",
|
||||
"300",
|
||||
"--rtol",
|
||||
"0",
|
||||
"--atol",
|
||||
"1e-12",
|
||||
"--max-newton",
|
||||
"0",
|
||||
"--linear-tol",
|
||||
".003",
|
||||
"--preconditioner-probe",
|
||||
"--preconditioner-variant",
|
||||
"gravity-schur",
|
||||
"--restart-snapshot",
|
||||
"../../diagnostics/coupled_convergence_2026-09-19/screen_v1/n2_J0/capture_3/physical_base.txt",
|
||||
"--allow-unconverged-restart",
|
||||
"--no-central",
|
||||
"--benchmark-trials"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "n2_late_surface",
|
||||
"arguments": [
|
||||
"--index",
|
||||
"2",
|
||||
"--angular-momentum",
|
||||
"0",
|
||||
"--surface-prescription",
|
||||
"harmonics",
|
||||
"--surface-degree",
|
||||
"4",
|
||||
"--restart",
|
||||
"160",
|
||||
"--max-linear",
|
||||
"300",
|
||||
"--rtol",
|
||||
"0",
|
||||
"--atol",
|
||||
"1e-12",
|
||||
"--max-newton",
|
||||
"0",
|
||||
"--linear-tol",
|
||||
".003",
|
||||
"--preconditioner-probe",
|
||||
"--preconditioner-variant",
|
||||
"surface-border-schur",
|
||||
"--restart-snapshot",
|
||||
"../../diagnostics/coupled_convergence_2026-09-19/screen_v1/n2_J0/capture_3/physical_base.txt",
|
||||
"--allow-unconverged-restart",
|
||||
"--no-central"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "n2_late_combined",
|
||||
"arguments": [
|
||||
"--index",
|
||||
"2",
|
||||
"--angular-momentum",
|
||||
"0",
|
||||
"--surface-prescription",
|
||||
"harmonics",
|
||||
"--surface-degree",
|
||||
"4",
|
||||
"--restart",
|
||||
"160",
|
||||
"--max-linear",
|
||||
"300",
|
||||
"--rtol",
|
||||
"0",
|
||||
"--atol",
|
||||
"1e-12",
|
||||
"--max-newton",
|
||||
"0",
|
||||
"--linear-tol",
|
||||
".003",
|
||||
"--preconditioner-probe",
|
||||
"--preconditioner-variant",
|
||||
"gravity-schur-surface-border-schur",
|
||||
"--restart-snapshot",
|
||||
"../../diagnostics/coupled_convergence_2026-09-19/screen_v1/n2_J0/capture_3/physical_base.txt",
|
||||
"--allow-unconverged-restart",
|
||||
"--no-central",
|
||||
"--benchmark-trials"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "n2_late_tight_combined",
|
||||
"arguments": [
|
||||
"--index",
|
||||
"2",
|
||||
"--angular-momentum",
|
||||
"0",
|
||||
"--surface-prescription",
|
||||
"harmonics",
|
||||
"--surface-degree",
|
||||
"4",
|
||||
"--restart",
|
||||
"160",
|
||||
"--max-linear",
|
||||
"300",
|
||||
"--rtol",
|
||||
"0",
|
||||
"--atol",
|
||||
"1e-12",
|
||||
"--max-newton",
|
||||
"0",
|
||||
"--linear-tol",
|
||||
"1e-7",
|
||||
"--preconditioner-probe",
|
||||
"--preconditioner-variant",
|
||||
"gravity-schur-surface-border-schur",
|
||||
"--restart-snapshot",
|
||||
"../../diagnostics/coupled_convergence_2026-09-19/screen_v1/n2_J0/capture_3/physical_base.txt",
|
||||
"--allow-unconverged-restart",
|
||||
"--no-central"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "n3_late_combined",
|
||||
"arguments": [
|
||||
"--index",
|
||||
"3",
|
||||
"--angular-momentum",
|
||||
"0",
|
||||
"--surface-prescription",
|
||||
"harmonics",
|
||||
"--surface-degree",
|
||||
"4",
|
||||
"--restart",
|
||||
"160",
|
||||
"--max-linear",
|
||||
"300",
|
||||
"--rtol",
|
||||
"0",
|
||||
"--atol",
|
||||
"1e-12",
|
||||
"--max-newton",
|
||||
"0",
|
||||
"--linear-tol",
|
||||
".003",
|
||||
"--preconditioner-probe",
|
||||
"--preconditioner-variant",
|
||||
"gravity-schur-surface-border-schur",
|
||||
"--restart-snapshot",
|
||||
"../../diagnostics/coupled_convergence_2026-09-19/screen_v1/n3_J0_control/capture_7/physical_base.txt",
|
||||
"--allow-unconverged-restart",
|
||||
"--benchmark-trials"
|
||||
]
|
||||
}
|
||||
]
|
||||
Reference in New Issue
Block a user