Files
MeanField/experiments/DAMPED_COUPLED_TRIAL_2026-09-18.md

3.8 KiB

Damped fully coupled trial correction

This investigation branches from 46249d0 onto research/damped-coupled-trial-20260918. It tests two separate mechanisms: bounded damping of one fully coupled correction, and reserving that correction solve for a trial whose merit is reasonably close to its affine prediction. The previous full-step policy remains available and the default solver is unchanged.

Algorithm and architecture

At accepted state x, capture F0=F(x), the actual Newton direction p and J0 p. For outer step alpha and prepared candidate y (raw or gravity-corrected), set L=F0+alpha J0 p and solve J(y)c=L-F(y). The unscaled c must satisfy both the existing independent full-J defect check and the existing norm cap.

The optional search prepares y+beta c with beta=1,1/2,1/4,1/8, always starting from y. One auxiliary solve supplies all four candidates. The first improving candidate passing ordinary outer acceptance ends the search. Otherwise the lowest-merit admissible improvement is retained; an earlier selected candidate is freshly prepared, and complete failure restores y with its current inverse. No accepted-state buffer is written by this transaction.

For the optional attempt selector, D=M(F0)-M(L) must be finite and positive. The solve is eligible when (M(F(y))-M(F0))/D <= k, with default k=1. A deferral spends no auxiliary budget. This is a bounded-work heuristic, not a convergence guarantee. It requires a deterministic metric of the supplied residual with fixed parameters; the default normalized residual metric satisfies this contract.

Algorithms are selected by types: FullCoupledStep/BacktrackedCoupledStep and EveryRejectedCoupledAttempt/NearAcceptanceCoupledAttempt. Runtime iteration counts, reduction factors and tolerances are validated collectively. BacktrackedCoupledCurvatureCorrection composes damping and near-acceptance selection in the existing typed NewtonNumerics recipe. The original CoupledCurvatureCorrection remains the full-step/every-rejected control. Neither changes the physics-facing model specification or central-density policy.

An auxiliary report describes c, not beta c. For a damped candidate the exact remainder identity is

F(y+beta c)-L = (1-beta)(F(y)-L) + beta (J(y)c-(L-F(y))) + E_beta,
E_beta = F(y+beta c)-F(y)-beta J(y)c.

Scaling c therefore does not imply solving the original auxiliary RHS to its original tolerance. The actual freshly prepared residual decides acceptance.

Reproduction and evidence

The versioned damped_coupled_screen_2026-09-18.json compares none/full/damped/near for the late n=1.5,J=0 snapshot on raw and gravity-corrected paths, plus a seed control. No central constraint is imposed. Each sequence captures once, shares one auxiliary-solve budget, tests every halving from alpha=1 through 1/4096 and stops at its first accepted candidate. The prior independent-alpha screen did not represent this shared budget and omitted some intermediate step lengths.

The campaign runner builds a clean committed revision, copies an immutable executable and hashes mesh, inputs and outputs. The experiment calls the same production transaction and production gravity correction as Newton. It records every candidate evaluation, fresh selected-state replay and unchanged accepted buffers/normalization. Only the accepted trial is replayed for quadrature-14 and quadrature-18 physical observations, outside the timed selection phase.

Operation timings exclude artifact output and physical replay; search wall time also includes artifact output. Callback vector copies remain in the measured transaction. The no-correction control captures the same tangent for a comparable screen, so capture cost is reported separately and is not ordinary Newton work for that control. All builds and numerical cases run serially; artifact audits run after timed FEM work.