Black hole ringdown waveform generation.
Routines for generating waveforms for black hole ringdown.
The ringdown waveform is an exponentially-damped sinusoid
\begin{equation} r(t) = \left\{ \begin{array}{ll} e^{-\pi ft/Q}\cos(2\pi ft + \phi_0) & \mbox{for } t\ge0 \\ 0 & \mbox{for } t<0 \end{array} \right. \end{equation}
where \(f\) is the central frequency of the ringdown waveform, \(Q\) is the quality factor, and \(\phi_0\) is the initial phase of the waveform. Note that Ref. [11] adopted the normalization convention \(q(t)=(2\pi)^{1/2}r(t)\).
For a black hole ringdown, the gravitational waveform produced, averaged over the various angles, is
\begin{equation} h(t) = A_qq(t) \end{equation}
where the central frequency and quality of the ringdown are determined from the mass and spin of the black holes. An analytic approximation yields [18] ,[17]
\begin{equation} f \simeq 32\,\textrm{kHz}\times[1-0.63(1-{\hat{a}})^{3/10}](M_\odot/M) \end{equation}
and
\begin{equation} Q \simeq 2(1-{\hat{a}})^{-9/20} \end{equation}
with the black hole mass given by \(M\) and its spin by \(S={\hat{a}}GM^2/c\) (where \(G\) is Newton's constant and \(c\) is the speed of light). The dimensionless spin parameter \({\hat{a}}\) lies between zero (for a Schwarzschild black hole) and unity (for an extreme Kerr black hole). The amplitude of the waveform depends on these quantities as well as the distance \(r\) to the source and the fractional mass loss \(\epsilon\) radiated in gravitational waves [11] :
\begin{equation} A_q = 2.415\times10^{-21}Q^{-1/2}[1-0.63(1-{\hat{a}})^{3/10}]^{-1/2} \left(\frac{\textrm{Mpc}}{r}\right) \left(\frac{M}{M_\odot}\right) \left(\frac{\epsilon}{0.01}\right)^{1/2}. \end{equation}
Note that this is the amplitude factor for the waveform \(q(t)\), whereas the amplitude factor for \(r(t)\) would be \((2\pi)^{1/2}A_q\).
The mismatch between two nearby templates is given by \(ds^2\), which can be thought of as the line interval for a mismatch-based metric on the \((f,Q)\) parameter space [20] ,[11] :
\begin{equation} ds^2 = \frac{1}{8} \biggl\{ \frac{3+16Q^4}{Q^2(1+4Q^2)^2}\,dQ^2 - 2\frac{3+4Q^2}{fQ(1+4Q^2)}\,dQ\,df + \frac{3+8Q^2}{f^2}\,df^2 \biggr\}. \end{equation}
When expressed in terms of \(\log f\) rather than \(f\), the metric coefficients depend on \(Q\) alone. We can exploit this property for the task of template placement. The method is the following: First, choose a "surface" of constant \(Q=Q_{\mathrm{\scriptstyle min}}\), and on this surface place templates at intervals in \(\phi=\log f\) of \(d\phi=d\ell/\surd g_{\phi\phi}\) for the entire range of \(\phi\). Here, \(d\ell=\surd(2ds^2_{\mathrm{\scriptstyle threshold}})\). Then choose the next surface of constant \(Q\) with \(dQ=d\ell/\surd g_{QQ}\) and repeat the placement of templates on this surface. This can be iterated until the entire range of \(Q\) has been covered; the collection of templates should now cover the entire parameter region with no point in the region being farther than \(ds^2_{\mathrm{\scriptstyle threshold}}\) from the nearest template.
The waveform generation routines use recurrance relations for both the exponentially-decaying envelope and for the co-sinusoid.
The template placement algorithm is described above.
Data Structures | |
| struct | RingTemplateBank |
| This structure contains a bank of ringdown waveforms. More... | |
| struct | RingTemplateBankInput |
| This structure contains the parameters required for generating a ringdown template bank. More... | |
Error Codes | |
| #define | RINGH_ENULL 01 |
| Null pointer. More... | |
| #define | RINGH_ENNUL 02 |
| Non-null pointer. More... | |
| #define | RINGH_EALOC 04 |
| Memory allocation error. More... | |
Definition at line 71 of file RingUtils.c.
Definition at line 88 of file RingUtils.c.
Definition at line 98 of file RingUtils.c.
Definition at line 115 of file RingUtils.c.
Definition at line 127 of file RingUtils.c.
Definition at line 134 of file RingUtils.c.
| REAL4 XLALSpinBinaryFinalBHSpin | ( | REAL4 | eta, |
| REAL4 | mass1, | ||
| REAL4 | mass2, | ||
| REAL4 | spin1x, | ||
| REAL4 | spin2x, | ||
| REAL4 | spin1y, | ||
| REAL4 | spin2y, | ||
| REAL4 | spin1z, | ||
| REAL4 | spin2z | ||
| ) |
Definition at line 145 of file RingUtils.c.
Definition at line 189 of file RingUtils.c.
Definition at line 204 of file RingUtils.c.
Definition at line 219 of file RingUtils.c.
Definition at line 226 of file RingUtils.c.
Definition at line 242 of file RingUtils.c.
Definition at line 269 of file RingUtils.c.
| REAL8 XLALRingdownTimeError | ( | const SnglRingdownTable * | table, |
| REAL8 | lal_ring_ds_sq | ||
| ) |
Definition at line 292 of file RingUtils.c.
| int XLALComputeRingTemplate | ( | REAL4TimeSeries * | output, |
| SnglRingdownTable * | input | ||
| ) |
This routine computes the ringdown waveform.
\begin{equation} r(t) = \left\{ \begin{array}{ll} e^{-\pi ft/Q}\cos(2\pi ft) & \mbox{for} t\ge0 \\ 0 & \mbox{for} t<0 \end{array} \right. \end{equation}
where the parameters \(f\) and \(Q\) are specified in the input structure. The output must have an appropriate amount of memory allocated, and must have the desired temporal spacing set. Note: Ref. [11] used a different convention for the ringdown normlization: there the ringdown waveform was taken to be \(q(t)=(2\pi)^{1/2}r(t)\).
Definition at line 320 of file RingUtils.c.
| int XLALComputeBlackHoleRing | ( | REAL4TimeSeries * | output, |
| SnglRingdownTable * | input, | ||
| REAL4 | dynRange | ||
| ) |
This routine computes a waveform for a black hole with the specified physical parameters (in the input structure).
The parameters are the black hole mass \(M\) (in solar masses \(M_\odot\)), the spin \(S={\hat{a}}GM^2/c\) expressed in terms of the dimensionless mass parameter \({\hat{a}}\), the fractional mass lost \(\epsilon\) in ringdown radiation expressed as a percent, and the distance to the typical source (angle-averaged waveform) \(r\) given in megaparsecs (Mpc). The central frequency and quality of the ringdown are approximated as\ [18] ,[4] :
\begin{equation} f \simeq 32\,\textrm{kHz}\times[f_1+f_2(1-{\hat{a}})^{f_3}](M_\odot/M) \end{equation}
and
\begin{equation} Q \simeq q_1+q_2(1-{\hat{a}})^{q_3}, \end{equation}
where the values of the constants (f_1,f_2,f_3) and (q_1,q_2,q_3) are given for each of (l,m,n) in\ [4] . The strain waveform produced is \(h(t)=A_q q(t)\) where the amplitude factor is\ [11]
\begin{equation} A_q = 2.415\times10^{-21}Q^{-1/2}[1-0.63(1-{\hat{a}})^{3/10}]^{-1/2} \left(\frac{\textrm{Mpc}}{r}\right) \left(\frac{M}{M_\odot}\right) \left(\frac{\epsilon}{0.01}\right)^{1/2}. \end{equation}
Note that this is written \(A_q\) to emphasize that it is the amplitude factor for \(q(t)\) rather than \(r(t)\).
Definition at line 399 of file RingUtils.c.
| RingTemplateBank * XLALCreateRingTemplateBank | ( | RingTemplateBankInput * | input | ) |
This routine creates a bank of ringdown templates that cover a set range in the parameters \(f\) and \(Q\).
Definition at line 458 of file RingUtils.c.
| void XLALDestroyRingTemplateBank | ( | RingTemplateBank * | bank | ) |
Destroys a RingTemplateBank.
Definition at line 487 of file RingUtils.c.
| #define RINGH_ENULL 01 |
Null pointer.
Definition at line 124 of file RingUtils.h.
| #define RINGH_ENNUL 02 |
Non-null pointer.
Definition at line 125 of file RingUtils.h.
| #define RINGH_EALOC 04 |
Memory allocation error.
Definition at line 126 of file RingUtils.h.