|
peclet-amr 0.2.0
Block-local-Morton AMR octree + collocated cut-cell Navier–Stokes solver (header-only C++20, Kokkos + MPI)
|
(uf_scheme − uf_std) for the div-free FACE field uf_k = ½(u_i+u_j) − (φ₊−φ₋)/d, one delta row per forEachFaceFull SLOT (cell-major enumeration — the FaceGeom / oracle faceStart CSR order, identical on both engines). More...
#include <cf_scheme.hpp>
Public Attributes | |
| CfCompCsr | vel |
| reads the velocity components, rows = face slots | |
(uf_scheme − uf_std) for the div-free FACE field uf_k = ½(u_i+u_j) − (φ₊−φ₋)/d, one delta row per forEachFaceFull SLOT (cell-major enumeration — the FaceGeom / oracle faceStart CSR order, identical on both engines).
At a 2:1 sub-face the FACE AVERAGE becomes the distance-weighted {u_fine, u_coarse*} interpolation — the very entries buildCfDivDelta books, from the one emitter, so the advecting flux matches the divergence constraint: Δvel = (wF−½)·u_F + (wC−½)·u_C + wC·(u_C* − u_C) [face-normal component] Both incident slots of a shared sub-face produce the identical value (conservative). Emitted only on faces the per-FACE gate passes (cfFace, above).
THE FACE GRADIENT GETS NO DELTA, and that is rule (I) of docs/amr_cf_flux_gate.md §4, not an omission: with uf = F(u*) − Gf φ, rhs = D_std F(u*) and L = D_std Gf, the flux property D_std uf = rhs − Lφ (the solver residual) holds iff every term of F is in both rhs and uf AND every term of Gf is in L. A quadratic coarse* substituted into uf's compact (φ₊−φ₋)/d is a term the standard pressure matrix never inverts. It WAS built and applied until 1b0d5b5 and was the whole of uf's flux imbalance (‖D(Δφ)‖ 6.7e-03 against a 1.3e-12 solve residual on a graded sphere); it was then left built but unapplied, and the CSR was deleted outright on 2026-09-22 (§6.7) once its last reader went — a CSR that must never be applied is a trap for the next session. If a quadratic face gradient in uf is ever wanted, the pressure matrix has to invert the same operator; §6.8 of the note records the deferred L_std φ^{k+1} = rhs − (L_quad − L_std) φ^k deferred-correction path that would buy it without giving up MG-PCG.
Definition at line 487 of file cf_scheme.hpp.
| CfCompCsr peclet::amr::CfUfDelta::vel |
reads the velocity components, rows = face slots
Definition at line 488 of file cf_scheme.hpp.
Referenced by peclet::amr::buildCfUfDelta(), peclet::amr::oracle::AmrFlow< Bits >::buildFaceField(), and peclet::amr::oracle::AmrFlow< Bits >::cfFluxIdentity().