EMRI Kludge Suite (DISCONTINUED)
This is a C/C++ suite that allows kludge waveforms for extreme-mass-ratio inspirals (EMRIs) to be generated with shared settings and parameters. The three waveforms included in the suite are the augmented analytic kludge (AAK) [1,2], the analytic kludge (AK) , and the numerical kludge (NK) . EMRI Kludge Suite is part of the Black Hole Perturbation Toolkit; visit http://bhptoolkit.org for more information.
EMRI Kludge Suite is no longer being maintained. Active development has shifted to the next-generation framework at https://bhptoolkit.org/FastEMRIWaveforms, which includes an improved 5PN version of the AAK waveform.
— Alvin Chua, Jan 2021
The GSL and FFTW libraries are required for compilation. Clean up any previous installation first with
make clean. Running
make will create the following executables in the folder
Python support is available for all AAK outputs, as well as the AK TDIs. GPU functionality with Python interface has also been added for the AAK (waveform only). These modules are installed by running
python setup.py install; if root access is not available, try
python setup.py install --user instead.
./examples/SetPar_Waveform is a template for a formatted settings/parameters file that contains the output file path, various toggles, and the EMRI parameters. More details are provided in the template file itself.
As an example, running
bin/AAK_Waveform examples/SetPar_Waveform will generate an AAK waveform with default settings and parameters. Three files will be created in
example_wave.datcontains waveform data (t, h_I, h_II)
example_traj.datcontains inspiral trajectory data (t, p/M, e, iota, E, L_z, Q)
example_info.txtcontains additional information such as signal-to-noise ratio and waveform timing
./examples/SetPar_TDI contains default settings and parameters for the TDI executables. These output the fixed-and-equal-arm LISA TDI channels (X,Y,Z), which are computed directly in the Fourier domain using the stationary phase approximation.
For example, running
bin/AAK_TDI examples/SetPar_TDI will create two files in
example_wave.datcontains TDI data (f, Xf_r, Xf_im, Yf_r, Yf_im, Zf_r, Zf_im)
example_info.txtcontains timing information
./examples/SetPar_Phase contains default settings and parameters for the executable
./bin/AAK_Phase, which computes the evolution of the radial, polar and azimuthal phases in the AAK (without amplitude information). These phases are fast to generate and can be downsampled significantly; their time derivatives are the Kerr fundamental frequencies (see  for their explicit relation to the AK frequencies).
bin/AAK_Phase examples/SetPar_Phase will create two files in
example_wave.datcontains phase data (t, phase_r, phase_theta, phase_phi, omega_r, omega_theta, omega_phi, e)
example_info.txtcontains timing information
Example Python usage is provided in the file
./examples/AAKdemo.py. There are four available functions in the module
wavecorresponds to the output of
tdicorresponds to the output of
phasecorresponds to the output of
aktdicorresponds to the output of
The AAK waveform has been ported to CUDA. Python interface and native GPU computation of the LISA noise-weighted inner product are also available. Example usage is provided in the file
List of (important) known bugs
- The approximate LISA response functions h_I/h_II for the AAK/AK and the NK do not match up, likely due to differing conventions when implementing the Doppler shift
- The NK may produce NaNs at times that coincide with specific fractions of the LISA orbital period (when using integer values of dt), or near plunge; this needs to be fixed, but in the meantime a band-aid solution for dealing with isolated NaNs is included
- All waveforms may have difficulties with zero or epsilon values for certain parameters such as spin, eccentricity and inclination
Jet Propulsion Laboratory
Max Planck Institute for Gravitational Physics
The EMRI Kludge Suite is also based on code written by Leor Barack (for the AK) and Scott Hughes (for the NK). The TDI executables are based on an approximate derivation/implementation by Stanislav Babak. The Python wrapper for the AAK is provided by Michele Vallisneri.
 A. J. K. Chua & J. R. Gair. Improved analytic extreme-mass-ratio inspiral model for scoping out eLISA data analysis. Class. Quantum Grav. 32:232002, 2015.
 A. J. K. Chua, C. J. Moore & J. R. Gair. Augmented kludge waveforms for detecting extreme-mass-ratio inspirals. Physical Review D 96:044005, 2017.
 L. Barack & C. Cutler. LISA capture sources: Approximate waveforms, signal-to-noise ratios, and parameter estimation accuracy. Physical Review D 69:082005, 2004.
 S. Babak, H. Fang, J. R. Gair, K. Glampedakis & S. A. Hughes. "Kludge" gravitational waveforms for a test-body orbiting a Kerr black hole. Physical Review D 75:024005, 2007.