Skip to content

Backwards integration silently failing #177

@thompsonphys

Description

@thompsonphys

The current implementation of backwards integration in the trajectory module silently fails to produce a trajectory of the desired length. This occurs for example when the eccentricity reaches the maximum allowable eccentricity provided by the flux grids.

This code snippet shows the issue:

from few.waveform import FastKerrEccentricEquatorialFlux
few_td_generator = FastKerrEccentricEquatorialFlux()

trajectory = few_td_generator.inspiral_generator
min_p = trajectory.func.min_p

mass1 = 1E6
mass2 = 10
spin = 0.5
e0 = 0.4
xI0 = 1

p0 = min_p(e0, xI0, spin)

traj_pars = [mass1, mass2, spin, p0, e0, xI0]

duration = 3
t_1, _, _, _, _, _, _ = trajectory(*traj_pars, T=duration, integrate_backwards=True)
duration = 4
t_2, _, _, _, _, _, _ = trajectory(*traj_pars, T=duration, integrate_backwards=True)

print(t_1[-1], t_2[-1])

Result:
Both trajectories generate with the same length.

Expected behavior:
Either both trajectories generate successfully to the desired length given as input, or a ValueError is raised if input parameters are not allowed (in this case, the total duration is not allowed given the available flux data) as stated in the documentation.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions