|
core 1.5.0
Shared MPI block decomposition, asynchronous ghost-layer exchange, SDF geometry, load balancing (header-only C++20)
|
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} |
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.
|
inline |
|
inline |
|
inline |
|
inline |
Index displacement -> physical displacement (in hRef): ‘X’_a = h[a] X_a`.
Definition at line 122 of file plic.hpp.
References h.
Referenced by peclet::core::vof::ptFitAdd(), peclet::core::vof::pvFrameMoments(), peclet::core::vof::pvMomentsBuild(), peclet::core::vof::pvOutsideSupport(), peclet::core::vof::pvTermMoments(), peclet::core::vof::pvTermPolygon(), and peclet::core::vof::vofWettingPlane().
| double peclet::core::vof::VofMetric::h[3] = {1.0, 1.0, 1.0} |
Definition at line 109 of file plic.hpp.
Referenced by det(), peclet::core::vof::hfPatchKappa(), isotropic(), maxH(), minH(), peclet::core::vof::planeCellFractionAniso(), peclet::core::vof::pvTermNormal(), toPhys(), peclet::core::vof::vofIndexNormal(), peclet::core::vof::vofPhysNormal(), peclet::core::vof::vofPhysNormalInv(), and peclet::core::vof::vofWettingPlane().