14#ifndef PECLET_AMR_FACE_GEOM_HPP
15#define PECLET_AMR_FACE_GEOM_HPP
18#include "peclet/core/common/types.hpp"
19#include "peclet/core/common/view.hpp"
65 template <
class FldFn>
SeamView makeSeamView(const FaceGeom &g, bool on)
Bundle a FaceGeom's seam tables for the kernels.
std::vector< std::array< double, Dim > > transferFieldGradients(const BlockOctree< Dim, Bits > &oldT, const std::vector< double > &oldF)
Per-old-leaf minmod prolongation gradients (per fine-coordinate unit) — transferField's stencil,...
View< Index > uuRecJ
per descriptor: upstream-probe record for up == j, else −1
View< double > recDist
per record: dUU for UPSTREAM use (unused as a φ_U* sample)
View< Index > uuRecI
per descriptor: upstream-probe record for up == i, else −1
View< Index > recCell
record entries: cell slot
View< double > alphaArea
α·area (physical) per face, size nFaces
View< int > dir
face direction +1/-1, size nFaces
View< double > recW
record entries: weight
View< double > invVol
1/V_i per cell, size n
View< double > rawArea
raw face area (physical, no openness) per face — advection flux
View< int > axis
face axis 0/1/2, size nFaces
View< Index > upupJ
upstream-of-j probe (periodicNeighbor(j,axis,+dir)) — SOU, size nFaces
View< Index > nbr
neighbour leaf per face, size nFaces
View< double > alpha
openness per face (gradient gate), size nFaces
View< double > dist
face-normal distance (physical) per face, size nFaces
View< Index > start
CSR row offsets, size n+1.
View< Index > sampI
per descriptor: sample record when i is the COARSE cell, else −1
View< Index > seam
descriptor id per face slot, −1 = plain slot; size nFaces
View< Index > upupI
upstream-of-i probe (periodicNeighbor(i,axis,−dir)) — SOU, size nFaces
View< Index > recStart
record CSR offsets, size nRec+1
View< char > fluid
per-cell fluid flag, size n
View< double > d1J
per descriptor: half width of j along the face axis (physical)
View< double > d1I
per descriptor: half width of i along the face axis (physical)
View< Index > sampJ
per descriptor: sample record when j is the COARSE cell, else −1
The seam tables as the advective kernels capture them: const Views plus the ablation flag (AmrFlow::s...
View< const Index > recStart
View< const Index > sampI
View< const Index > recCell
View< const double > recW
View< const Index > sampJ
View< const Index > uuRecJ
View< const double > recDist
double gather(Index r, const FldFn &fld) const
Σ over the record's entries IN RECORD ORDER, never reordered — that is what keeps np = 1 bitwise agai...
View< const Index > uuRecI