All working storage for a single FCT timestep, allocated once and reused every step. More...
#include <fct_advection_diffusion.hpp>
Public Member Functions | |
| FVFCTBuffers (const grid::shell::DistributedDomain &domain) | |
Public Attributes | |
| grid::Grid4DDataScalar< ScalarType > | T_L |
| Low-order (upwind) predictor \(T^L\); same cell layout as the transported scalar. | |
| grid::Grid5DDataScalar< ScalarType > | antidiff |
| grid::Grid4DDataScalar< ScalarType > | R_plus |
| Zalesak correction factor \(R_i^+\) — limits incoming positive antidiff flux. | |
| grid::Grid4DDataScalar< ScalarType > | R_minus |
| Zalesak correction factor \(R_i^-\) — limits incoming negative antidiff flux. | |
| communication::shell::FVGhostLayerBuffers< ScalarType > | ghost_T |
MPI ghost-layer buffers for \(T\) (reused for T_L as well via the same slot). | |
| communication::shell::FVGhostLayerBuffers< ScalarType > | ghost_R_plus |
| MPI ghost-layer buffers for \(R^+\) (needed so the correction kernel reads neighbours). | |
| communication::shell::FVGhostLayerBuffers< ScalarType > | ghost_R_minus |
| MPI ghost-layer buffers for \(R^-\). | |
All working storage for a single FCT timestep, allocated once and reused every step.
Avoids heap allocation in the time loop. Pass a single FVFCTBuffers instance to all stage functions (fct_predictor, fct_limiter, fct_correction) and to the convenience wrappers (fct_explicit_step, upwind_explicit_step, fct_semiimplicit_step).
| ScalarType | Floating-point type used for all fields. |
|
inlineexplicit |
| grid::Grid5DDataScalar< ScalarType > terra::fv::hex::operators::FVFCTBuffers< ScalarType >::antidiff |
Pre-scaled antidiffusive fluxes \(\tilde{f}_{ij} = (\Delta t / M_{ii})\,f_{ij}\), sixth dimension indexes the 6 faces in neighbour order (0=x−1, 1=x+1, …, 5=r+1).
| communication::shell::FVGhostLayerBuffers< ScalarType > terra::fv::hex::operators::FVFCTBuffers< ScalarType >::ghost_R_minus |
MPI ghost-layer buffers for \(R^-\).
| communication::shell::FVGhostLayerBuffers< ScalarType > terra::fv::hex::operators::FVFCTBuffers< ScalarType >::ghost_R_plus |
MPI ghost-layer buffers for \(R^+\) (needed so the correction kernel reads neighbours).
| communication::shell::FVGhostLayerBuffers< ScalarType > terra::fv::hex::operators::FVFCTBuffers< ScalarType >::ghost_T |
MPI ghost-layer buffers for \(T\) (reused for T_L as well via the same slot).
| grid::Grid4DDataScalar< ScalarType > terra::fv::hex::operators::FVFCTBuffers< ScalarType >::R_minus |
Zalesak correction factor \(R_i^-\) — limits incoming negative antidiff flux.
| grid::Grid4DDataScalar< ScalarType > terra::fv::hex::operators::FVFCTBuffers< ScalarType >::R_plus |
Zalesak correction factor \(R_i^+\) — limits incoming positive antidiff flux.
| grid::Grid4DDataScalar< ScalarType > terra::fv::hex::operators::FVFCTBuffers< ScalarType >::T_L |
Low-order (upwind) predictor \(T^L\); same cell layout as the transported scalar.