SpECTRE  v2021.12.06
evolution::dg::subcell::Actions::SendDataForReconstruction< Dim, GhostDataMutator > Struct Template Reference

Sets the local data from the relaxed discrete maximum principle troubled-cell indicator and sends ghost zone data to neighboring elements. More...

#include <ReconstructionCommunication.hpp>

Public Types

using inbox_tags = tmpl::list< evolution::dg::Tags::BoundaryCorrectionAndGhostCellsInbox< Dim > >
 

Static Public Member Functions

template<typename DbTags , typename... InboxTags, typename ArrayIndex , typename ActionList , typename ParallelComponent , typename Metavariables >
static std::tuple< db::DataBox< DbTags > && > apply (db::DataBox< DbTags > &box, tuples::TaggedTuple< InboxTags... > &, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const ActionList, const ParallelComponent *const)
 

Detailed Description

template<size_t Dim, typename GhostDataMutator>
struct evolution::dg::subcell::Actions::SendDataForReconstruction< Dim, GhostDataMutator >

Sets the local data from the relaxed discrete maximum principle troubled-cell indicator and sends ghost zone data to neighboring elements.

The action proceeds as follows:

  1. Computes the maximum and minimum of each evolved variable, which is used by the relaxed discrete maximum principle troubled-cell indicator.
  2. Determine in which directions we have neighbors
  3. Slice the variables provided by GhostDataMutator to send to our neighbors for ghost zones
  4. Send the ghost zone data, appending the max/min for the TCI at the end of the std::vector<double> we are sending.

Some notes:

  • In the future we will need to send the cell-centered fluxes to do high-order FD without additional reconstruction being necessary.

GlobalCache:

  • Uses:
    • ParallelComponent proxy

DataBox:


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