|
flow 1.3.0
Kokkos cut-cell IBM incompressible Navier-Stokes solver + pnm pore extraction
|
Classes | |
| struct | BlockLookup |
The block Lookup of cs::buildProbe for one facet's cell: unknown flags (haloed) at lattice offsets, and the phase-signed SDF trilinear at an index-space point relative to the cell. More... | |
| struct | CellPass |
| Per-cell flags of the record pass, on the INNER grid (x fastest). More... | |
| struct | ScalarCutCensus |
The geometry part of diagnostics.scalar_census (§8.2). More... | |
| struct | ScalarCutGeometry |
| The whole record: per-cell fields on the extended block (kappa and unknown haloed; the apertures computed, never exchanged) plus the facet overlay and the census. More... | |
| struct | ScalarFacetOverlay |
| The facet overlay (§3.5): SoA, facet index fastest. Offsets are LINEAR offsets on the block. More... | |
Functions | |
| template<class V > | |
| double | cornerSample (const V &s, long i0, long sy, long sz) |
Corner sample: the 8 cells whose lowest is i0, in the fixed order of §2.2. | |
| template<class V > | |
| void | cellSamples (const V &s, long i, long sy, long sz, double corner[8], double face[6], double ¢re) |
| The 15 PL samples of the cell at extended linear index i (corner index bx + 2 by + 4 bz, faces -x,+x,-y,+y,-z,+z). | |
| double | lowFaceAperture (const CCConst &s, long i, int a, long sy, long sz) |
The snapped aperture of the -a face of the cell at extended index i (the fan of cs::fanFaceAperture: tangent axes t1 < t2, loop c00, c10, c11, c01). | |
| void | buildApertures (CCField sax, CCField say, CCField saz, CCConst sdf, C3 e, int g) |
| Kernel 1 (§2.5): the snapped scalar apertures of every face of every inner cell, including the high-side face at ghost index ext - G. | |
| template<class V > | |
| void | cellSnapped (const V &sax, const V &say, const V &saz, long i, long sy, long sz, double ap[6]) |
| The snapped apertures of cell i in face order -x,+x,-y,+y,-z,+z. | |
| int | cellFacets (const cs::CutCellGeometry &g, const double ap[6], const double h[3], double area[2][3], double cen[2][3]) |
The operator facets of one cell (§2.3) from its PL record and snapped apertures: returns the count (0, 1 or 2) and, when area/cen are given, the area vectors and centroids. | |
| void | buildCells (CCField kappa, CCField unknown, const CellPass &cp, CCConst sdf, CCConst sax, CCConst say, CCConst saz, C3 e, int g, const double hp[3]) |
| Kernel 2 (§2.5): kappa, the unknown flag and the per-cell facet count/kind on the inner cells. | |
| void | buildFacets (ScalarFacetOverlay &fo, const CellPass &cp, CCConst sdf, CCConst sax, CCConst say, CCConst saz, C3 e, int g, const double hp[3]) |
| Kernel 3 (§2.5): exclusive scans of the facet counts and of the cut-cell indicator in x-fastest inner order; allocates the overlay and fills its geometric members (not body, not the probe). | |
| void | buildFluidProbes (ScalarFacetOverlay &fo, CCConst sdf, CCConst unknown, C3 e, const double hp[3]) |
| Kernel 5 (§2.5, §3.3): the fluid probe ladder of every facet. | |
| void | zeroGhostSlab (CCField f, C3 e, int g, int face) |
Zero f on every ghost layer beyond face face (0..5 = -x,+x,-y,+y,-z,+z), full transverse extent: the halo wraps periodically, so flags beyond a non-periodic global face are cleared. | |
| ScalarCutCensus | localCensus (const ScalarFacetOverlay &fo, const CellPass &cp, CCConst kappa, CCConst unknown, CCConst sax, CCConst say, CCConst saz, C3 e, int g, double vol) |
The census of the record on this rank (not yet summed over ranks); sealedVolume in internal volume units. | |
Variables | |
| constexpr double | kKappaUnknown = 1e-14 |
| kappa above which a cell with an open face is a fluid unknown (§2.4). | |
| constexpr double | kFacetAreaRel = 1e-14 |
| |A^snap| below this times max_a A_a: no facet (§2.3). | |
| double peclet::flow::scg::cornerSample | ( | const V & | s, |
| long | i0, | ||
| long | sy, | ||
| long | sz | ||
| ) |
Corner sample: the 8 cells whose lowest is i0, in the fixed order of §2.2.
(V is any 1-D view of the extended block: the device field, or a host mirror in a test.)
Definition at line 90 of file scalar_cutcell_geometry.hpp.
Referenced by cellSamples(), and lowFaceAperture().
| void peclet::flow::scg::cellSamples | ( | const V & | s, |
| long | i, | ||
| long | sy, | ||
| long | sz, | ||
| double | corner[8], | ||
| double | face[6], | ||
| double & | centre | ||
| ) |
The 15 PL samples of the cell at extended linear index i (corner index bx + 2 by + 4 bz, faces -x,+x,-y,+y,-z,+z).
Definition at line 99 of file scalar_cutcell_geometry.hpp.
References cornerSample().
Referenced by buildCells(), and buildFacets().
The snapped aperture of the -a face of the cell at extended index i (the fan of cs::fanFaceAperture: tangent axes t1 < t2, loop c00, c10, c11, c01).
Definition at line 116 of file scalar_cutcell_geometry.hpp.
References cornerSample().
Referenced by buildApertures().
|
inline |
Kernel 1 (§2.5): the snapped scalar apertures of every face of every inner cell, including the high-side face at ghost index ext - G.
Faces outside that set stay 0.
Definition at line 130 of file scalar_cutcell_geometry.hpp.
References lowFaceAperture().
Referenced by peclet::flow::Solver< Grid >::ensureScalarCutGeometry().
| void peclet::flow::scg::cellSnapped | ( | const V & | sax, |
| const V & | say, | ||
| const V & | saz, | ||
| long | i, | ||
| long | sy, | ||
| long | sz, | ||
| double | ap[6] | ||
| ) |
The snapped apertures of cell i in face order -x,+x,-y,+y,-z,+z.
Definition at line 150 of file scalar_cutcell_geometry.hpp.
Referenced by buildCells(), buildFacets(), and localCensus().
| int peclet::flow::scg::cellFacets | ( | const cs::CutCellGeometry & | g, |
| const double | ap[6], | ||
| const double | h[3], | ||
| double | area[2][3], | ||
| double | cen[2][3] | ||
| ) |
The operator facets of one cell (§2.3) from its PL record and snapped apertures: returns the count (0, 1 or 2) and, when area/cen are given, the area vectors and centroids.
Definition at line 162 of file scalar_cutcell_geometry.hpp.
References kFacetAreaRel.
Referenced by buildCells(), and buildFacets().
|
inline |
Kernel 2 (§2.5): kappa, the unknown flag and the per-cell facet count/kind on the inner cells.
Cells whose 15 samples share one sign are uniform (kappa 1 or 0, no facet) — the core kernel's own fast path.
Definition at line 205 of file scalar_cutcell_geometry.hpp.
References cellFacets(), cellSamples(), cellSnapped(), and kKappaUnknown.
Referenced by peclet::flow::Solver< Grid >::ensureScalarCutGeometry().
|
inline |
Kernel 3 (§2.5): exclusive scans of the facet counts and of the cut-cell indicator in x-fastest inner order; allocates the overlay and fills its geometric members (not body, not the probe).
Definition at line 236 of file scalar_cutcell_geometry.hpp.
References cellFacets(), cellSamples(), and cellSnapped().
Referenced by peclet::flow::Solver< Grid >::ensureScalarCutGeometry().
|
inline |
Kernel 5 (§2.5, §3.3): the fluid probe ladder of every facet.
unknown must be haloed (and zeroed beyond non-periodic global faces) and sdf valid on both ghost layers.
Definition at line 341 of file scalar_cutcell_geometry.hpp.
Referenced by peclet::flow::Solver< Grid >::ensureScalarCutGeometry().
Zero f on every ghost layer beyond face face (0..5 = -x,+x,-y,+y,-z,+z), full transverse extent: the halo wraps periodically, so flags beyond a non-periodic global face are cleared.
Definition at line 375 of file scalar_cutcell_geometry.hpp.
Referenced by peclet::flow::Solver< Grid >::ensureScalarCutGeometry(), and peclet::flow::Solver< Grid >::ensureScalarSolidRecord().
|
inline |
The census of the record on this rank (not yet summed over ranks); sealedVolume in internal volume units.
Definition at line 392 of file scalar_cutcell_geometry.hpp.
References cellSnapped().
Referenced by peclet::flow::Solver< Grid >::ensureScalarCutGeometry().
kappa above which a cell with an open face is a fluid unknown (§2.4).
Definition at line 45 of file scalar_cutcell_geometry.hpp.
Referenced by buildCells().
|A^snap| below this times max_a A_a: no facet (§2.3).
Definition at line 47 of file scalar_cutcell_geometry.hpp.
Referenced by cellFacets().