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

Device-callable reproduction of AmrCutCell::assembleOperator's per-cell row + diagonal. More...

#include <momentum_assembly.hpp>

Public Member Functions

double cellVolume (Index i) const
 
template<class Sink >
void operator() (Index i, Sink &sink) const
 Emit the off-diagonal entries of row i (S1 fill order): ξ-overlay for cut cells, −μ·invV·(a·c) for regular fluid, then the folded implicit-FOU advection — exactly assembleOperator's order.
 
double diag (Index i) const
 Diagonal of row i: 1 (solid), AC (cut), or idiag + μ·invV·Σ(a·c) (regular), plus folded advection.
 

Public Attributes

FvFaceEmit< 3, Bitsgeom
 α=1 (hasOpen=false) C/F-aware ∇² traversal for regular fluid cells
 
View< const charfluid
 
View< const charcut
 
View< const doubleAC
 
View< const doubleoff
 
View< const doublerscale
 off is n·6 (ξ-overlay), AC/rscale are n
 
View< const Indexnbr6
 n·6 periodic face-neighbour indices (cut-stencil order)
 
View< const doubleadvDiag
 
View< const doubleadvCoef
 
View< const IndexadvStart
 
View< const IndexadvNbr
 
double idiag = 0.0
 
double mu = 1.0
 
bool hasAdv = false
 
bool scaleAdv = false
 

Detailed Description

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

Device-callable reproduction of AmrCutCell::assembleOperator's per-cell row + diagonal.

Holds the staged stencil/advection device arrays + the shared α=1 ∇² geometry (FvFaceEmit). Trivially copyable.

Definition at line 60 of file momentum_assembly.hpp.

Member Function Documentation

◆ cellVolume()

template<unsigned Bits = 21u>
double peclet::core::amr::MomFaceEmit< Bits >::cellVolume ( Index  i) const
inline

◆ operator()()

◆ diag()

Member Data Documentation

◆ geom

template<unsigned Bits = 21u>
FvFaceEmit<3, Bits> peclet::core::amr::MomFaceEmit< Bits >::geom

α=1 (hasOpen=false) C/F-aware ∇² traversal for regular fluid cells

Definition at line 61 of file momentum_assembly.hpp.

Referenced by peclet::core::amr::MomFaceEmit< Bits >::cellVolume(), peclet::core::amr::MomFaceEmit< Bits >::diag(), and peclet::core::amr::MomFaceEmit< Bits >::operator()().

◆ fluid

◆ cut

◆ AC

◆ off

◆ rscale

template<unsigned Bits = 21u>
View<const double> peclet::core::amr::MomFaceEmit< Bits >::rscale

off is n·6 (ξ-overlay), AC/rscale are n

Definition at line 63 of file momentum_assembly.hpp.

Referenced by peclet::core::amr::MomFaceEmit< Bits >::diag(), and peclet::core::amr::MomFaceEmit< Bits >::operator()().

◆ nbr6

template<unsigned Bits = 21u>
View<const Index> peclet::core::amr::MomFaceEmit< Bits >::nbr6

n·6 periodic face-neighbour indices (cut-stencil order)

Definition at line 64 of file momentum_assembly.hpp.

Referenced by peclet::core::amr::MomFaceEmit< Bits >::operator()().

◆ advDiag

template<unsigned Bits = 21u>
View<const double> peclet::core::amr::MomFaceEmit< Bits >::advDiag

Definition at line 65 of file momentum_assembly.hpp.

Referenced by peclet::core::amr::MomFaceEmit< Bits >::diag().

◆ advCoef

◆ advStart

template<unsigned Bits = 21u>
View<const Index> peclet::core::amr::MomFaceEmit< Bits >::advStart

◆ advNbr

◆ idiag

template<unsigned Bits = 21u>
double peclet::core::amr::MomFaceEmit< Bits >::idiag = 0.0

Definition at line 67 of file momentum_assembly.hpp.

Referenced by peclet::core::amr::MomFaceEmit< Bits >::diag().

◆ mu

◆ hasAdv

◆ scaleAdv


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