SpECTRE  v2024.09.29
domain::Tags::InterfaceCompute< DirectionsTag, Tag > Struct Template Reference

Compute tag for representing items computed on a set of interfaces. Can be retrieved using Tags::Interface<DirectionsTag, Tag> More...

#include <InterfaceComputeTags.hpp>

Public Types

using base = Interface< DirectionsTag, typename Tag::base >
 
using return_type = std::unordered_map<::Direction< volume_dim >, typename Tag::type >
 
using forwarded_argument_tags = InterfaceHelpers_detail::get_interface_argument_tags< Tag, DirectionsTag >
 
using argument_tags = tmpl::push_front< forwarded_argument_tags, DirectionsTag >
 
using volume_tags = get_volume_tags< Tag >
 
- Public Types inherited from domain::Tags::Interface< DirectionsTag, Tag::base >
using tag = Tag
 
using type = std::unordered_map<::Direction< DirectionsTag::volume_dim >, typename Tag::type >
 

Static Public Member Functions

template<typename... ArgTypes>
static constexpr void function (const gsl::not_null< return_type * > result, const std::unordered_set<::Direction< volume_dim > > &directions, const ArgTypes &... args)
 
- Static Public Member Functions inherited from domain::Tags::Interface< DirectionsTag, Tag::base >
static std::string name ()
 

Static Public Attributes

static constexpr size_t volume_dim = DirectionsTag::volume_dim
 

Detailed Description

template<typename DirectionsTag, typename Tag>
struct domain::Tags::InterfaceCompute< DirectionsTag, Tag >

Compute tag for representing items computed on a set of interfaces. Can be retrieved using Tags::Interface<DirectionsTag, Tag>

The computed object will be a map from a Direction to the item type of Tag (i.e. Tag::type), with the set of directions being those produced by DirectionsTag. Tag::function will be applied separately to the data on each interface. If some of the compute item's inputs (i.e. Tag::argument_tags) should be taken from the volume rather than the interface, they should be specified in the typelist Tag::volume_tags.

Template Parameters
DirectionsTagthe simple tag labeling the set of Directions
Tagthe compute tag to apply on each interface

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