All of the chirp generation routines, in particular the ubiquitous make_filters(), compute what has come to be known as ``restricted'' post-Newtonian chirps. This means they include all post-Newtonian corrections (up to the specified order) in the phase evolution, but only the dominant quadrupole amplitude.
The routines are flexible in the sense that they have a number of run-time options available for choosing the post-Newtonian order of the phase calculations, or choosing whether or not to include spin effects. We have also isolated those parts of the code where the messy post-Newtonian coefficients appear; thus the routines may be easily modified to include yet higher-order post-Newtonian terms as they become available.
The post-Newtonian equations for the orbital phase evolution are
notoriously ill-behaved [10,11] as the binary
system nears coalescence. In this regime the expansion parameters
[namely the relative velocity
of the bodies and/or the field
strength
] used in the derivation are
comparable to unity. In post
-Newtonian calculations higher orders
such as post
-Newtonian terms have been discarded. Because of this
truncation, quantities that are are positive definite in an exact
calculation (say the energy-loss rate, or the time derivative of the
orbital frequency) often become negative in their post-Newtonian
expansion when the orbital separation becomes small. When this happens
you are using a post-Newtonian expression in a regime where its
validity is questionable. This is cause for concern, and it may be
cause for terminating a chirp calculation; but, it need not crash your
code. A full-scale gravitational-wave search will need to compute
chirps over a broad range of parameters, virtually assuring that any
post-Newtonian chirp generator will be pushed into a region of
parameter space where it doesn't belong. These routines are designed
to traverse these dangerous regions of parameter space as well as
possible and gently warn the user of the dangers encountered. The
calling routines may wish to act on the warnings coming from the chirp
generator. For example a severe warning may prompt the calling routine
to discard a given filter from a data search, because the second
post-Newtonian calculation of the chirp is so dubious that it can't
give meaningful results.
In the next several sections we detail the use of three routines used to compute the ``chirp'' of a coalescing binary system. The first routine we describe is phase_frequency(). This is the underlying routine for the other chirp routines. Given a set of parameters (e.g. the two masses, and the upper and lower cut-off frequency for the chirp) it returns the orbital phase and orbital frequency evolution as a function of time. Next we describe chirp_filter() which returns two (unnormalized) chirp signals. This routine can be used for wholesale production of a bank of templates for a coalescing binary search.