|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
flow — WO-P3c: the view-level driver of the cascade-consistent interfacial area. More...
#include <Kokkos_Core.hpp>#include <stdexcept>#include "mac_stencils.hpp"#include "policy.hpp"#include "vof/advect_wy.hpp"#include "vof/curvature.hpp"#include "vof/curvature_field.hpp"#include "vof/interface_area.hpp"Go to the source code of this file.
Classes | |
| class | peclet::flow::vof::VofInterfaceArea |
| Interfacial area per cell from the V3 curvature cascade's own geometry. More... | |
| struct | peclet::flow::vof::VofInterfaceArea::Stats |
| Per-call census over the inner region (LOCAL; a distributed caller sums it). More... | |
Namespaces | |
| namespace | peclet |
| namespace | peclet::flow |
| namespace | peclet::flow::vof |
flow — WO-P3c: the view-level driver of the cascade-consistent interfacial area.
vof/interface_area.hpp holds the container-free kernels; this file is their block-walking driver, exactly the split curvature.hpp / curvature_field.hpp uses. It produces one output field on the colour advector's g = 3 block:
area — the interfacial area of each cell, in h^2 (0 in non-interfacial cells).Why this is a SIBLING of VofCurvature and not a second output of it. Hard rule 1 of the VoF campaign: never edit a validated kernel body. VofCurvature::heightPass / fallbackPass are gated by rung V3's numbers; adding a write to them would put every one of those numbers back in play. The cascade walk is therefore repeated here, calling the SAME container-free kernels (hfColumnHeight, curvFrame, PvFit, plicPolygon) with the same tolerances and the same tier order, so the two drivers agree on which tier serves a cell by construction. The duplication is deliberate and is the cheaper half of the trade: a consolidation (one pass emitting kappa AND area) belongs with the next re-validation of V3.
The reach is unchanged — tier 1/2 read a 3x3x7 colour patch, tier 3 a 5^3 of PLIC planes whose MYC normals read +-1 around them, i.e. +-3 everywhere — so this needs no new halo and, having no reduction in it except the census, is bitwise decomposition-independent by construction.
Definition in file interface_area_field.hpp.