SpECTRE
v2023.05.16
|
Checks the interpolation managers and if they are ready, performs the interpolation and sends the data to file via observers::ThreadedActions::WriteSimpleData
.
More...
#include <ScriObserveInterpolated.hpp>
Public Types | |
using | const_global_cache_tags = tmpl::flatten< tmpl::list< Tags::ObservationLMax, std::conditional_t< tt::is_a_v< AnalyticWorldtubeBoundary, BoundaryComponent >, tmpl::list< Tags::OutputNoninertialNews >, tmpl::list<> > > > |
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) |
Checks the interpolation managers and if they are ready, performs the interpolation and sends the data to file via observers::ThreadedActions::WriteSimpleData
.
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.
Tags::EthInertialRetardedTime
, interpolated to the inertial frame, to perform the coordinate transformations presented in [24] 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 \(\eth\) and choice of Newman-Penrose tetrad.\begin{align*} \Psi_0^{\prime (5)} =& \Psi_0^{(5)} + 2 \eth u^\prime \Psi_1^{(4)} + \frac{3}{4} \left(\eth u^\prime\right)^2 \Psi_2^{(3)} + \frac{1}{2} \left( \eth u^\prime\right)^3 \Psi_3^{(2)} + \frac{1}{16} \left(\eth u^\prime\right)^4 \Psi_4^{(1)}, \\ \Psi_1^{\prime (4)} =& \Psi_1^{(4)} + \frac{3}{2} \eth u^\prime \Psi_2^{(3)} + \frac{3}{4} \left(\eth u^\prime\right)^2 \Psi_3^{(2)} + \frac{1}{8} \left(\eth u^\prime\right)^3 \Psi_4^{(1)}, \\ \Psi_2^{\prime (3)} =& \Psi_2^{(3)} + \eth u^\prime \Psi_3^{(2)} + \frac{1}{4} \left(\eth u^\prime\right)^2 \Psi_4^{(1)}, \\ \Psi_3^{\prime (2)} =& \Psi_3^{(2)} + \frac{1}{2} \eth u^{\prime} \Psi_4^{ (1)}, \\ \Psi_4^{\prime (1)} =& \Psi_4^{(1)}. \end{align*}
DataBox changes:
InterpolagionManager<ComplexDataVector, Tag>
for each Tag
in Metavariables::scri_values_to_observe