BlackHolePerturbationToolkit / FastEMRIWaveforms

Blazingly fast EMRI waveforms
GNU General Public License v3.0
49 stars 28 forks source link

FastSchwarzschildEccentricFlux crashes for e = 0 case #45

Closed znasipak closed 2 years ago

znasipak commented 2 years ago

I have not been able to generate a waveform with the eccentricity set to zero. Below is some sample code that crashes the kernel every time I run it in a notebook.

use_gpu = False

# keyword arguments for inspiral generator (RunSchwarzEccFluxInspiral)
inspiral_kwargs={
        "DENSE_STEPPING": 0,  # we want a sparsely sampled trajectory
        "max_init_len": int(1e4),  # all of the trajectories will be well under len = 1000
    }

# keyword arguments for inspiral generator (RomanAmplitude)
amplitude_kwargs = {
    "max_init_len": int(1e4),  # all of the trajectories will be well under len = 1000
    "use_gpu": use_gpu  # GPU is available in this class
}

# keyword arguments for summation generator (InterpolatedModeSum)
sum_kwargs = {
    "use_gpu": use_gpu,  # GPU is availabel for this type of summation
    "pad_output": False,
}

# set omp threads one of two ways
num_threads = 1

# this is the general way to set it for all computations
from few.utils.utility import omp_set_num_threads
omp_set_num_threads(num_threads)

few = FastSchwarzschildEccentricFlux(
    inspiral_kwargs=inspiral_kwargs,
    amplitude_kwargs=amplitude_kwargs,
    sum_kwargs=sum_kwargs,
    use_gpu=use_gpu,
    num_threads=num_threads,  # 2nd way for specific classes
)

M = 1e6
mu = 10
p0 = 10.0
e0 = 0.0
theta = np.pi/2  # polar viewing angle
phi = 0.  # azimuthal viewing angle
dt = 10.0
wave = few(M, mu, p0, e0, theta, phi, dt=dt, T=0.2, dist=2.)

When I run this code as a python script, I get the following error:

gsl: ellint.c:225: ERROR: too many iterations error
Default GSL error handler invoked.
mikekatz04 commented 2 years ago

This issue has now been fixed in #46, version 1.4.4. Please let me know if you still have problems.