SpECTRE
v2024.12.16
|
Computes one of the inputs for the integration of one of the Characteristic hypersurface equations. More...
Computes one of the inputs for the integration of one of the Characteristic hypersurface equations.
The template argument must be one of the integrand-related prefix tags templated on a Bondi quantity tag for which that integrand is required. The relevant prefix tags are Tags::Integrand
, Tags::PoleOfIntegrand
, Tags::RegularIntegrand
, Tags::LinearFactor
, and Tags::LinearFactorForConjugate
. The Bondi quantity tags that these tags may wrap are Tags::BondiBeta
, Tags::BondiQ
, Tags::BondiU
, Tags::BondiW
, and Tags::BondiH
.
The integrand terms which may be computed for a given Bondi variable are enumerated in the type alias integrand_terms_to_compute_for_bondi_variable
, which takes as a single template argument the tag for which integrand terms would be computed, and is a tmpl::list
of the integrand terms needed.
The resulting quantity is returned by not_null
pointer, and the required argument tags are given in return_tags
and argument_tags
type aliases, where the return_tags
are passed by not_null
pointer (so include temporary buffers) and the argument_tags
are passed by const reference.
Additional mathematical details for each of the computations can be found in the template specializations of this struct. All of the specializations have a static apply
function which takes as arguments SpinWeighted<ComplexDataVector, N>
s for each of the Bondi arguments.