|
SpECTRE
v2026.09.05
|
Packages and sends the auxiliary-pass data for the local discontinuous Galerkin (LDG) method for auxiliary boundary corrections. More...
#include <SendAuxiliaryData.hpp>
Static Public Member Functions | |
| template<typename DbTagsList, typename... InboxTags, typename ArrayIndex, typename ActionList, typename ParallelComponent, typename Metavariables> | |
| static Parallel::iterable_action_return_t | apply (db::DataBox< DbTagsList > &box, tuples::TaggedTuple< InboxTags... > &inboxes, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ActionList action_list_meta, const ParallelComponent *const parallel_component_meta) |
Packages and sends the auxiliary-pass data for the local discontinuous Galerkin (LDG) method for auxiliary boundary corrections.
This action performs the send half of the LDG auxiliary communication. It mirrors the boundary-data portion of ComputeTimeDerivative::apply (without the time-derivative computation) but uses the auxiliary package-data interface (dg_auxiliary_package_field_tags, dg_auxiliary_package_data, dg_auxiliary_package_data_volume_tags) and sends to the auxiliary inbox channel evolution::dg::Tags::BoundaryCorrectionAndGhostCellsInbox with IsAuxiliary set to true.
The action does NOT compute the volume time derivative, fluxes, flux divergence, or partial derivatives. It only:
Only pure-DG executables (no DG-FD subcell) and global time stepping are supported for now. The subcell restriction is enforced by a static_assert; global time stepping is enforced by a runtime error unless Tags::LtsMode is LtsMode::Off. Nonconforming meshes flow through the same shared mortar machinery as the physical pass, but are not yet exercised by tests; until they are, a runtime error rejects elements with nonconforming neighbors.