SpECTRE  v2024.04.12
evolution::dg::subcell::Tags::CellCenteredFlux< TagsList, Dim, Fr > Struct Template Reference

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 > > >
 

Detailed Description

template<typename TagsList, size_t Dim, typename Fr = Frame::Inertial>
struct evolution::dg::subcell::Tags::CellCenteredFlux< TagsList, 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.

Note
The TagsList is a list of the variables, not the fluxes. They are wrapped in the Tags::Flux prefix.

The documentation for this struct was generated from the following file: