core
Shared MPI block decomposition + asynchronous ghost-layer exchange (header-only C++20)
Loading...
Searching...
No Matches
peclet::core::amr::FaceGeomEmit< Bits > Struct Template Reference

The device face-geometry walker: replicates AmrPoisson::forEachFaceFull + periodicNeighbor over the device octree, using FvFaceEmit's geometry helpers. More...

#include <facegeom_assembly.hpp>

Public Types

using M = typename BlockOctreeView< 3, Bits >::M
 
using Coord = typename BlockOctreeView< 3, Bits >::Coord
 

Public Member Functions

Index periodicNeighbor (Index i, int axis, int dir) const
 Single-leaf periodic face neighbour (AmrPoisson::periodicNeighbor) — the SOU upstream probe.
 
template<class CB >
void forEachFaceFull (Index i, CB &cb) const
 Visit each (sub)face of leaf i: cb(neighbour, axis, dir, area, dist, alpha) in forEachFaceFull order.
 
Index count (Index i) const
 

Public Attributes

FvFaceEmit< 3, Bitsg
 

Detailed Description

template<unsigned Bits = 21u>
struct peclet::core::amr::FaceGeomEmit< Bits >

The device face-geometry walker: replicates AmrPoisson::forEachFaceFull + periodicNeighbor over the device octree, using FvFaceEmit's geometry helpers.

g carries the octree view + openness + h0 + fineExt (built with hasOpen as the source openness has it).

Definition at line 37 of file facegeom_assembly.hpp.

Member Typedef Documentation

◆ M

Definition at line 38 of file facegeom_assembly.hpp.

◆ Coord

template<unsigned Bits = 21u>
using peclet::core::amr::FaceGeomEmit< Bits >::Coord = typename BlockOctreeView<3, Bits>::Coord

Definition at line 39 of file facegeom_assembly.hpp.

Member Function Documentation

◆ periodicNeighbor()

template<unsigned Bits = 21u>
Index peclet::core::amr::FaceGeomEmit< Bits >::periodicNeighbor ( Index  i,
int  axis,
int  dir 
) const
inline

Single-leaf periodic face neighbour (AmrPoisson::periodicNeighbor) — the SOU upstream probe.

Definition at line 43 of file facegeom_assembly.hpp.

References peclet::core::amr::FaceGeomEmit< Bits >::g.

◆ forEachFaceFull()

template<unsigned Bits = 21u>
template<class CB >
void peclet::core::amr::FaceGeomEmit< Bits >::forEachFaceFull ( Index  i,
CB cb 
) const
inline

Visit each (sub)face of leaf i: cb(neighbour, axis, dir, area, dist, alpha) in forEachFaceFull order.

No domain-boundary skip (the collocated path is periodic), matching the host walk.

Definition at line 56 of file facegeom_assembly.hpp.

References peclet::core::amr::FaceGeomEmit< Bits >::g.

Referenced by peclet::core::amr::FaceGeomEmit< Bits >::count().

◆ count()

template<unsigned Bits = 21u>
Index peclet::core::amr::FaceGeomEmit< Bits >::count ( Index  i) const
inline

Member Data Documentation

◆ g


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