Record coupled harmonic surface validation and preconditioner baseline

This commit is contained in:
2026-09-19 09:22:36 -04:00
parent 7b0eb8d92d
commit 1148c099e3

View File

@@ -71,6 +71,94 @@ Evidence directory: `../../diagnostics/spherical_harmonic_surface_2026-09-19` re
- The two-rank invocation exited successfully. It exercised the explicit harmonic rejection paths; tests requiring serial physical preparation were skipped. This does not establish distributed harmonic-solver support.
- The independent artifact auditor passed its valid fixture and rejected six deliberate corruptions (catalog, radial displacement, excluded force, norm, nonfinite data and coefficient count).
Clang initially exhausted its source-location budget when the new interfaces included all of MFEM. Narrowing their includes and moving the non-template metric assembly into an implementation file resolved the test-build failure without changing compiler flags or numerical behavior. The test executable and sandbox have built successfully; live driver/results are recorded below when complete.
Clang initially exhausted its source-location budget when the new interfaces included all of MFEM. Narrowing their includes and moving the non-template metric assembly into an implementation file resolved the test-build failure without changing compiler flags or numerical behavior. The test executable, sandbox and live diagnostic driver all built successfully.
A small modal residual or good virial balance alone is not proof of a physically accurate rotating model.
## Live coupled results
All five cases used the same mesh, cold Lane–Emden initialization, no central-density constraint, the baseline line search and a six-update budget. The stopping criterion was `||F|| / ||F_initial|| <= 1e-8` with zero absolute tolerance. Each linear solve used restart 160, at most 200 iterations and a true relative residual gate of 0.03. All 29 accepted updates took a full step with one trial, and all passed that linear gate. Surface coefficients, thermodynamic fields, gravity and global multipliers were solved in the same coupled system throughout.
The runs below establish native integration and a baseline for the next preconditioner investigation. They do **not** test 50% critical rotation. `J=0.01` is the driver's angular-momentum input in its unit-mass/unit-reference-radius/unit-G convention, not a calibrated fraction of critical rotation.
| Case | Shape parameters | Newton updates | Final normalized residual | Final / initial residual | Outcome | Newton time (s) | Process wall time (s) |
|---|---:|---:|---:|---:|---|---:|---:|
| n=1, J=0 | 25 | 5 | 1.52715e-12 | 9.64952e-9 | Converged | 146.00 | 210.55 |
| n=1.5, J=0 | 25 | 6 | 1.29965e-12 | 5.01751e-9 | Converged | 221.40 | 290.70 |
| n=1, J=0.01 | 25 | 6 | 3.86299e-13 | 4.29274e-10 | Converged | 197.23 | 265.89 |
| n=1, J=0.01, m=0 | 5 | 6 | 3.08442e-13 | 3.42757e-10 | Converged | 164.90 | 232.54 |
| n=1.5, J=0, gravity-Schur | 25 | 6 | 2.19823e-11 | 8.48662e-8 | Update budget exhausted | 189.54 | 257.49 |
Process time includes setup and diagnostic observations; Newton time is the sum of the recorded iteration timers. These are single-run observations, not repeated timing benchmarks. The gravity-Schur variant used one correction sweep with relaxation 0.5. Its failure to meet the requested tolerance within six updates is not evidence of a plateau: its last update still reduced the residual by about 40 times.
### Virial balance and internal correctness
The following are the final q18 measurements. All enthalpy-based energy and force virial errors also pass 1e-5 at q14. The energy form uses the potential binding energy; the force form uses the force binding integral. Both are normalized by the magnitude of the potential binding energy in the existing observer.
| Case | Energy virial, P(h) | Force virial, P(h) | Energy virial, P(rho) | Force virial, P(rho) |
|---|---:|---:|---:|---:|
| n=1, J=0 | 3.87036e-7 | 2.65938e-7 | 4.26994e-7 | 3.05896e-7 |
| n=1.5, J=0 | 6.55153e-7 | 6.00565e-7 | Undefined | Undefined |
| n=1, J=0.01 | 3.86528e-7 | 2.65956e-7 | 4.26535e-7 | 3.05963e-7 |
| n=1, J=0.01, m=0 | 3.86668e-7 | 2.65918e-7 | 4.26626e-7 | 3.05876e-7 |
| n=1.5, gravity-Schur | 6.55158e-7 | 6.00559e-7 | Undefined | Undefined |
The n=1 cases have no negative density at the sampled interior quadrature points. For baseline n=1.5, however, the minimum sampled density is **-4.07687e-4**, the negative-density mass fraction is **2.89318e-5**, and the negative-density volume fraction is **0.0186652**. The fractional polytropic density EOS is undefined at those samples. Its density-derived pressure integral and both density-based virial measures are therefore undefined, not successful tests. The gravity-Schur endpoint has essentially the same defect.
| Case | Scaled EOS density mismatch RMS | Hydrostatic gradient RMS, initial | Hydrostatic gradient RMS, final | Minimum deformation determinant |
|---|---:|---:|---:|---:|
| n=1, J=0 | 7.79532e-5 | 1.15196e-3 | 3.96736e-3 | 0.998938 |
| n=1.5, J=0 | 1.25551e-4 | 1.52810e-3 | 7.27475e-3 | 0.998671 |
| n=1, J=0.01 | 7.80099e-5 | 1.47640e-3 | 3.96661e-3 | 0.997774 |
| n=1, J=0.01, m=0 | 7.79615e-5 | 1.47640e-3 | 3.95930e-3 | 0.997774 |
These pointwise diagnostics are not the assembled weak residual. The n=1.5 hydrostatic gradient RMS worsens by **4.76 times** while the native residual converges. This reproduces the main physical caveat from yesterday's projected-space experiment; the new implementation has not resolved it. Mass errors are below 5.3e-14 for the four converged cases, and angular-momentum errors are below 3.6e-16.
Quadrature sensitivity is small for the enthalpy energy virial: q18 versus q14 differs by at most 7.7e-14 for these n=1 cases and about 1.83e-9 for n=1.5. The n=1.5 negative-density mass fraction, in contrast, changes by about 30% between these quadratures. Good integral virial stability must not be used as evidence that the positivity defect is resolved or fully measured.
### What the restricted surface balance leaves out
The final full nodal mechanical force is almost entirely orthogonal to the selected harmonic span. Its Euclidean norm is approximately **9.22e-6** for n=1, J=0 and **8.99e-6** for n=1.5, J=0. In the latter case, the retained modal force norm is only **3.61e-14**. The independent audit reproduces the basis pullback and excluded-force projection from saved vectors.
This is convergence of the selected Galerkin shape problem, not convergence of the former unrestricted nodal shape problem. Orthogonality of the remaining force is expected at a modal root; the absolute excluded force still needs a degree/mesh convergence study and an appropriate physical or dual-norm interpretation. Its dimensional Euclidean norm cannot be compared directly with either the normalized nonlinear residual or the dimensionless virial tolerance.
All signed m modes remain available and coupled in the all-m representation. For example, the final real `(l,m)=(4,4)` coefficient is 8.97263e-5 for n=1, J=0 and 9.23867e-4 for n=1.5, J=0, in radial-length units. The latter is comparable to that case's `(4,0)` coefficient, 1.09313e-3. Nonaxisymmetric corrections in these nominally spherical models are a reason to investigate mesh/discretization imprint under refinement, not evidence of a physical nonaxisymmetric branch. L=4 is a preferred starting resolution, not a validated universal cutoff.
## Implications for the next preconditioner study
| Case | Krylov iterations by Newton update | Total Krylov iterations | Linear-solve time (s) |
|---|---|---:|---:|
| n=1, J=0 | 19, 23, 28, 74, 68 | 212 | 89.79 |
| n=1.5, J=0 | 25, 26, 26, 84, 87, 87 | 335 | 150.06 |
| n=1, J=0.01 | 18, 20, 22, 48, 92, 96 | 296 | 129.96 |
| n=1, J=0.01, m=0 | 18, 20, 22, 27, 65, 67 | 219 | 97.29 |
| n=1.5, gravity-Schur | 18, 20, 18, 22, 70, 58 | 206 | 116.25 |
The m=0 comparison reduces total Krylov iterations by **26.0%** and Newton time by **16.4%** for this low-rotation case, with nearly identical virial measures. It is a useful selectable control. Restricting m also changes the admissible shape, so this is not a pure preconditioner speedup. All m remain the preferred 3D candidate.
Gravity-Schur reduces Krylov work in the six-update comparison but changes the inexact Newton trajectory and does not reach the common stopping tolerance within that budget. Its lower time is not a demonstrated time-to-convergence improvement. Late iteration counts increase substantially even in the 25-parameter system; the recorded initial-linear-residual/RHS ratios remain essentially one, so this observation is not explained by an increasingly poor recycled initial guess.
The next focused experiment should measure the **coupled surface Schur operator** at identical saved states. With surface coefficients `a` and all remaining unknowns `u`, the target is
S = J_aa - J_au J_uu^{-1} J_ua.
The field response must include gravity, thermodynamics and the relevant mass/angular-momentum borders. The existing diagonal boundary metric supplies coordinate scaling but does not model this response. Twenty-five coefficients make a small dense reference Schur matrix feasible as a diagnostic, although its field solves may be expensive. First verify the inner field-block solve defects and determine whether that block has a usable inverse. Measure the Schur singular values, conditioning, spectrum, scaling and setup cost before choosing a reusable approximation; eigenvalues alone do not characterize weak inverse response for a nonsymmetric operator. Compare default diagonal, calibrated diagonal and any new Schur approximation at the same state, then confirm complete nonlinear time to a common tolerance. A block elimination inside the preconditioner still serves the simultaneous coupled Newton solve; it does not introduce a separate surface-relaxation algorithm.
No new gauge constraint, field order, positivity modification or rotation-criticality model is introduced by this integration. Possible weak directions must be measured before deciding that any mode is a gauge or should be removed. Increasing n or J remains subject to the recorded local validation defects as well as the 1e-5 virial milestone.
## Evidence binding
Implementation and live producer source: `7b0eb8d92d0f550f1fe3fb19cd8eecc52dc80c56`. The tracked source was clean during the campaign. The report-only follow-up commit does not alter the producer.
- Mesh SHA256: `ce11ae99e21e6c3bbfbee402acd2e191c1da0d8261d2227b4203f73f2f337a74`.
- Copied live binary SHA256: `855d9b6bc8af326d689840b7eb8bf9c4f85d5f2584ef30c225247803a86ded36`.
- `implementation_validation.json` records build/test evidence and executable hashes.
- `campaign/provenance.json` records the branch, source commit, toolchain, mesh, binary and exact case arguments. Each case's run record binds output hashes and timing.
- `campaign_audit.json` records a successful independent audit of all five cases, saved algebra and scalar identities. This is an artifact-consistency result, not a model-validity certificate or a fresh FEM integration.
- `results_summary.json` contains the compact quantities used in this report; the original CSVs, logs and accepted states remain available in `campaign/`.
To repeat the artifact audit from this checkout:
/opt/homebrew/anaconda3/envs/general/bin/python experiments/audit_spherical_harmonic_surface.py ../../diagnostics/spherical_harmonic_surface_2026-09-19/campaign --output ../../diagnostics/spherical_harmonic_surface_2026-09-19/campaign_audit.json
The preferred surface candidate is now integrated and tested. Acceptance of a physical higher-n or 50%-critical model remains separate from this implementation milestone.