SpECTRE  v2026.06.09.01
Loading...
Searching...
No Matches
dg::Actions::SpectralFilter Struct Reference

Applies the element's spectral volume filter to the evolved variables. More...

#include <SpectralFilter.hpp>

Static Public Member Functions

template<typename DbTags, typename... InboxTags, typename ArrayIndex, typename ActionList, typename ParallelComponent, typename Metavariables>
static Parallel::iterable_action_return_t apply (db::DataBox< DbTags > &box, const tuples::TaggedTuple< InboxTags... > &, const Parallel::GlobalCache< Metavariables > &, const ArrayIndex &, const ActionList, const ParallelComponent *const)

Detailed Description

Applies the element's spectral volume filter to the evolved variables.

Retrieves the per-element filter from Filters::Tags::SpectralFilter from the DataBox and applies the volume filter.

The filter is skipped when:

  • the filter is Filters::None (explicit no-op), or
  • both apply_volume_filter_on_substep() and apply_volume_filter_on_this_step(step_number) return false.

The grid-to-inertial Jacobian and its inverse are only retrieved from the DataBox when Filters::Filter::need_jacobians() returns true; otherwise std::nullopt is passed for both arguments.

Note
Currently the check for whether to filter on every N steps is done relative to the start of the current Slab. This means that for GTS, independent of the value of N for every N steps, every step has a filter applied since GTS has one step per slab.

Uses:


The documentation for this struct was generated from the following file:
  • src/ParallelAlgorithms/Actions/SpectralFilter.hpp