SpECTRE  v2024.12.16
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
Cce::Actions::ScriObserveInterpolated< ObserverWriterComponent, BoundaryComponent, WriteSynchronously > Struct Template Reference

Checks the interpolation managers and if they are ready, performs the interpolation and sends the data to file. More...

#include <ScriObserveInterpolated.hpp>

Public Types

using const_global_cache_tags = implementation defined
 

Static Public Member Functions

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

Detailed Description

template<typename ObserverWriterComponent, typename BoundaryComponent, bool WriteSynchronously = true>
struct Cce::Actions::ScriObserveInterpolated< ObserverWriterComponent, BoundaryComponent, WriteSynchronously >

Checks the interpolation managers and if they are ready, performs the interpolation and sends the data to file.

Details

This uses the ScriPlusInterpolationManager to perform the interpolations of all requested scri quantities (determined by scri_values_to_observe in the metavariables), and write them to disk using observers::threadedActions::WriteSimpleData. When using an analytic worldtube solution, this action also uses the AnalyticBoundaryDataManager to output the expected News value at the appropriate asymptotically inertial time.

Note
This action also uses the Tags::EthInertialRetardedTime, interpolated to the inertial frame, to perform the coordinate transformations presented in to the Weyl scalars after interpolation. For our formulas, we need to adjust the signs and factors of two to be compatible with our definitions of ð and choice of Newman-Penrose tetrad.

Ψ0(5)=Ψ0(5)+2ðuΨ1(4)+34(ðu)2Ψ2(3)+12(ðu)3Ψ3(2)+116(ðu)4Ψ4(1),Ψ1(4)=Ψ1(4)+32ðuΨ2(3)+34(ðu)2Ψ3(2)+18(ðu)3Ψ4(1),Ψ2(3)=Ψ2(3)+ðuΨ3(2)+14(ðu)2Ψ4(1),Ψ3(2)=Ψ3(2)+12ðuΨ4(1),Ψ4(1)=Ψ4(1).

Note
If WriteSynchronously is true, then a local synchronous action will be used to write the News value rather than a threaded action.

DataBox changes:

  • Adds: nothing
  • Removes: nothing
  • Modifies: InterpolagionManager<ComplexDataVector, Tag> for each Tag in Metavariables::scri_values_to_observe

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