SpECTRE  v2024.12.16
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Cce::CharacteristicEvolution< Metavariables > Struct Template Reference

The component for handling the CCE evolution and waveform output. More...

#include <CharacteristicEvolution.hpp>

Public Types

using chare_type = Parallel::Algorithms::Singleton
 
using metavariables = Metavariables
 
using cce_system = Cce::System< evolve_ccm >
 
using initialize_action_list = implementation defined
 
using simple_tags_from_options = Parallel::get_simple_tags_from_options< initialize_action_list >
 
template<typename BondiTag >
using hypersurface_computation = implementation defined
 
using compute_scri_quantities_and_observe = implementation defined
 
using self_start_extract_action_list = implementation defined
 
using extract_action_list = implementation defined
 
using phase_dependent_action_list = implementation defined
 

Static Public Member Functions

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

Static Public Attributes

static constexpr bool evolve_ccm = Metavariables::evolve_ccm
 

Detailed Description

template<class Metavariables>
struct Cce::CharacteristicEvolution< Metavariables >

The component for handling the CCE evolution and waveform output.

Details

The DataBox associated with the CharacteristicEvolution will contain many spin-weighted volume tags associated with the ongoing CCE computation, as well as storage for the boundary values and quantities related to managing the evolution.

Metavariables requirements:

  • Phases:
    • Initialization
    • Evolve
  • Type aliases:
    • evolved_coordinates_variables_tag: A Tags::Variables with real-valued tensors associated with coordinates that must be evolved.
    • evolved_swsh_tags: The spin-weighted quantities to be evolved (typically BondiJ).
    • evolved_swsh_dt_tags: The spin-weighed quantities associated that are to act as the time derivative to evolve evolved_swsh_tags (typically BondiH).
    • cce_boundary_communication_tags: A typelist of tags that will be communicated between the worldtube boundary component and the extraction component (typically Cce::Tags::characteristic_worldtube_boundary_tags<Tags::BoundaryValue>)
    • cce_gauge_boundary_tags: A typelist of tags that will be derived via GaugeAdjustedBoundaryValue and corresponding gauge utilities
    • cce_integrand_tags: A typelist of tags needed as inputs to the linear solve. Obtainable from the metafunction Cce::integrand_terms_to_compute_for_bondi_variable.
    • cce_integration_independent_tags: A typelist of tags that are to be computed and stored for each hypersurface iteration, but have no dependencies on the intermediate hypersurface steps (typically Cce::pre_computation_steps).
    • cce_temporary_equations_tags: A typelist of temporary buffers maintained for intermediate steps in the integrand equations. Obtainable from the metafunction Cce::integrand_terms_to_compute_for_bondi_variable.
    • cce_pre_swsh_derivatives_tags: A typelist of inputs to spin-weighted derivative calculations to compute and cache for intermediate steps of the CCE calculation. (typically Cce::all_pre_swsh_derivative_tags)
    • cce_swsh_derivative_tags: A typelist of spin-weighted derivatives to compute and cache for intermediate steps of the CCE calculation. (typically Cce::all_swsh_derivative_tags)
    • cce_transform_buffer_tags: A typelist of spin-weighted spherical harmonic transform modes used to compute the spin-weighted derivatives in the modal representation. (typically Cce::all_transform_buffer_tags).
    • cce_angular_coordinate_tags: A typelist of real-valued angular coordinates that are not evolved.
    • cce_scri_tags: the tags of quantities to compute at scri+
    • cce_hypersurface_initialization: a mutator (for use with Actions::MutateApply) that is used to compute the initial hypersurface data from the boundary data.

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