SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Particles::MonteCarlo::SwapGrTags Struct Reference

Swaps the inactive and active GR variables. More...

#include <SwapGrTags.hpp>

Public Types

using return_tags
using argument_tags

Static Public Member Functions

static void apply (gsl::not_null< Variables< typename System::spacetime_variables_tag::tags_list > * > active_gr_vars, gsl::not_null< typename evolution::dg::subcell::Tags::Inactive< typename System::spacetime_variables_tag >::type * > inactive_gr_vars, const Mesh< 3 > &dg_mesh, const Mesh< 3 > &subcell_mesh, evolution::dg::subcell::ActiveGrid active_grid)

Detailed Description

Swaps the inactive and active GR variables.

The values on the subcells are at the cell-centers.

It should be possible to reduce memory usage by deallocating the GR variables on the DG grid when switching to subcell. However, the opposite case is not true since the GR variables are needed on the subcells if a neighbor is using subcell in order to compute the neighbor's fluxes.

Note
The active_grid is the grid we are swapping to, which may be the same as the current grid. On output the active_gr_vars will match the grid that active_grid is. This mutator is a no-op if they matched on input.

Member Typedef Documentation

◆ argument_tags

using Particles::MonteCarlo::SwapGrTags::argument_tags
Initial value:
tmpl::list<::domain::Tags::Mesh<3>, evolution::dg::subcell::Tags::Mesh<3>,
The grid currently used for the DG-subcell evolution on the element.
Definition ActiveGrid.hpp:24
The mesh on the subcells.
Definition Mesh.hpp:22

◆ return_tags

using Particles::MonteCarlo::SwapGrTags::return_tags
Initial value:
tmpl::list<typename System::spacetime_variables_tag,
typename System::spacetime_variables_tag>>
Mark a tag as holding data for the inactive grid.
Definition Inactive.hpp:23

The documentation for this struct was generated from the following file:
  • src/Evolution/Particles/MonteCarlo/SwapGrTags.hpp