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::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, Bits > geom
 α=1 (hasOpen=false) C/F-aware ∇² traversal for regular fluid cells
 
View< const char > fluid
 
View< const char > cut
 
View< const double > AC
 
View< const double > off
 
View< const double > rscale
 off is n·6 (ξ-overlay), AC/rscale are n
 
View< const Index > nbr6
 n·6 periodic face-neighbour indices (cut-stencil order)
 
View< const double > advDiag
 
View< const double > advCoef
 
View< const Index > advStart
 
View< const Index > advNbr
 
double idiag = 0.0
 
double mu = 1.0
 
bool hasAdv = false
 
bool scaleAdv = false
 

Detailed Description

template<unsigned Bits = 21u>
struct peclet::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 58 of file momentum_assembly.hpp.

Member Function Documentation

◆ cellVolume()

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

◆ operator()()

◆ diag()

Member Data Documentation

◆ geom

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

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

Definition at line 59 of file momentum_assembly.hpp.

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

◆ fluid

◆ cut

◆ AC

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

Definition at line 61 of file momentum_assembly.hpp.

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

◆ off

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

Definition at line 61 of file momentum_assembly.hpp.

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

◆ rscale

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

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

Definition at line 61 of file momentum_assembly.hpp.

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

◆ nbr6

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

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

Definition at line 62 of file momentum_assembly.hpp.

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

◆ advDiag

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

Definition at line 63 of file momentum_assembly.hpp.

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

◆ advCoef

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

Definition at line 63 of file momentum_assembly.hpp.

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

◆ advStart

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

Definition at line 64 of file momentum_assembly.hpp.

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

◆ advNbr

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

Definition at line 64 of file momentum_assembly.hpp.

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

◆ idiag

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

Definition at line 65 of file momentum_assembly.hpp.

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

◆ mu

◆ hasAdv

◆ scaleAdv


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