AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model > 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
|
AssembleRhsMaskedKernel: variant of AssembleRhsKernel AWARE of a domain mask. More...
#include <masked_operator.hpp>
Collaboration diagram for pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >:Public Member Functions | |
| POPS_HD void | operator() (int i, int j) const |
Public Attributes | |
| Model | model |
| ConstArray4 | u |
| ConstArray4 | ax |
| ConstArray4 | mask |
| Array4 | r |
| Real | dx |
| Real | dy |
| Limiter | lim |
| NumericalFlux | nflux |
| bool | recon_prim |
| Real | pos_floor = Real(0) |
| Zhang-Shu positivity limiter (<= 0: inactive, bit-identical) | |
| int | pos_comp = 0 |
| component of the Density role (resolved by the host caller) | |
Detailed Description
struct pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >
AssembleRhsMaskedKernel: variant of AssembleRhsKernel AWARE of a domain mask.
Inactive cell -> residual 0 (not advanced by the caller). Active cell -> R = -div Fhat + S, BUT the normal flux of a face whose neighbor cell is INACTIVE is set to ZERO (FV wall: zero normal flux at the active/inactive boundary) -> mass conservation over the active sub-domain. Named functor (same device contract as AssembleRhsKernel). POPS_HD.
NB: without a diffusive term (transport-only models); a DiffusiveModel keeps its UNmasked Laplacian here (separate refinement – the conservative mask targets the hyperbolic flux only).
Member Function Documentation
◆ operator()()
|
inline |
Here is the call graph for this function:Member Data Documentation
◆ ax
| ConstArray4 pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::ax |
◆ dx
| Real pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::dx |
◆ dy
| Real pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::dy |
◆ lim
| Limiter pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::lim |
◆ mask
| ConstArray4 pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::mask |
◆ model
| Model pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::model |
◆ nflux
| NumericalFlux pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::nflux |
◆ pos_comp
| int pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::pos_comp = 0 |
component of the Density role (resolved by the host caller)
◆ pos_floor
| Real pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::pos_floor = Real(0) |
Zhang-Shu positivity limiter (<= 0: inactive, bit-identical)
◆ r
| Array4 pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::r |
◆ recon_prim
| bool pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::recon_prim |
◆ u
| ConstArray4 pops::detail::AssembleRhsMaskedKernel< Limiter, NumericalFlux, Model >::u |
The documentation for this struct was generated from the following file:
- include/pops/numerics/spatial/operators/masked_operator.hpp
Generated by