|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
flow — WO-P3d: the block driver of the marching-tetrahedra interfacial area. More...
#include <Kokkos_Core.hpp>#include <stdexcept>#include "mac_stencils.hpp"#include "policy.hpp"#include "vof/advect_wy.hpp"#include "vof/curvature_field.hpp"#include "vof/interface_area.hpp"#include "vof/marching_cubes.hpp"#include "vof/phase_change.hpp"#include "vof/plic.hpp"Go to the source code of this file.
Classes | |
| class | peclet::flow::vof::VofMcArea |
Interfacial area per cell from the marching-tetrahedra surface of the C = 1/2 level set (or of the PLIC-reconstructed signed distance — set_phase_change_area modes 4-7). More... | |
| struct | peclet::flow::vof::VofMcArea::Stats |
Namespaces | |
| namespace | peclet |
| namespace | peclet::flow |
| namespace | peclet::flow::vof |
flow — WO-P3d: the block driver of the marching-tetrahedra interfacial area.
vof/marching_cubes.hpp holds the container-free kernels; this file walks the colour advector's g = 3 block with them, exactly the split curvature.hpp / curvature_field.hpp and interface_area.hpp / interface_area_field.hpp already use. It is a SIBLING of VofInterfaceArea and not a mode inside it (hard rule 1: VofInterfaceArea's passes carry WO-P3c's gated numbers and are not touched here).
Output: one field, area — the interfacial area booked to each cell, in h^2.
A cell is a corner of the 8 dual cubes whose corners span +-1 around it; the planes those corners carry come from a MYC normal that reads +-1, so the whole stencil is +-2 — inside the colour block's g = 3 with a layer to spare, i.e. no new halo. There is no reduction in it but the census, and the deposit is a GATHER with a fixed loop order (the cell re-derives the triangles of each of its 8 cubes and keeps its own share), never an atomic scatter — so the result is decomposition-independent bit for bit, which is the WO-P01 lesson applied to a quantity that is naturally a scatter.
Definition in file marching_cubes_field.hpp.