core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::vof::VofMetric Struct Reference

The per-axis cell size, in the solver's reference length (hRef), of the cell these kernels map to the unit cube. More...

#include <plic.hpp>

Public Member Functions

bool isotropic () const
 
double det () const
 
double maxH () const
 
double minH () const
 
void toPhys (const double X[3], double out[3]) const
 Index displacement -> physical displacement (in hRef): ‘X’_a = h[a] X_a`.
 

Public Attributes

double h [3] = {1.0, 1.0, 1.0}
 

Detailed Description

The per-axis cell size, in the solver's reference length (hRef), of the cell these kernels map to the unit cube.

Every VOLUME-FRACTION operation in this file is metric-free and stays so. With ‘x’_a = h[a] * xi_athe cell is the unit cube inxi, volumes scale by the constant det H = h0 h1 h2, and every *fraction* — the colour,plicVolume, a slab or box volume, a face flux, an axis ratio — is the same number in both frames. A planen . x' = dwith a unit PHYSICAL normalnism . xi = alphawithm = H nandalpha = d, and the MYC/Youngs estimators difference the colour on the index lattice, so what they return ISm`: a stretched cell needs no new normal estimator and no new plane<->volume routine.

What the map does NOT preserve is angles, lengths and areas, so three quantities acquire the per-cell, per-orientation factor s(m) = |H^-1 m| / |m| (vofPhysNormal returns it):

physical unit normal   n = H^-1 m / (|m| s)
normal distance        phi_phys = phi_xi / s
interfacial area       A_phys   = A_xi * det(H) * s

Isotropy is bitwise by construction. Every factor below is either a ratio that is exactly 1.0 at equal spacings (x/x, and x*1.0 == x, x/1.0 == x in IEEE-754) or the same value applied on every axis in the same loop order. The default {1,1,1} therefore reproduces the pre-Phase-3 arithmetic bit for bit, which is what the extent=None battery gates.

Definition at line 108 of file plic.hpp.

Member Function Documentation

◆ isotropic()

bool peclet::core::vof::VofMetric::isotropic ( ) const
inline

Definition at line 111 of file plic.hpp.

References h.

◆ det()

double peclet::core::vof::VofMetric::det ( ) const
inline

Definition at line 112 of file plic.hpp.

References h.

◆ maxH()

double peclet::core::vof::VofMetric::maxH ( ) const
inline

Definition at line 113 of file plic.hpp.

References h.

◆ minH()

double peclet::core::vof::VofMetric::minH ( ) const
inline

Definition at line 117 of file plic.hpp.

References h.

◆ toPhys()

void peclet::core::vof::VofMetric::toPhys ( const double  X[3],
double  out[3] 
) const
inline

Member Data Documentation

◆ h


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