Kokkos kernel that computes only the pre-scaled antidiffusive fluxes from \(T^n\). More...
#include <fct_advection_diffusion.hpp>
Public Types | |
| using | ScalarType = ScalarT |
| using | GH = fct_detail::GeometryHelper< ScalarT > |
Public Member Functions | |
| void | operator() (const int id, const int x, const int y, const int r) const |
Public Attributes | |
| grid::Grid3DDataVec< ScalarT, 3 > | grid_ |
| grid::Grid2DDataScalar< ScalarT > | radii_ |
| grid::Grid4DDataVec< ScalarT, 3 > | cell_centers_ |
| grid::Grid4DDataVec< ScalarT, 3 > | vel_grid_ |
| grid::Grid4DDataScalar< ScalarT > | T_old_ |
| \(T^n\) with ghost layers filled. | |
| grid::Grid5DDataScalar< ScalarT > | antidiff_ |
| Output: \(\tilde{f}_{ij}\), shape \([\ldots, 6]\). | |
| ScalarT | dt_ |
| Time step \(\Delta t\). | |
Static Public Attributes | |
| static constexpr int | num_neighbors = GH::num_neighbors |
Kokkos kernel that computes only the pre-scaled antidiffusive fluxes from \(T^n\).
In the semi-implicit FCT scheme the low-order predictor \(T^L\) is provided by an external implicit solve (see fct_semiimplicit_step). This kernel therefore skips the upwind update and only stores the antidiffusive fluxes needed by the Zalesak limiter:
\[ \tilde{f}_{ij} = \frac{\Delta t}{M_{ii}}\,\frac{|\beta_{ij}|}{2}\,(T_i^n - T_j^n). \]
The formula is identical to the antidiffusive part of FCTPredictorKernel.
| ScalarT | Floating-point scalar type. |
| using terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::GH = fct_detail::GeometryHelper< ScalarT > |
| using terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::ScalarType = ScalarT |
|
inline |
| grid::Grid5DDataScalar< ScalarT > terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::antidiff_ |
Output: \(\tilde{f}_{ij}\), shape \([\ldots, 6]\).
| grid::Grid4DDataVec< ScalarT, 3 > terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::cell_centers_ |
| ScalarT terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::dt_ |
Time step \(\Delta t\).
| grid::Grid3DDataVec< ScalarT, 3 > terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::grid_ |
|
staticconstexpr |
| grid::Grid2DDataScalar< ScalarT > terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::radii_ |
| grid::Grid4DDataScalar< ScalarT > terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::T_old_ |
\(T^n\) with ghost layers filled.
| grid::Grid4DDataVec< ScalarT, 3 > terra::fv::hex::operators::FCTAntidiffKernel< ScalarT >::vel_grid_ |