|
core 0.5.0
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
|
(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 | |
| CfCsr | phi |
| reads the projection potential φ, 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: face average → the distance-weighted {u_fine, u_coarse*} interpolation (as in buildCfDivDelta, so the advecting flux matches the divergence constraint): Δvel = (wF−½)·u_F + (wC−½)·u_C + wC·(u_C* − u_C) [face-normal component] face gradient → coarse* substitution in the compact (φ₊−φ₋)/d (the P5b flux form): Δphi = −sideSign·(φ_C* − φ_C)/d, sideSign = +1 iff the coarse cell is on the + side. Both incident slots of a shared sub-face produce the identical value (conservative). Emitted only for faces whose BOTH centers are fluid (the advection gate; closed faces' uf is unused). The vel/phi parts apply with the standard cfApplyComp / cfApply over uf's slot array.
Definition at line 386 of file cf_scheme.hpp.
| CfCompCsr peclet::core::amr::CfUfDelta::vel |
reads the velocity components, rows = face slots
Definition at line 387 of file cf_scheme.hpp.
Referenced by peclet::core::amr::buildCfUfDelta(), and peclet::core::amr::oracle::AmrFlow< Bits >::buildFaceField().
| CfCsr peclet::core::amr::CfUfDelta::phi |
reads the projection potential φ, rows = face slots
Definition at line 388 of file cf_scheme.hpp.
Referenced by peclet::core::amr::buildCfUfDelta(), and peclet::core::amr::oracle::AmrFlow< Bits >::buildFaceField().