SpECTRE  v2024.04.12
Cce::ComputeBondiIntegrand< IntegrandTag > Struct Template Reference

Computes one of the inputs for the integration of one of the Characteristic hypersurface equations. More...

Detailed Description

template<typename IntegrandTag>
struct Cce::ComputeBondiIntegrand< IntegrandTag >

Computes one of the inputs for the integration of one of the Characteristic hypersurface equations.

Details

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.


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