def nonlinear_tidal_spa(**kwds):
    """Generates a frequency-domain waveform that implements the
    TaylorF2+NL tide model described in https://arxiv.org/abs/1808.07013
    """

    from pycbc import waveform
    from pycbc.types import Array

    # We start with the standard TaylorF2 based waveform
    kwds.pop('approximant')
    hp, hc = waveform.get_fd_waveform(approximant="TaylorF2", **kwds)

    # Add the phasing difference from the nonlinear tides
    f = numpy.arange(len(hp)) * hp.delta_f
    pd =  Array(numpy.exp(-1.0j * nltides_fourier_phase_difference(f,
               hp.delta_f,
               kwds['f0'], kwds['amplitude'], kwds['n'],
               kwds['mass1'], kwds['mass2'])),
               dtype=hp.dtype)
    hp *= pd
    hc *= pd
    return hp, hc
def nonlinear_tidal_spa ( ** kwds ) : from pycbc import waveform from pycbc . types import Array kwds . pop ( 'approximant' ) hp , hc = waveform . get_fd_waveform ( approximant = "TaylorF2" , ** kwds ) f = numpy . arange ( len ( hp ) ) * hp . delta_f pd = Array ( numpy . exp ( - 1.0j * nltides_fourier_phase_difference ( f , hp . delta_f , kwds [ 'f0' ] , kwds [ 'amplitude' ] , kwds [ 'n' ] , kwds [ 'mass1' ] , kwds [ 'mass2' ] ) ) , dtype = hp . dtype ) hp *= pd hc *= pd return hp , hc
Generates a frequency-domain waveform that implements the
    TaylorF2+NL tide model described in https://arxiv.org/abs/1808.07013