core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
Loading...
Searching...
No Matches
face_geom.hpp
Go to the documentation of this file.
1// core — FaceGeom: the static (sub)face geometry CSR of the collocated AMR projection.
2//
3// Factored out of flow.hpp into its own header so the device face-geometry assembler
4// (facegeom_assembly.hpp) and the flow driver (flow.hpp) can both name the type without a
5// circular include (flow.hpp consumes the assembler, the assembler produces a FaceGeom).
6//
7// Per (sub)face (matching AmrPoisson::forEachFaceFull, 2:1 sub-faces): neighbour, axis, dir, α·area
8// (divergence weight), raw area (advection flux), face-normal distance, openness α (gradient gate),
9// and the two SOU upstream-probe leaves. Per cell: 1/V and a fluid flag.
10//
11// Requires a Kokkos build (View).
12#ifndef PECLET_CORE_AMR_FACE_GEOM_HPP
13#define PECLET_CORE_AMR_FACE_GEOM_HPP
14
17
18namespace peclet::core::amr {
19
35
36} // namespace peclet::core::amr
37
38#endif // PECLET_CORE_AMR_FACE_GEOM_HPP
Kokkos::View< T *, MemSpace > View
1D device array.
Definition view.hpp:26
std::int64_t Index
Signed index type for grids and particles (supersedes block_decomposer's long int IndxT).
Definition types.hpp:15
View< Index > upupI
upstream-of-i probe (periodicNeighbor(i,axis,−dir)) — SOU, size nFaces
Definition face_geom.hpp:29
View< double > dist
face-normal distance (physical) per face, size nFaces
Definition face_geom.hpp:27
View< Index > upupJ
upstream-of-j probe (periodicNeighbor(j,axis,+dir)) — SOU, size nFaces
Definition face_geom.hpp:30
View< double > rawArea
raw face area (physical, no openness) per face — advection flux
Definition face_geom.hpp:26
View< int > axis
face axis 0/1/2, size nFaces
Definition face_geom.hpp:23
View< char > fluid
per-cell fluid flag, size n
Definition face_geom.hpp:32
View< double > alphaArea
α·area (physical) per face, size nFaces
Definition face_geom.hpp:25
View< Index > start
CSR row offsets, size n+1.
Definition face_geom.hpp:21
View< double > invVol
1/V_i per cell, size n
Definition face_geom.hpp:31
View< double > alpha
openness per face (gradient gate), size nFaces
Definition face_geom.hpp:28
View< Index > nbr
neighbour leaf per face, size nFaces
Definition face_geom.hpp:22
View< int > dir
face direction +1/-1, size nFaces
Definition face_geom.hpp:24