SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
amr::Component< Metavariables > Struct Template Reference

A singleton parallel component to manage adaptive mesh refinement. More...

#include <Component.hpp>

Public Types

using metavariables = Metavariables
using ElementArray = typename metavariables::amr::element_array
using chare_type = Parallel::Algorithms::Singleton
using const_global_cache_tags
using phase_dependent_action_list
using simple_tags_from_options

Static Public Member Functions

static void execute_next_phase (const Parallel::Phase next_phase, Parallel::CProxy_GlobalCache< Metavariables > &global_cache_proxy)

Static Public Attributes

static constexpr size_t volume_dim = Metavariables::volume_dim
static constexpr bool checkpoint_data = true

Detailed Description

template<class Metavariables>
struct amr::Component< Metavariables >

A singleton parallel component to manage adaptive mesh refinement.

Details

This component can be used for:

  • Running actions that create new elements. This may be necessary to work around Charm++ bugs, and may require the singleton to be placed on global processor 0.
  • As a reduction target to perform sanity checks after AMR, output AMR diagnostics, or determine when to trigger AMR.

Member Typedef Documentation

◆ const_global_cache_tags

template<class Metavariables>
using amr::Component< Metavariables >::const_global_cache_tags
Initial value:
The set of adaptive mesh refinement criteria.
Definition Criteria.hpp:31
The set of block IDs in which AMR is enabled. If std::nullopt, AMR is enabled in all blocks.
Definition Tags.hpp:75
The policies for adaptive mesh refinement.
Definition Tags.hpp:30
Tag for putting Verbosity in a DataBox.
Definition Tags.hpp:34

◆ phase_dependent_action_list

template<class Metavariables>
using amr::Component< Metavariables >::phase_dependent_action_list
Initial value:
tmpl::list<
tmpl::list<amr::Actions::InitializeElementsRegistration<volume_dim>>>,
tmpl::conditional_t<
metavariables::amr::keep_coarse_grids,
tmpl::list<::amr::Actions::UpdateSections<ElementArray>>,
tmpl::list<>>>>
@ UpdateSections
phase in which array sections are updated
Definition Phase.hpp:91
@ Initialization
initial phase of an executable
Definition Phase.hpp:67
List of all the actions to be executed in the specified phase.
Definition PhaseDependentActionList.hpp:17

◆ simple_tags_from_options

template<class Metavariables>
using amr::Component< Metavariables >::simple_tags_from_options
Initial value:
tmpl::remove_duplicates< tmpl::flatten< tmpl::transform< InitializationActionsList, detail::get_simple_tags_from_options_from_action< tmpl::_1 > > > > get_simple_tags_from_options
Given a list of initialization actions, returns a list of the unique simple_tags_from_options for all...
Definition ParallelComponentHelpers.hpp:295
tmpl::flatten< tmpl::transform< PhaseDepActionList, detail::get_initialization_actions_list< tmpl::_1 > > > get_initialization_actions_list
Given the phase dependent action list, return the list of actions in the Initialization phase (or an ...
Definition ParallelComponentHelpers.hpp:275

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