SpECTRE  v2024.04.12
amr::projectors::ProjectVariables< Dim, VariablesTags > Struct Template Reference

Update the Variables corresponding to VariablesTags after an AMR change. More...

#include <Variables.hpp>

Public Types

using return_tags = tmpl::list< VariablesTags... >
 
using argument_tags = tmpl::list< domain::Tags::Element< Dim >, domain::Tags::Mesh< Dim > >
 

Static Public Member Functions

static void apply (const gsl::not_null< typename VariablesTags::type * >... vars, const Element< Dim > &, 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 VariablesTags::type * >... vars, const Element< Dim > &element, const Mesh< Dim > &child_mesh, const tuples::TaggedTuple< Tags... > &parent_items)
 
template<typename... Tags>
static void apply (const gsl::not_null< typename VariablesTags::type * >..., const Element< Dim > &, const Mesh< Dim > &, const std::unordered_map< ElementId< Dim >, tuples::TaggedTuple< Tags... > > &)
 

Detailed Description

template<size_t Dim, typename... VariablesTags>
struct amr::projectors::ProjectVariables< Dim, VariablesTags >

Update the Variables corresponding to VariablesTags after an AMR change.

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

Details

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

See also
ProjectTensors

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