SpECTRE
v2024.09.29
|
Computes the evolution gauge quantity \(\mathcal U\) on the worldtube. More...
#include <GaugeTransformBoundaryData.hpp>
Public Types | |
using | return_tags = tmpl::list< Tags::EvolutionGaugeBoundaryValue< Tags::BondiU > > |
using | argument_tags = tmpl::list< Tags::BoundaryValue< Tags::BondiU >, Tags::BondiJ, Tags::EvolutionGaugeBoundaryValue< Tags::BondiR >, Tags::EvolutionGaugeBoundaryValue< Tags::BondiBeta >, Tags::PartiallyFlatGaugeC, Tags::PartiallyFlatGaugeD, Tags::PartiallyFlatGaugeOmega, Spectral::Swsh::Tags::Derivative< Tags::PartiallyFlatGaugeOmega, Spectral::Swsh::Tags::Eth >, Spectral::Swsh::Tags::SwshInterpolator< Tags::CauchyAngularCoords >, Tags::LMax > |
Static Public Member Functions | |
static void | apply (gsl::not_null< Scalar< SpinWeighted< ComplexDataVector, 1 > > * > evolution_gauge_u, const Scalar< SpinWeighted< ComplexDataVector, 1 > > &cauchy_gauge_u, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &volume_j, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &evolution_gauge_r, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &evolution_gauge_beta, const Scalar< SpinWeighted< ComplexDataVector, 2 > > &gauge_c, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &gauge_d, const Scalar< SpinWeighted< ComplexDataVector, 0 > > &omega, const Scalar< SpinWeighted< ComplexDataVector, 1 > > ð_omega, const Spectral::Swsh::SwshInterpolator &interpolator, size_t l_max) |
Computes the evolution gauge quantity \(\mathcal U\) on the worldtube.
Note that the boundary quantity computed by this function is, by necessity, NOT the evolution gauge bondi \(\hat U\), because there is insufficient information at the point in the computation this will be evaluated to completely determine \(\hat{U}\). Instead, this determines the boundary value of \(\mathcal U\), which satisfies,
\begin{align*} \mathcal{U} - \mathcal{U}^{(0)} = \hat U, \end{align*}
where the superscript \((0)\) denotes evaluation at \(\mathcal I^+\). In particular, the result of this computation may be used with the same hypersurface equations as the full evolution gauge \(\hat U\), because they satisfy the same radial differential equation.
\(\mathcal U\) is computed by,
\begin{align*} \mathcal U = \frac{1}{2\hat \omega^2} \left(\hat{\bar d} U(\hat x^{\hat A}) - \hat c \bar U(\hat x^{\hat A}) \right) - \frac{e^{2 \hat \beta}}{\hat r \hat \omega} \left(\hat K \hat \eth \hat \omega - \hat J\hat{\bar{\eth}} \hat \omega\right), \end{align*}
where the explicit argument \(\hat x^{\hat A}\) on the right-hand side implies the need for an interpolation operation, and \(K = \sqrt{1 + J \bar J}\).