|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
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...
#include <marching_cubes_field.hpp>
Classes | |
| struct | Stats |
Public Member Functions | |
| void | init (int nx, int ny, int nz, int ghost) |
| bool | ready () const |
| SField | area () const |
| Stats | compute (SField c, int mode) |
mode is an InterfaceAreaMode in [kAreaMcColour, kAreaMcPlicSplit]. | |
| void | planePass (SField c) |
| The gas-positive centre distance and unit normal of every cell's own PLIC plane, one layer beyond the inner region (the dual cubes' corners). | |
| void | areaPass (SField c, int src, int dep) |
| The gather: each inner cell walks the 8 dual cubes it is a corner of and keeps its share. | |
| Stats | census (SField c) const |
Public Attributes | |
| VofMetric | metric |
The interfacial predicate's wisp threshold — the phase-change driver passes ITS OWN (pcEffInterfaceEps), so a cell this driver calls pure is the same cell pcIsInterfacial calls pure. | |
| double | interfaceEps = 0.0 |
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).
Definition at line 40 of file marching_cubes_field.hpp.
|
inline |
Definition at line 49 of file marching_cubes_field.hpp.
References peclet::flow::I3::x, peclet::flow::I3::y, and peclet::flow::I3::z.
Referenced by peclet::flow::Solver< Grid >::buildVofBlock(), and peclet::flow::Solver< Grid >::pcAreaCascadeCompute().
|
inline |
Definition at line 65 of file marching_cubes_field.hpp.
Referenced by peclet::flow::Solver< Grid >::buildVofBlock(), compute(), and peclet::flow::Solver< Grid >::pcAreaCascadeCompute().
|
inline |
Definition at line 66 of file marching_cubes_field.hpp.
Referenced by peclet::flow::Solver< Grid >::buildVofBlock(), and peclet::flow::Solver< Grid >::pcAreaCascadeField().
mode is an InterfaceAreaMode in [kAreaMcColour, kAreaMcPlicSplit].
Definition at line 76 of file marching_cubes_field.hpp.
References areaPass(), census(), peclet::flow::vof::kAreaMcColour, peclet::flow::vof::kAreaMcPlic, peclet::flow::vof::kAreaMcPlicSplit, peclet::flow::vof::kMcDepositCentroid, peclet::flow::vof::kMcDepositSplit, peclet::flow::vof::kMcSrcColour, peclet::flow::vof::kMcSrcPlic, planePass(), and ready().
Referenced by peclet::flow::Solver< Grid >::pcAreaCascadeCompute().
The gas-positive centre distance and unit normal of every cell's own PLIC plane, one layer beyond the inner region (the dual cubes' corners).
Definition at line 92 of file marching_cubes_field.hpp.
References interfaceEps, peclet::flow::L3(), peclet::flow::vof::pcCentreDistance(), peclet::flow::vof::pcUnitNormal(), peclet::flow::vof::vofIsInterface(), peclet::flow::I3::x, and peclet::flow::I3::y.
Referenced by compute().
The gather: each inner cell walks the 8 dual cubes it is a corner of and keeps its share.
Definition at line 129 of file marching_cubes_field.hpp.
References interfaceEps, peclet::flow::L3(), peclet::flow::vof::mcCubeCornerArea(), metric, and peclet::flow::vof::vofIsInterface().
Referenced by compute().
Definition at line 180 of file marching_cubes_field.hpp.
References interfaceEps, peclet::flow::L3(), and peclet::flow::vof::vofIsInterface().
Referenced by compute().
| VofMetric peclet::flow::vof::VofMcArea::metric |
The interfacial predicate's wisp threshold — the phase-change driver passes ITS OWN (pcEffInterfaceEps), so a cell this driver calls pure is the same cell pcIsInterfacial calls pure.
The anisotropic cell metric (Phase 3); {1,1,1} == the pre-Phase-3 arithmetic.
Definition at line 72 of file marching_cubes_field.hpp.
Referenced by areaPass(), and peclet::flow::Solver< Grid >::pushVofMetric().
| double peclet::flow::vof::VofMcArea::interfaceEps = 0.0 |
Definition at line 73 of file marching_cubes_field.hpp.
Referenced by areaPass(), census(), peclet::flow::Solver< Grid >::pcAreaCascadeCompute(), and planePass().