R7-2a: the composite MAC projection on the nested ratio-2 patch (host, additive, uncalled)
embedded3::composite::MacProjection: staggered velocity on the coarse grid and the patch; fine faces own the coarse-fine interface, coarse interface and covered faces are slaved (flux = sum of the fine fluxes); the divergence with the fine cut apertures (+ optional wall flux), the gradient with the Dirichlet boundary and, on the interface, the fine row's own Quadratic-ghost terms, so D G p = b - A p exactly. Composite records the interface faces' terms and the fine cut (matrix unchanged: the phase-1 P1 CSV reproduces digit for digit); solve_bicgstab_with takes a prepared preconditioner. Gates (tests/embedded3_composite_projection.rs): P1 DG identity 4e-16, div after/before <= 7e-14 in every cell class, idempotent 3e-13; P2 MMS orders 1.96-2.02 (L2 and Linf) at the fine/coarse interface faces and the interior; P3 cut sphere div 3e-12, translating body unchanged 4e-14, interface L2 orders 1.96/2.01, cut faces first order as on the uniformly fine grid (composite = uniform fine to 1.6 % of the error); P4 3.7x less time, 4.3x fewer unknowns than uniform fine at the bump's accuracy. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
171da41ed1
commit
cc68336f48