Teukolsky point-particle mode module#
The TeukolskyMode class constructs modes of the so-called extended homogeneous solutions to the radial Teukolsky equation for a point-particle source on a bound periodic geodesic,
API#
- class pybhpt.teuk.TeukolskyMode(s, j, m, k, n, geo, auto_solve=False)[source]
Bases:
objectA class for computing Teukolsky modes sourced by a point-particle orbiting in a Kerr background.
- Parameters:
s (int) – The spin weight of the Teukolsky mode.
j (int) – The spheroidal harmonic mode number.
m (int) – The azimuthal harmonic mode number.
k (int) – The polar harmonic mode number.
n (int) – The radial harmonic mode number.
geo (KerrGeodesic class instance) – KerrGeodesic object containing the background motion of the point-particle source.
auto_solve (bool, optional) – If True, the Teukolsky equation is automatically solved upon initialization. Default is False
- Variables:
spinweight (int) – The spin weight of the Teukolsky mode.
spheroidalmode (int) – The spheroidal harmonic mode number.
azimuthalmode (int) – The azimuthal harmonic mode number.
radialmode (int) – The radial harmonic mode number.
polarmode (int) – The polar harmonic mode number.
blackholespin (float) – The spin of the black hole in the Kerr background.
frequency (float) – The frequency of the Teukolsky mode.
horizonfrequency (float) – The frequency of the mode at the horizon.
eigenvalue (float) – The spheroidal eigenvalue of the Teukolsky mode.
mincouplingmode (int) – The minimum l-mode used for coupling the spherical and spheroidal harmonics
maxcouplingmode (int) – The maximum l-mode used for coupling the spherical and spheroidal harmonics
j (int) – Alias for spheroidalmode.
m (int) – Alias for azimuthalmode.
k (int) – Alias for polarmode.
n (int) – Alias for radialmode.
omega (float) – Alias for frequency.
a (float) – Alias for blackholespin.
- solve(geo, method='AUTO', nsamples=256, teuk=None, swsh=None)[source]
Solve the Teukolsky equation for the given mode and geodesic.
- flipspinweight()[source]
Flip the spin weight of the Teukolsky mode.
- flipspinweightandfrequency()[source]
Flip the spin weight and frequency of the Teukolsky mode.
- couplingcoefficient(l)[source]
Compute the coupling coefficient for the given l-mode.
- radialpoint(pos)[source]
Compute the radial point for the given position.
- radialsolution(bc, pos)[source]
Compute the radial solution for the given boundary condition and position.
- radialderivative(bc, pos)[source]
Compute the radial derivative for the given boundary condition and position.
- radialderivative2(bc, pos)[source]
Compute the second radial derivative for the given boundary condition and position.
- homogeneousradialsolution(bc, pos)[source]
Compute the homogeneous radial solution for the given boundary condition and position.
- homogeneousradialderivative(bc, pos)[source]
Compute the homogeneous radial derivative for the given boundary condition and position.
- homogeneousradialderivative2(bc, pos)[source]
Compute the second homogeneous radial derivative for the given boundary condition and position.
- polarpoint(pos)[source]
Compute the polar point for the given position.
- polarsolution(pos)[source]
Compute the polar solution for the given position.
- polarderivative(pos)[source]
Compute the polar derivative for the given position.
- polarderivative2(pos)[source]
Compute the second polar derivative for the given position.
- amplitude(bc)[source]
Compute the Teukolsky amplitude for the given boundary condition.
- precision(bc)[source]
Compute the precision of the Teukolsky amplitude for the given boundary condition.
- property spinweight
- property spheroidalmode
- property azimuthalmode
- property radialmode
- property polarmode
- property blackholespin
- property frequency
- property horizonfrequency
- property eigenvalue
- property mincouplingmode
- property maxcouplingmode
- property j
- property m
- property k
- property n
- property omega
- property a
- property couplingcoefficients
- property polarpoints
- property polarsolutions
- property polarderivatives
- property polarderivatives2
- property radialpoints
- property radialsolutions
- property radialderivatives
- property radialderivatives2
- property homogeneousradialsolutions
- property homogeneousradialderivatives
- property homogeneousradialderivatives2
- property amplitudes
- property precisions
- solve(geo, method='AUTO', nsamples=256, teuk=None, swsh=None)[source]
Solve the Teukolsky equation for the given mode and geodesic. :param geo: KerrGeodesic object containing the background motion of the point-particle source. :type geo: KerrGeodesic class instance :param method: The method to use for solving the Teukolsky equation. Default is “AUTO”. :type method: str, optional :param nsamples: The number of samples to use for the solution. Default is 256. :type nsamples: int, optional :param teuk: RadialTeukolsky object to use for constructing the radial Green function. Default is None. :type teuk: RadialTeukolsky, optional :param swsh: SpheroidalHarmonic object to use for coupling with spheroidal harmonics. Default is None. :type swsh: SpheroidalHarmonicMode, optional
- flipspinweight()[source]
- flipspinweightandfrequency()[source]
Flips the spin-weight and frequency of the Teukolsky solutions from :math:`s
ightarrow -s` and \(\omega ightarrow -\omega\)
- couplingcoefficient(l)[source]
Spherical-spheroidal mixing coefficient between a spherical harmonic $l$ mode with a spheroidal $j$ mode.
- Parameters:
l (int) – Spherical harmonic mode.
- Returns:
The coupling coefficient between the spherical harmonic mode l and the spheroidal harmonic mode j.
- Return type:
float
- radialpoint(pos)[source]
The radial point for the given position pos.
- Parameters:
pos (int) – The radial position.
- Returns:
The radial point at the given position pos.
- Return type:
float
- radialsolution(bc, pos)[source]
The extended homogeneous radial solution for the given boundary condition bc and position pos.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
pos (int) – The radial position.
- Returns:
The radial solution at the given boundary condition bc and position pos.
- Return type:
complex
- radialderivative(bc, pos)[source]
The derivative of the extended homogeneous radial solution for the given boundary condition bc and position pos.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
pos (int) – The radial position.
- Returns:
The radial derivative at the given boundary condition bc and position pos.
- Return type:
complex
- radialderivative2(bc, pos)[source]
The second derivative of the extended homogeneous radial solution for the given boundary condition bc and position pos.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
pos (int) – The radial position.
- Returns:
The radial second derivative at the given boundary condition bc and position pos.
- Return type:
complex
- homogeneousradialsolution(bc, pos)[source]
The homogeneous radial solution for the given boundary condition bc and position pos.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
pos (int) – The radial position.
- Returns:
The radial solution at the given boundary condition bc and position pos.
- Return type:
complex
- homogeneousradialderivative(bc, pos)[source]
The radial derivative of the homogeneous radial solution for the given boundary condition bc and position pos.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
pos (int) – The radial position.
- Returns:
The radial derivative at the given boundary condition bc and position pos.
- Return type:
complex
- homogeneousradialderivative2(bc, pos)[source]
The second radial derivative of the homogeneous radial solution for the given boundary condition bc and position pos.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
pos (int) – The radial position.
- Returns:
The radial second derivative at the given boundary condition bc and position pos.
- Return type:
complex
- polarpoint(pos)[source]
The polar point for the given position pos.
- Parameters:
pos (int) – The polar position.
- Returns:
The polar point at the given position pos.
- Return type:
float
- polarsolution(pos)[source]
The polar solution for the given position pos.
- Parameters:
pos (int) – The polar position.
- Returns:
The polar solution at the given position pos.
- Return type:
float
- polarderivative(pos)[source]
The derivative of the polar solution for the given position pos.
- Parameters:
pos (int) – The polar position.
- Returns:
The polar derivative at the given position pos.
- Return type:
float
- polarderivative2(pos)[source]
The second derivative of the polar solution for the given position pos.
- Parameters:
pos (int) – The polar position.
- Returns:
The polar second derivative at the given position pos.
- Return type:
float
- amplitude(bc)[source]
The Teukolsky amplitude for the given boundary condition bc.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
- Returns:
The Teukolsky amplitude at the given boundary condition bc.
- Return type:
complex
- precision(bc)[source]
The precision of the Teukolsky amplitude for the given boundary condition bc.
- Parameters:
bc (str) – The boundary condition, either “In” for ingoing or “Up” for upgoing.
- Returns:
The precision of the Teukolsky amplitude at the given boundary condition bc.
- Return type:
float