AssembleRhsKernel< 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
|
pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model > Struct Template Reference
AssembleRhsKernel<Limiter,NumericalFlux,Model>: device kernel of the central residual of assemble_rhs. More...
#include <cartesian_operator.hpp>
Collaboration diagram for pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >:Public Member Functions | |
| POPS_HD void | operator() (int i, int j) const |
Public Attributes | |
| Model | model |
| ConstArray4 | u |
| ConstArray4 | ax |
| 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
template<class Limiter, class NumericalFlux, class Model>
struct pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >
struct pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >
AssembleRhsKernel<Limiter,NumericalFlux,Model>: device kernel of the central residual of assemble_rhs.
Computes R(i,j) = S - (Fxp-Fxm)/dx - (Fyp-Fym)/dy (+ Fickian term if DiffusiveModel). Named functor: key point of the AOT native parity (add_compiled_model via external TU). Body bit-identical to the former lambda. POPS_HD.
Member Function Documentation
◆ operator()()
template<class Limiter , class NumericalFlux , class Model >
|
inline |
Member Data Documentation
◆ ax
template<class Limiter , class NumericalFlux , class Model >
| ConstArray4 pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::ax |
◆ dx
template<class Limiter , class NumericalFlux , class Model >
| Real pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::dx |
◆ dy
template<class Limiter , class NumericalFlux , class Model >
| Real pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::dy |
◆ lim
template<class Limiter , class NumericalFlux , class Model >
| Limiter pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::lim |
◆ model
template<class Limiter , class NumericalFlux , class Model >
| Model pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::model |
◆ nflux
template<class Limiter , class NumericalFlux , class Model >
| NumericalFlux pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::nflux |
◆ pos_comp
template<class Limiter , class NumericalFlux , class Model >
| int pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::pos_comp = 0 |
component of the Density role (resolved by the host caller)
◆ pos_floor
template<class Limiter , class NumericalFlux , class Model >
| Real pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::pos_floor = Real(0) |
Zhang-Shu positivity limiter (<= 0: inactive, bit-identical)
◆ r
template<class Limiter , class NumericalFlux , class Model >
| Array4 pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::r |
◆ recon_prim
template<class Limiter , class NumericalFlux , class Model >
| bool pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::recon_prim |
◆ u
template<class Limiter , class NumericalFlux , class Model >
| ConstArray4 pops::detail::AssembleRhsKernel< Limiter, NumericalFlux, Model >::u |
The documentation for this struct was generated from the following file:
- include/pops/numerics/spatial/operators/cartesian_operator.hpp
Generated by