EbAssembleRhsKernel< Model, LevelSet > Struct Template ReferenceΒΆ

adc_cpp: pops::detail::EbAssembleRhsKernel< Model, LevelSet > Struct Template Reference
adc_cpp 0.3.0
Model-free C++23 core for coupled hyperbolic-elliptic systems on adaptive (AMR) meshes, with MPI and GPU (Kokkos) backends
pops::detail::EbAssembleRhsKernel< Model, LevelSet > Struct Template Reference

Kernel assembling the EB residual at cell (i, j): INACTIVE cell -> residual 0 (not advanced, like T2); ACTIVE cell -> R = S - (1/kappa_eff) [ (fx_{i+1} - fx_i)/dx + (fy_{j+1} - fy_i)/dy ] - wall_term. More...

#include <operator.hpp>

+ Collaboration diagram for pops::detail::EbAssembleRhsKernel< Model, LevelSet >:

Public Member Functions

POPS_HD void operator() (int i, int j) const
 

Public Attributes

Model model
 
ConstArray4 u
 
ConstArray4 ax
 
ConstArray4 fx
 
ConstArray4 fy
 
Array4 r
 
Real dx
 
Real dy
 
Geometry geom
 
LevelSet ls
 
Real kappa_min
 

Detailed Description

template<class Model, class LevelSet>
struct pops::detail::EbAssembleRhsKernel< Model, LevelSet >

Kernel assembling the EB residual at cell (i, j): INACTIVE cell -> residual 0 (not advanced, like T2); ACTIVE cell -> R = S - (1/kappa_eff) [ (fx_{i+1} - fx_i)/dx + (fy_{j+1} - fy_i)/dy ] - wall_term.

fx/fy ALREADY contain alpha_f * F (produced by the face kernels). kappa_eff = max(kappa, min) (small-cell clamp). The immersed WALL term is a no-penetration F_wall = 0 -> zero, written explicitly (kept at zero) as a single attachment point. NAMED FUNCTOR (device-clean).

Member Function Documentation

◆ operator()()

template<class Model , class LevelSet >
POPS_HD void pops::detail::EbAssembleRhsKernel< Model, LevelSet >::operator() ( int  i,
int  j 
) const
inline
+ Here is the call graph for this function:

Member Data Documentation

◆ ax

template<class Model , class LevelSet >
ConstArray4 pops::detail::EbAssembleRhsKernel< Model, LevelSet >::ax

◆ dx

template<class Model , class LevelSet >
Real pops::detail::EbAssembleRhsKernel< Model, LevelSet >::dx

◆ dy

template<class Model , class LevelSet >
Real pops::detail::EbAssembleRhsKernel< Model, LevelSet >::dy

◆ fx

template<class Model , class LevelSet >
ConstArray4 pops::detail::EbAssembleRhsKernel< Model, LevelSet >::fx

◆ fy

template<class Model , class LevelSet >
ConstArray4 pops::detail::EbAssembleRhsKernel< Model, LevelSet >::fy

◆ geom

template<class Model , class LevelSet >
Geometry pops::detail::EbAssembleRhsKernel< Model, LevelSet >::geom

◆ kappa_min

template<class Model , class LevelSet >
Real pops::detail::EbAssembleRhsKernel< Model, LevelSet >::kappa_min

◆ ls

template<class Model , class LevelSet >
LevelSet pops::detail::EbAssembleRhsKernel< Model, LevelSet >::ls

◆ model

template<class Model , class LevelSet >
Model pops::detail::EbAssembleRhsKernel< Model, LevelSet >::model

◆ r

template<class Model , class LevelSet >
Array4 pops::detail::EbAssembleRhsKernel< Model, LevelSet >::r

◆ u

template<class Model , class LevelSet >
ConstArray4 pops::detail::EbAssembleRhsKernel< Model, LevelSet >::u

The documentation for this struct was generated from the following file:
  • include/pops/numerics/spatial/embedded_boundary/operator.hpp