EbFaceFluxXKernel< Limiter, NumericalFlux, 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
|
FACE FLUX kernel for x (dir 0) of the EB transport: numerical flux at the face between (i-1, j) and (i, j), WEIGHTED by the aperture alpha_x of that face. More...
#include <operator.hpp>
Collaboration diagram for pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >:Public Member Functions | |
| POPS_HD void | operator() (int i, int j) const |
Public Attributes | |
| Model | model |
| ConstArray4 | u |
| ConstArray4 | ax |
| Array4 | fx |
| Real | dx |
| Geometry | geom |
| LevelSet | ls |
| 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::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >
FACE FLUX kernel for x (dir 0) of the EB transport: numerical flux at the face between (i-1, j) and (i, j), WEIGHTED by the aperture alpha_x of that face.
We store alpha_x * Fx so the EB divergence is a simple difference (like the r weighting of the polar operator). NAMED FUNCTOR (device-clean).
The aperture of face i is computed FROM THE SIDE of the active cell: if (i, j) is active, we take the aperture seen from (i, j) toward its neighbor (i-1); if (i, j) is inactive but (i-1, j) is active, we take the aperture seen from (i-1) toward (i). If BOTH are inactive, the face is outside the active domain (alpha = 0). This symmetry guarantees the uniqueness of alpha on the shared face (conservation).
Member Function Documentation
◆ operator()()
|
inline |
Here is the call graph for this function:Member Data Documentation
◆ ax
| ConstArray4 pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::ax |
◆ dx
| Real pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::dx |
◆ fx
| Array4 pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::fx |
◆ geom
| Geometry pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::geom |
◆ lim
| Limiter pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::lim |
◆ ls
| LevelSet pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::ls |
◆ model
| Model pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::model |
◆ nflux
| NumericalFlux pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::nflux |
◆ pos_comp
| int pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::pos_comp = 0 |
component of the Density role (resolved by the host caller)
◆ pos_floor
| Real pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::pos_floor = Real(0) |
Zhang-Shu positivity limiter (<= 0: inactive, bit-identical)
◆ recon_prim
| bool pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::recon_prim |
◆ u
| ConstArray4 pops::detail::EbFaceFluxXKernel< Limiter, NumericalFlux, Model, LevelSet >::u |
The documentation for this struct was generated from the following file:
- include/pops/numerics/spatial/embedded_boundary/operator.hpp
Generated by