peclet-amr 0.2.0
Block-local-Morton AMR octree + collocated cut-cell Navier–Stokes solver (header-only C++20, Kokkos + MPI)
Loading...
Searching...
No Matches
peclet::amr::AmrFlow< Bits >::FaceTopologyHost Struct Reference

The face CSR topology faceField() is indexed by, copied to host: start the per-cell row offsets (size n+1), then per (sub)face the neighbour leaf, the face axis (0/1/2) and the direction (+1/-1, pointing from the owning cell to the neighbour). More...

#include <flow.hpp>

Public Attributes

std::vector< Index > start
 
std::vector< Index > nbr
 
std::vector< Index > upupI
 
std::vector< Index > upupJ
 
std::vector< int > axis
 
std::vector< int > dir
 
std::vector< double > rawArea
 
std::vector< double > dist
 
std::vector< double > alpha
 
std::vector< double > center
 World centre of EVERY slot (local leaves then ghosts, size nExt): the only way a caller can say what cell a ghost index in nbr / recCell is, and so the only way the record tables can be compared across decompositions (gate WO1c).
 
Seam reconstruction

The SeamReconHost tables (seam_recon.hpp, docs/amr_cf_convective.md §5.2) as uploaded; empty where no tables were built (CfScheme::standard).

std::vector< Index > seam
 
std::vector< Index > sampI
 
std::vector< Index > sampJ
 
std::vector< Index > uuRecI
 
std::vector< Index > uuRecJ
 
std::vector< Index > recStart
 
std::vector< Index > recCell
 
std::vector< double > d1I
 
std::vector< double > d1J
 
std::vector< double > recDist
 
std::vector< double > recW
 

Detailed Description

template<unsigned Bits = 21u>
struct peclet::amr::AmrFlow< Bits >::FaceTopologyHost

The face CSR topology faceField() is indexed by, copied to host: start the per-cell row offsets (size n+1), then per (sub)face the neighbour leaf, the face axis (0/1/2) and the direction (+1/-1, pointing from the owning cell to the neighbour).

A 2:1 sub-face is one whose two incident leaves sit at different octree levels, which the caller reads off the octree's own levels(). Under MPI a neighbour index >= numLeaves() is a ghost slot. rawArea is the face area the ADVECTIVE flux uses (at a 2:1 sub-face, the FINE area, so the four sub-faces of a coarse face sum to the coarse area); dist the face-normal centre distance (1.5 h_fine at a 2:1 sub-face); upupI / upupJ the second upwind probes the SOU/Koren reconstruction samples, -1 where none exists.

Definition at line 1914 of file flow.hpp.

Member Data Documentation

◆ start

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::start

Definition at line 1915 of file flow.hpp.

Referenced by peclet::amr::AmrFlow< Bits >::faceTopology().

◆ nbr

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::nbr

Definition at line 1915 of file flow.hpp.

◆ upupI

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::upupI

Definition at line 1915 of file flow.hpp.

◆ upupJ

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::upupJ

Definition at line 1915 of file flow.hpp.

◆ axis

template<unsigned Bits = 21u>
std::vector<int> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::axis

Definition at line 1916 of file flow.hpp.

◆ dir

template<unsigned Bits = 21u>
std::vector<int> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::dir

Definition at line 1916 of file flow.hpp.

◆ rawArea

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::rawArea

Definition at line 1917 of file flow.hpp.

◆ dist

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::dist

Definition at line 1917 of file flow.hpp.

◆ alpha

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::alpha

Definition at line 1917 of file flow.hpp.

◆ seam

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::seam

Definition at line 1922 of file flow.hpp.

◆ sampI

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::sampI

Definition at line 1922 of file flow.hpp.

◆ sampJ

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::sampJ

Definition at line 1922 of file flow.hpp.

◆ uuRecI

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::uuRecI

Definition at line 1922 of file flow.hpp.

◆ uuRecJ

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::uuRecJ

Definition at line 1922 of file flow.hpp.

◆ recStart

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::recStart

Definition at line 1922 of file flow.hpp.

◆ recCell

template<unsigned Bits = 21u>
std::vector<Index> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::recCell

Definition at line 1922 of file flow.hpp.

◆ d1I

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::d1I

Definition at line 1923 of file flow.hpp.

◆ d1J

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::d1J

Definition at line 1923 of file flow.hpp.

◆ recDist

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::recDist

Definition at line 1923 of file flow.hpp.

◆ recW

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::recW

Definition at line 1923 of file flow.hpp.

◆ center

template<unsigned Bits = 21u>
std::vector<double> peclet::amr::AmrFlow< Bits >::FaceTopologyHost::center

World centre of EVERY slot (local leaves then ghosts, size nExt): the only way a caller can say what cell a ghost index in nbr / recCell is, and so the only way the record tables can be compared across decompositions (gate WO1c).

Definition at line 1928 of file flow.hpp.


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