SpECTRE  v2021.11.01
Cce::Actions::ReceiveWorldtubeData< Metavariables > Struct Template Reference

Takes the boundary data needed to perform the CCE linear solves as arguments and puts them in the DataBox, updating the Cce::Tags::BoundaryTime accordingly. More...

#include <ReceiveWorldtubeData.hpp>

Public Types

using inbox_tags = tmpl::list< Cce::ReceiveTags::BoundaryData< typename Metavariables::cce_boundary_communication_tags > >
 

Static Public Member Functions

template<typename DbTags , typename... InboxTags, typename ArrayIndex , typename ActionList , typename ParallelComponent , Requires< tmpl::list_contains_v< tmpl::list< InboxTags... >, Cce::ReceiveTags::BoundaryData< typename Metavariables::cce_boundary_communication_tags > > and tmpl::list_contains_v< DbTags, ::Tags::TimeStepId > > = nullptr>
static std::tuple< db::DataBox< DbTags > &&, Parallel::AlgorithmExecutionapply (db::DataBox< DbTags > &box, tuples::TaggedTuple< InboxTags... > &inboxes, const Parallel::GlobalCache< Metavariables > &, const ArrayIndex &, const ActionList, const ParallelComponent *const)
 
template<typename DbTags , typename... InboxTags, typename ArrayIndex , typename ActionList , typename ParallelComponent , Requires< not tmpl::list_contains_v< tmpl::list< InboxTags... >, Cce::ReceiveTags::BoundaryData< typename Metavariables::cce_boundary_communication_tags > > or not tmpl::list_contains_v< DbTags, ::Tags::TimeStepId > > = nullptr>
static auto apply (db::DataBox< DbTags > &box, const tuples::TaggedTuple< InboxTags... > &, const Parallel::GlobalCache< Metavariables > &, const ArrayIndex &, const ActionList, const ParallelComponent *const)
 

Detailed Description

template<typename Metavariables>
struct Cce::Actions::ReceiveWorldtubeData< Metavariables >

Takes the boundary data needed to perform the CCE linear solves as arguments and puts them in the DataBox, updating the Cce::Tags::BoundaryTime accordingly.

Details

The boundary data is computed by a separate component, and packaged into a Variables<tmpl::list<BoundaryTags...>> which is sent in the argument of the simple action invocation. The TimeStepId is also provided to confirm the time associated with the passed boundary data.

DataBox changes:

  • Adds: nothing
  • Removes: nothing
  • Modifies:
    • All tags in BoundaryTags
    • Cce::Tags::BoundaryTime

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