scri.asymptotic_bondi_data.bms_charges

Functions

CWWY_angular_momentum(self)

Compute the Chen/Wang/Wang/Yau angular momentum vector.

bondi_CoM_charge(self)

Compute the center-of-mass charge vector

bondi_angular_momentum(self)

Compute the total Bondi angular momentum vector

bondi_boost_charge(self)

Compute the Bondi boost charge vector

bondi_dimensionless_spin(self)

Compute the dimensionless Bondi spin vector

bondi_four_momentum(self)

Compute the Bondi four-momentum

bondi_rest_mass(self)

Compute the rest mass from the Bondi four-momentum

charge_vector_from_aspect(charge)

Output the ell<=1 modes of a BMS charge aspect as the charge four-vector.

mass_aspect(self[, truncate_ell])

Compute the Bondi mass aspect of the AsymptoticBondiData.

supermomentum(self, supermomentum_def, **kwargs)

Compute the supermomentum

scri.asymptotic_bondi_data.bms_charges.CWWY_angular_momentum(self)[source]

Compute the Chen/Wang/Wang/Yau angular momentum vector.

See Eq. (5) of https://arxiv.org/abs/2102.03235

scri.asymptotic_bondi_data.bms_charges.bondi_CoM_charge(self)[source]

Compute the center-of-mass charge vector

Gⁱ = Nⁱ + t Pⁱ = - [ψ₁ + σ ðσ̄ + ½ð(σ σ̄)]

where Nⁱ is the boost charge and Pⁱ is the momentum. See Eq. (3.4) of arXiv:1912.03164.

scri.asymptotic_bondi_data.bms_charges.bondi_angular_momentum(self)[source]

Compute the total Bondi angular momentum vector

i (ψ₁ + σ ðσ̄)

See Eq. (8) of Dray (1985) iopscience.iop.org/article/10.1088/0264-9381/2/1/002

scri.asymptotic_bondi_data.bms_charges.bondi_boost_charge(self)[source]

Compute the Bondi boost charge vector

  • [ψ₁ + σ ðσ̄ + ½ð(σ σ̄) - t ð ℜ{ψ₂ + σ ∂ₜσ̄}]

See Eq. (8) of Dray (1985) iopscience.iop.org/article/10.1088/0264-9381/2/1/002

scri.asymptotic_bondi_data.bms_charges.bondi_dimensionless_spin(self)[source]

Compute the dimensionless Bondi spin vector

scri.asymptotic_bondi_data.bms_charges.bondi_four_momentum(self)[source]

Compute the Bondi four-momentum

This is just the ell<2 component of the mass aspect, expressed as a four-vector.

scri.asymptotic_bondi_data.bms_charges.bondi_rest_mass(self)[source]

Compute the rest mass from the Bondi four-momentum

scri.asymptotic_bondi_data.bms_charges.charge_vector_from_aspect(charge)[source]

Output the ell<=1 modes of a BMS charge aspect as the charge four-vector.

Considering the aspect as a function a(θ, ϕ), we express the corresponding four-vector in terms of Cartesian components as

vᵝ = (1/4π) ∫ ℜ{a} (tᵝ + rᵝ) dΩ

where the integral is taken over the 2-sphere, and tᵝ + rᵝ has components (1, sinθ cosϕ, sinθ sinϕ, cosθ).

scri.asymptotic_bondi_data.bms_charges.mass_aspect(self, truncate_ell=<built-in function max>)[source]

Compute the Bondi mass aspect of the AsymptoticBondiData.

The Bondi mass aspect is given by

M = -ℜ{ψ₂ + σ ∂ₜσ̄}

Note that the last term is a product between two fields. If, for example, these both have ell_max=8, then their full product would have ell_max=16, meaning that we would go from tracking 81 modes to 289. This shows that deciding how to truncate the output ell is important, which is why this function has the extra argument that it does.

Parameters:
truncate_ell: int, or callable [defaults to `max`]

Determines how the ell_max value of the output is determined. If an integer is passed, each term in the output is truncated to have at most that ell_max. (In particular, terms that will not be used in the output are simply not computed, without incurring any errors due to aliasing.) If a callable is passed, it is passed on to the spherical_functions.Modes.multiply method. See that function’s docstring for details. The default behavior will result in the output having ell_max equal to the largest of any of the individual Modes objects in the equation for M above – but not the product.

scri.asymptotic_bondi_data.bms_charges.supermomentum(self, supermomentum_def, **kwargs)[source]

Compute the supermomentum

This function allows for several different definitions of the supermomentum. These differences only apply to ell > 1 modes, so they do not affect the Bondi four-momentum. See Eqs. (7-9) in arXiv:1404.2475 for the different supermomentum definitions and links to further references.

In the literature, there is an ambiguity of vocabulary. When it comes to other BMS charges, we clearly distinuish between the “charge” and the “aspect”. However, the term “supermomentum” is used for both. Accordingly, this function provides two ways to compute the supermomentum.

  1. By default, the supermomentum will be computed as

    Ψ = ψ₂ + σ ∂ₜσ̄ + f(θ, ϕ)

    (See below for the definitions of f.)

  2. By passing the option integrated=True, the supermomentum will instead be computed as

    Pₗₘ = - (1/4π) ∫ Ψ(θ, ϕ) Yₗₘ(θ, ϕ) dΩ

Parameters:
supermomentum_defstr

The definition of the supermomentum to be computed. One of the following (case-insensitive) options can be specified:

  • ‘Bondi-Sachs’ or ‘BS’ for f = 0

  • ‘Moreschi’ or ‘M’ for f = ð²σ̄

  • ‘Geroch’ or ‘G’ for f = ½ (ð²σ̄ - ð̄²σ)

  • ‘Geroch-Winicour’ or ‘GW’ for f = - ð̄²σ

integratedbool, optional

If True, then return the integrated form of the supermomentum — see Eq. (6) in arXiv:1404.2475. Default is False

working_ell_max: int, optional

The value of ell_max to be used to define the computation grid. The number of theta points and the number of phi points are set to 2*working_ell_max+1. Defaults to 2*self.ell_max.

Returns:
ModesTimeSeries