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

Interfacial area per cell from the V3 curvature cascade's own geometry. More...

#include <interface_area_field.hpp>

Classes

struct  Stats
 Per-call census over the inner region (LOCAL; a distributed caller sums it). More...
 

Public Member Functions

void init (int nx, int ny, int nz, int ghost)
 
bool ready () const
 
SField area () const
 
SField branch () const
 
Stats compute (SField c, int mode)
 
void reconstructPlanes (SField c)
 
void heightPass (SField c, int mode)
 Tiers 1 and 2a: the height function in the preferred direction, then the other two, with the identical column/consistency rules VofCurvature::heightPass uses.
 
void fallbackPass (SField c, int mode)
 Tier 3: the PLIC-volumetric paraboloid fit, whose GRADIENT at the origin is the accurate normal here — the same fit whose second derivatives paraboloidKappa turns into curvature.
 
Stats census () const
 

Public Attributes

VofMetric metric
 The anisotropic cell metric (Phase 3); {1,1,1} == the pre-Phase-3 arithmetic.
 
double weightWidth = kPvWeightWidth
 
double monoTol = 1e-6
 
double pureEps = 0.0
 Purity tolerance of the height-function column walk – the same contract as VofCurvature::pureEps: set it to the tolerance the colour field was advected at (WyAdvector::wispEps), or the HF tier silently decays into the footprint fallback as bulk cells drift into the band between the two.
 
double cosMin = 0.2
 
double interfaceEps = 0.0
 The interfacial predicate's wisp threshold.
 

Detailed Description

Interfacial area per cell from the V3 curvature cascade's own geometry.

Definition at line 38 of file interface_area_field.hpp.

Member Function Documentation

◆ init()

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

◆ ready()

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

◆ area()

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

◆ branch()

SField peclet::flow::vof::VofInterfaceArea::branch ( ) const
inline

Definition at line 69 of file interface_area_field.hpp.

◆ compute()

Stats peclet::flow::vof::VofInterfaceArea::compute ( SField  c,
int  mode 
)
inline

◆ reconstructPlanes()

void peclet::flow::vof::VofInterfaceArea::reconstructPlanes ( SField  c)
inline

◆ heightPass()

void peclet::flow::vof::VofInterfaceArea::heightPass ( SField  c,
int  mode 
)
inline

Tiers 1 and 2a: the height function in the preferred direction, then the other two, with the identical column/consistency rules VofCurvature::heightPass uses.

A cell that closes gets its area from the patch's own metric (or its normal); a cell that does not is left with branch = -1 for the PV pass.

Definition at line 125 of file interface_area_field.hpp.

References peclet::flow::vof::hfFootprintArea(), peclet::flow::vof::hfSurfaceNormal(), peclet::flow::vof::interfaceAreaFromNormal(), interfaceEps, peclet::flow::vof::kAreaFootprint, peclet::flow::L3(), metric, monoTol, pureEps, peclet::flow::vof::vofIsInterface(), peclet::flow::I3::x, and peclet::flow::I3::y.

Referenced by compute().

◆ fallbackPass()

void peclet::flow::vof::VofInterfaceArea::fallbackPass ( SField  c,
int  mode 
)
inline

Tier 3: the PLIC-volumetric paraboloid fit, whose GRADIENT at the origin is the accurate normal here — the same fit whose second derivatives paraboloidKappa turns into curvature.

Definition at line 197 of file interface_area_field.hpp.

References area(), cosMin, peclet::flow::vof::interfaceAreaFromNormal(), interfaceEps, peclet::flow::vof::kAreaFootprint, peclet::flow::vof::kAreaNormal, peclet::flow::L3(), metric, peclet::flow::vof::plicAreaMetric(), peclet::flow::vof::pvSurfaceNormal(), peclet::flow::vof::vofIsInterface(), and weightWidth.

Referenced by compute().

◆ census()

Stats peclet::flow::vof::VofInterfaceArea::census ( ) const
inline

Definition at line 259 of file interface_area_field.hpp.

References peclet::flow::L3().

Referenced by compute().

Member Data Documentation

◆ metric

VofMetric peclet::flow::vof::VofInterfaceArea::metric

The anisotropic cell metric (Phase 3); {1,1,1} == the pre-Phase-3 arithmetic.

Definition at line 73 of file interface_area_field.hpp.

Referenced by fallbackPass(), heightPass(), and peclet::flow::Solver< Grid >::pushVofMetric().

◆ weightWidth

double peclet::flow::vof::VofInterfaceArea::weightWidth = kPvWeightWidth

Definition at line 74 of file interface_area_field.hpp.

Referenced by fallbackPass().

◆ monoTol

double peclet::flow::vof::VofInterfaceArea::monoTol = 1e-6

Definition at line 75 of file interface_area_field.hpp.

Referenced by heightPass().

◆ pureEps

double peclet::flow::vof::VofInterfaceArea::pureEps = 0.0

Purity tolerance of the height-function column walk – the same contract as VofCurvature::pureEps: set it to the tolerance the colour field was advected at (WyAdvector::wispEps), or the HF tier silently decays into the footprint fallback as bulk cells drift into the band between the two.

Solver sets it; floored by core at 1e-10.

Definition at line 80 of file interface_area_field.hpp.

Referenced by heightPass(), and peclet::flow::Solver< Grid >::pcAreaCascadeCompute().

◆ cosMin

double peclet::flow::vof::VofInterfaceArea::cosMin = 0.2

Definition at line 81 of file interface_area_field.hpp.

Referenced by fallbackPass().

◆ interfaceEps

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

The interfacial predicate's wisp threshold.

The phase-change driver passes ITS OWN (pcEffInterfaceEps), because a cell this driver calls pure would get area 0 while pcIsInterfacial still gave it an mdot — the two classifications must be the same one.

Definition at line 85 of file interface_area_field.hpp.

Referenced by fallbackPass(), heightPass(), peclet::flow::Solver< Grid >::pcAreaCascadeCompute(), and reconstructPlanes().


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