SpECTRE
v2024.04.12
|
Holds the cell-centered fluxes on the subcell mesh. More...
#include <CellCenteredFlux.hpp>
Public Types | |
using | type = std::optional< Variables< db::wrap_tags_in<::Tags::Flux, TagsList, tmpl::size_t< Dim >, Fr > > > |
Holds the cell-centered fluxes on the subcell mesh.
These are only needed when using high-order FD methods and when we are actively doing FD. If either of these conditions isn't met, the value is std::nullopt
.
The cell-centered fluxes are stored in the DataBox so they can be computed and sent to neighbor elements without having to be recomputed after receiving neighbor data. This means we maintain a single-send algorithm despite going to high-order, with no additional FLOP overhead. We do, however, have the memory overhead of the cell-centered fluxes.
TagsList
is a list of the variables, not the fluxes. They are wrapped in the Tags::Flux
prefix.