SpECTRE  v2024.09.29
amr::projectors::ProjectTensors< Dim, TensorTags > Struct Template Reference

Update the Tensors corresponding to TensorTags after an AMR change. More...

#include <Tensors.hpp>

Public Types

using return_tags = tmpl::list< TensorTags... >
 
using argument_tags = tmpl::list< domain::Tags::Mesh< Dim > >
 

Static Public Member Functions

static void apply (const gsl::not_null< typename TensorTags::type * >... tensors, const Mesh< Dim > &new_mesh, const std::pair< Mesh< Dim >, Element< Dim > > &old_mesh_and_element)
 
template<typename... Tags>
static void apply (const gsl::not_null< typename TensorTags::type * >..., const Mesh< Dim > &, const tuples::TaggedTuple< Tags... > &)
 
template<typename... Tags>
static void apply (const gsl::not_null< typename TensorTags::type * >..., const Mesh< Dim > &, const std::unordered_map< ElementId< Dim >, tuples::TaggedTuple< Tags... > > &)
 

Detailed Description

template<size_t Dim, typename... TensorTags>
struct amr::projectors::ProjectTensors< Dim, TensorTags >

Update the Tensors corresponding to TensorTags after an AMR change.

There is a specialization for ProjectTensors<tmpl::list<TensorTags...>> that can be used if a tmpl::list is available.

Details

For each item corresponding to each tag in TensorTags, project the data for each tensor from the old mesh to the new mesh

See also
ProjectVariables

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