flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
Loading...
Searching...
No Matches
peclet::flow::vof::VofMcArea Class Reference

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
 

Detailed Description

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.

Member Function Documentation

◆ init()

void peclet::flow::vof::VofMcArea::init ( int  nx,
int  ny,
int  nz,
int  ghost 
)
inline

◆ ready()

bool peclet::flow::vof::VofMcArea::ready ( ) const
inline

◆ area()

SField peclet::flow::vof::VofMcArea::area ( ) const
inline

◆ compute()

◆ planePass()

void peclet::flow::vof::VofMcArea::planePass ( SField  c)
inline

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().

◆ areaPass()

void peclet::flow::vof::VofMcArea::areaPass ( SField  c,
int  src,
int  dep 
)
inline

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().

◆ census()

Stats peclet::flow::vof::VofMcArea::census ( SField  c) const
inline

Definition at line 180 of file marching_cubes_field.hpp.

References interfaceEps, peclet::flow::L3(), and peclet::flow::vof::vofIsInterface().

Referenced by compute().

Member Data Documentation

◆ metric

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().

◆ interfaceEps

double peclet::flow::vof::VofMcArea::interfaceEps = 0.0

The documentation for this class was generated from the following file: