SpECTRE  v2024.06.05
Cce::KleinGordonCharacteristicEvolution< Metavariables > Struct Template Reference

The component for handling the CCE evolution for the Klein-Gordon system coupled with General Relativity. More...

#include <KleinGordonCharacteristicEvolution.hpp>

Public Types

using metavariables = Metavariables
 
using cce_system = Cce::KleinGordonSystem< evolve_ccm >
 
using cce_base = CharacteristicEvolution< Metavariables >
 
using initialize_action_list = tmpl::append< tmpl::list< Actions::InitializeKleinGordonVariables< Metavariables > >, typename cce_base::initialize_action_list >
 
template<typename BondiTag >
using hypersurface_computation = typename cce_base::template hypersurface_computation< BondiTag >
 
using klein_gordon_hypersurface_computation = tmpl::list< ::Actions::MutateApply< GaugeAdjustedBoundaryValue< Tags::KleinGordonPi > >, Actions::CalculateIntegrandInputsForTag< Tags::KleinGordonPi >, tmpl::transform< integrand_terms_to_compute_for_bondi_variable< Tags::KleinGordonPi >, tmpl::bind<::Actions::MutateApply, tmpl::bind< ComputeBondiIntegrand, tmpl::_1 > > > >
 
using simple_tags_from_options = Parallel::get_simple_tags_from_options< initialize_action_list >
 
using self_start_extract_action_list = tmpl::list< Actions::RequestBoundaryData< typename Metavariables::cce_boundary_component, KleinGordonCharacteristicEvolution< Metavariables > >, Actions::ReceiveWorldtubeData< Metavariables, typename Metavariables::cce_boundary_communication_tags >, Actions::ReceiveWorldtubeData< Metavariables, typename Metavariables::klein_gordon_boundary_communication_tags >, Actions::InitializeFirstHypersurface< evolve_ccm, typename Metavariables::cce_boundary_component >, Actions::InitializeKleinGordonFirstHypersurface, tmpl::conditional_t< tt::is_a_v< AnalyticWorldtubeBoundary, typename Metavariables::cce_boundary_component >, Actions::UpdateGauge< false >, Actions::UpdateGauge< evolve_ccm > >, Actions::PrecomputeGlobalCceDependencies, tmpl::conditional_t< evolve_ccm, Actions::CalculatePsi0AndDerivAtInnerBoundary, tmpl::list<> >, Actions::PrecomputeKleinGordonSourceVariables, tmpl::transform< bondi_hypersurface_step_tags, tmpl::bind<::Actions::MutateApply, tmpl::bind< ComputeKleinGordonSource, tmpl::_1 > > >, tmpl::transform< bondi_hypersurface_step_tags, tmpl::bind< hypersurface_computation, tmpl::_1 > >, klein_gordon_hypersurface_computation, Actions::FilterSwshVolumeQuantity< Tags::BondiH >, Actions::FilterSwshVolumeQuantity< Tags::KleinGordonPi >, ::Actions::MutateApply< CalculateScriPlusValue<::Tags::dt< Tags::InertialRetardedTime > > >, Actions::CalculateScriInputs, tmpl::transform< typename metavariables::cce_scri_tags, tmpl::bind<::Actions::MutateApply, tmpl::bind< CalculateScriPlusValue, tmpl::_1 > > >, ::Actions::RecordTimeStepperData< cce_system >, ::Actions::UpdateU< cce_system > >
 
using extract_action_list = tmpl::list< Actions::RequestBoundaryData< typename Metavariables::cce_boundary_component, KleinGordonCharacteristicEvolution< Metavariables > >, ::Actions::Label< CceEvolutionLabelTag >, tmpl::conditional_t< evolve_ccm, tmpl::list<>, evolution::Actions::RunEventsAndTriggers >, Actions::ReceiveWorldtubeData< Metavariables, typename Metavariables::cce_boundary_communication_tags >, Actions::ReceiveWorldtubeData< Metavariables, typename Metavariables::klein_gordon_boundary_communication_tags >, Actions::InitializeFirstHypersurface< evolve_ccm, typename Metavariables::cce_boundary_component >, Actions::InitializeKleinGordonFirstHypersurface, tmpl::conditional_t< tt::is_a_v< AnalyticWorldtubeBoundary, typename Metavariables::cce_boundary_component >, Actions::UpdateGauge< false >, Actions::UpdateGauge< evolve_ccm > >, Actions::PrecomputeGlobalCceDependencies, tmpl::conditional_t< evolve_ccm, Actions::CalculatePsi0AndDerivAtInnerBoundary, tmpl::list<> >, Actions::PrecomputeKleinGordonSourceVariables, tmpl::transform< bondi_hypersurface_step_tags, tmpl::bind<::Actions::MutateApply, tmpl::bind< ComputeKleinGordonSource, tmpl::_1 > > >, tmpl::transform< bondi_hypersurface_step_tags, tmpl::bind< hypersurface_computation, tmpl::_1 > >, klein_gordon_hypersurface_computation, Actions::FilterSwshVolumeQuantity< Tags::BondiH >, Actions::FilterSwshVolumeQuantity< Tags::KleinGordonPi >, compute_scri_quantities_and_observe, ::Actions::RecordTimeStepperData< cce_system >, ::Actions::UpdateU< cce_system >, ::Actions::ChangeStepSize< typename Metavariables::cce_step_choosers >, ::Actions::CleanHistory< cce_system, false >, Actions::RequestNextBoundaryData< typename Metavariables::cce_boundary_component, KleinGordonCharacteristicEvolution< Metavariables > >, ::Actions::AdvanceTime, Actions::ExitIfEndTimeReached, ::Actions::Goto< CceEvolutionLabelTag > >
 
using phase_dependent_action_list = tmpl::list< Parallel::PhaseActions< Parallel::Phase::Initialization, initialize_action_list >, Parallel::PhaseActions< Parallel::Phase::InitializeTimeStepperHistory, SelfStart::self_start_procedure< self_start_extract_action_list, cce_system > >, Parallel::PhaseActions< Parallel::Phase::Evolve, extract_action_list > >
 
using compute_scri_quantities_and_observe = tmpl::list< ::Actions::MutateApply< CalculateScriPlusValue<::Tags::dt< Tags::InertialRetardedTime > > >, Actions::CalculateScriInputs, tmpl::transform< typename metavariables::cce_scri_tags, tmpl::bind<::Actions::MutateApply, tmpl::bind< CalculateScriPlusValue, tmpl::_1 > > >, tmpl::transform< typename metavariables::scri_values_to_observe, tmpl::bind< Actions::InsertInterpolationScriData, tmpl::_1, tmpl::pin< typename Metavariables::cce_boundary_component > > >, Actions::ScriObserveInterpolated< observers::ObserverWriter< Metavariables >, typename Metavariables::cce_boundary_component > >
 
- Public Types inherited from Cce::CharacteristicEvolution< Metavariables >
using chare_type = Parallel::Algorithms::Singleton
 
using metavariables = Metavariables
 
using cce_system = Cce::System< evolve_ccm >
 
using initialize_action_list = tmpl::list< Actions::InitializeCharacteristicEvolutionVariables< Metavariables >, Actions::InitializeCharacteristicEvolutionTime< typename Metavariables::evolved_coordinates_variables_tag, typename Metavariables::evolved_swsh_tags, Metavariables::local_time_stepping >, Actions::InitializeCharacteristicEvolutionScri< typename Metavariables::scri_values_to_observe, typename Metavariables::cce_boundary_component >, Parallel::Actions::TerminatePhase >
 
using simple_tags_from_options = Parallel::get_simple_tags_from_options< initialize_action_list >
 
template<typename BondiTag >
using hypersurface_computation = tmpl::list< ::Actions::MutateApply< GaugeAdjustedBoundaryValue< BondiTag > >, Actions::CalculateIntegrandInputsForTag< BondiTag >, tmpl::transform< integrand_terms_to_compute_for_bondi_variable< BondiTag >, tmpl::bind<::Actions::MutateApply, tmpl::bind< ComputeBondiIntegrand, tmpl::_1 > > >, ::Actions::MutateApply< RadialIntegrateBondi< Tags::EvolutionGaugeBoundaryValue, BondiTag > >, tmpl::conditional_t< std::is_same_v< BondiTag, Tags::BondiU >, tmpl::list< ::Actions::MutateApply< GaugeUpdateTimeDerivatives >, tmpl::conditional_t< tt::is_a_v< AnalyticWorldtubeBoundary, typename Metavariables::cce_boundary_component >, tmpl::list<>, tmpl::conditional_t< evolve_ccm, ::Actions::MutateApply< GaugeUpdateInertialTimeDerivatives >, tmpl::list<> > >, ::Actions::MutateApply< GaugeAdjustedBoundaryValue< Tags::DuRDividedByR > >, ::Actions::MutateApply< PrecomputeCceDependencies< Tags::EvolutionGaugeBoundaryValue, Tags::DuRDividedByR > > >, tmpl::list<> > >
 
using compute_scri_quantities_and_observe = tmpl::list< ::Actions::MutateApply< CalculateScriPlusValue<::Tags::dt< Tags::InertialRetardedTime > > >, Actions::CalculateScriInputs, tmpl::transform< typename metavariables::cce_scri_tags, tmpl::bind<::Actions::MutateApply, tmpl::bind< CalculateScriPlusValue, tmpl::_1 > > >, tmpl::transform< typename metavariables::scri_values_to_observe, tmpl::bind< Actions::InsertInterpolationScriData, tmpl::_1, tmpl::pin< typename Metavariables::cce_boundary_component > > >, Actions::ScriObserveInterpolated< observers::ObserverWriter< Metavariables >, typename Metavariables::cce_boundary_component > >
 
using self_start_extract_action_list = tmpl::list< Actions::RequestBoundaryData< typename Metavariables::cce_boundary_component, CharacteristicEvolution< Metavariables > >, Actions::ReceiveWorldtubeData< Metavariables, typename Metavariables::cce_boundary_communication_tags >, Actions::InitializeFirstHypersurface< evolve_ccm, typename Metavariables::cce_boundary_component >, tmpl::conditional_t< tt::is_a_v< AnalyticWorldtubeBoundary, typename Metavariables::cce_boundary_component >, Actions::UpdateGauge< false >, Actions::UpdateGauge< evolve_ccm > >, Actions::PrecomputeGlobalCceDependencies, tmpl::conditional_t< evolve_ccm, Actions::CalculatePsi0AndDerivAtInnerBoundary, tmpl::list<> >, tmpl::transform< bondi_hypersurface_step_tags, tmpl::bind< hypersurface_computation, tmpl::_1 > >, Actions::FilterSwshVolumeQuantity< Tags::BondiH >, ::Actions::MutateApply< CalculateScriPlusValue<::Tags::dt< Tags::InertialRetardedTime > > >, Actions::CalculateScriInputs, tmpl::transform< typename metavariables::cce_scri_tags, tmpl::bind<::Actions::MutateApply, tmpl::bind< CalculateScriPlusValue, tmpl::_1 > > >, ::Actions::RecordTimeStepperData< cce_system >, ::Actions::UpdateU< cce_system >, ::Actions::CleanHistory< cce_system, false > >
 
using extract_action_list = tmpl::list< Actions::RequestBoundaryData< typename Metavariables::cce_boundary_component, CharacteristicEvolution< Metavariables > >, ::Actions::Label< CceEvolutionLabelTag >, tmpl::conditional_t< evolve_ccm, tmpl::list<>, evolution::Actions::RunEventsAndTriggers >, Actions::ReceiveWorldtubeData< Metavariables, typename Metavariables::cce_boundary_communication_tags >, Actions::InitializeFirstHypersurface< evolve_ccm, typename Metavariables::cce_boundary_component >, tmpl::conditional_t< tt::is_a_v< AnalyticWorldtubeBoundary, typename Metavariables::cce_boundary_component >, Actions::UpdateGauge< false >, Actions::UpdateGauge< evolve_ccm > >, Actions::PrecomputeGlobalCceDependencies, tmpl::conditional_t< evolve_ccm, Actions::CalculatePsi0AndDerivAtInnerBoundary, tmpl::list<> >, tmpl::transform< bondi_hypersurface_step_tags, tmpl::bind< hypersurface_computation, tmpl::_1 > >, Actions::FilterSwshVolumeQuantity< Tags::BondiH >, compute_scri_quantities_and_observe, ::Actions::RecordTimeStepperData< cce_system >, ::Actions::UpdateU< cce_system >, ::Actions::ChangeStepSize< typename Metavariables::cce_step_choosers >, ::Actions::CleanHistory< cce_system, false >, Actions::RequestNextBoundaryData< typename Metavariables::cce_boundary_component, CharacteristicEvolution< Metavariables > >, ::Actions::AdvanceTime, Actions::ExitIfEndTimeReached, ::Actions::Goto< CceEvolutionLabelTag > >
 
using phase_dependent_action_list = tmpl::list< Parallel::PhaseActions< Parallel::Phase::Initialization, initialize_action_list >, Parallel::PhaseActions< Parallel::Phase::InitializeTimeStepperHistory, SelfStart::self_start_procedure< self_start_extract_action_list, cce_system > >, Parallel::PhaseActions< Parallel::Phase::Evolve, extract_action_list > >
 

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 Member Functions inherited from Cce::CharacteristicEvolution< Metavariables >
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
 
- Static Public Attributes inherited from Cce::CharacteristicEvolution< Metavariables >
static constexpr bool evolve_ccm = Metavariables::evolve_ccm
 

Detailed Description

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

The component for handling the CCE evolution for the Klein-Gordon system coupled with General Relativity.

Details

The DataBox associated with KleinGordonCharacteristicEvolution will contain all the tags of CharacteristicEvolution, with additional tags related to the scalar field.

Metavariables requirements:

  • Phases:
    • Initialization
    • Evolve
  • Modified type aliases in comparison to CharacteristicEvolution:
    • evolved_swsh_tags: The spin-weighted quantities to be evolved ( KleinGordonPsi and BondiJ).
    • evolved_swsh_dt_tags: The spin-weighed quantities associated that are to act as the time derivative to evolve evolved_swsh_tags (KleinGordonPi and BondiH).
  • Additional type aliases related to the scalar field:
    • klein_gordon_boundary_communication_tags: A typelist of tags that will be communicated between the worldtube boundary component and the extraction component (Cce::Tags::klein_gordon_worldtube_boundary_tags).
    • klein_gordon_gauge_boundary_tags: A typelist of tags that will be derived via GaugeAdjustedBoundaryValue and corresponding gauge utilities
    • klein_gordon_scri_tags: the tags of quantities to compute at scri+

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